这不是重复的,我知道其他问题并且它对我没有帮助。
这是我的 ssmtp.conf:
[email protected]
rewriteDomain=mydomain.com
hostname=myHostnameHere
FromLineOverride=YES
[email protected]
AuthPass=myPasswordHere
AuthMethod=LOGIN
FromLineOverride=YES
mailhub=mail.mymailhost.com:465
UseSTARTTLS=YES
UseTLS=YES
TLS_CA_Dir=/usr/share/ca-certificates/mozilla/
我也尝试通过 telnet 连接到服务器,并且成功了,所以端口和主机是正确的(这里已被删除)。
问题是:
sSMTP[{PID}]: STARTTLS not working
sSMTP[{PID}]: Cannot open mail.mymailhost.com:465
执行的命令:echo "This is a test" | mail -s "Test" [email protected]
回复:mail: cannot send message: Process exited with a non-zero status
操作系统:debian
答案1
任何一个
- 禁用
TLS
和/或StartTLS
在您的ssmtp
配置中
或者
- 修复
TLS
和 / 或StartTLS
开启mail.mymailhost.com
。
答案2
使用您要用来发送邮件的 Gmail 账户登录,然后打开“允许安全性较低的应用程序”。以下是链接https://myaccount.google.com/lesssecureapps?pli=1
在我的 /etc/ssmtp/ssmtp.conf 文件中,我有以下内容。注意到 UseTLSCert=YES 和 UseTLS=YES 被注释掉了吗?我摆弄了好久,直到它开始工作。我不知道它为什么会这样工作,但无论如何这就是我所做的。
[电子邮件保护] mailhub=smtp.gmail.com:587 主机名=localhost [电子邮件保护] 验证密码=xxx FromLineOverride=YES RewriteDomain=gmail.com #使用TLS=YES #使用TLSCert=是 使用STARTTLS=YES TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
- 然后我使用这个页面来了解如何使用 ssmtp https://tecadmin.net/send-email-smtp-server-linux-command-line-ssmtp/