我正在尝试设置我的树莓派的 ssmtp 以使用我的 Gmail 帐户。我按照我发现的建议进行操作,一切看起来都不错,但邮件没有收到。
ssmtp.conf:
root=<my_mail>@gmail.com
mailhub=smtp.gmail.com:587
hostname=<my_account>.ydns.eu
FromLineOverride=YES
AuthUser=<my_mail>@gmail.com
AuthPass=16charpassfromGoogle
UseSTARTTLS=Yes
UseTLS=YES
重新定义:
root:<my_mail>@gmail.com:smtp.gmail.com:587
pi:<my_mail>@gmail.com:smtp.gmail.com:587
实际命令:
pi@raspberrypi:~ $ echo -e "to: <my_mail>@gmail.com\nsubject: [RASPBERRY]\n\nTest 1...2...3" | ssmtp -vvv <my_mail>@gmail.com
[<-] 220 smtp.gmail.com ESMTP z14-20020ac25dee000000b004f4ce9c9338sm415135lfq.283 - gsmtp
[->] EHLO <my_account>.ydns.eu
[<-] 250 SMTPUTF8
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
[->] EHLO <my_account>.ydns.eu
[<-]
ssmtp: (<my_account>.ydns.eu)
我在这里或任何日志(/var/log/mail.*)中都没有看到错误。但是,没有收到电子邮件。我也检查了 Gmail 的垃圾邮件文件夹。
我尝试使用 strace 运行 ssmtp。最后看起来像这样:
write(2, "ssmtp: (<my_account>.ydns.eu)\n", 27ssmtp: (<my_account>.ydns.eu)
) = 27
gettimeofday({tv_sec=1687337054, tv_usec=642704}, NULL) = 0
getpid() = 7587
socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 4
connect(4, {sa_family=AF_UNIX, sun_path="/dev/log"}, 110) = 0
send(4, "<19>Jun 21 11:44:14 sSMTP[7587]:"..., 52, MSG_NOSIGNAL) = 52
close(4) = 0
getuid32() = 1000
openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) = 4
_llseek(4, 0, [0], SEEK_CUR) = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=2307, ...}) = 0
read(4, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2307
close(4) = 0
ioctl(0, TCGETS, 0xbef3b238) = -1 ENOTTY (Inappropriate ioctl for device)
openat(AT_FDCWD, "/home/pi/dead.letter", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4
_llseek(4, 0, [657], SEEK_END) = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=657, ...}) = 0
write(4, "\n\n", 2) = 2
close(4) = 0
exit_group(1) = ?
+++ exited with 1 +++
它试图对 /etc/passwd 做什么?我应该从“设备的 ioctl 不合适”消息中得到什么?
我想念什么?