我正在尝试设置 nullmailer (1.13) 以发送到 AWS SES,但失败了。以下是我的remotes
文件内容:
email-smtp.us-east-1.amazonaws.com smtp --starttls --port=465 --user=AKIA.. --pass=..
这是中的错误/var/log/mail.err
。
Mar 16 01:26:05 server nullmailer[7663]: smtp: Failed:
Mar 16 01:26:05 server nullmailer[29064]: Sending failed: Protocol error
我尝试过有和没有--starttls
。我也尝试过--ssl
正如这个博客所推荐的那样。
答案1
偶然发现了自己的问题并解决了。这里的测试 shell 脚本确实很有帮助,手动运行 nullmail-send 向我展示了这ubuntu@localhost
是发件人地址,但被 SES 拒绝了。
http://www.troubleshooters.com/linux/nullmailer/
除了协议错误之外,我还遇到了配置失败,最终我发现这是权限问题。错误如下:
Dec 10 19:59:46 irc nullmailer[9011]: Could not load the config
因此,需要进行一些更改:
- ubuntu 上的 nullmailer 以
mail
用户身份运行,因此它无法读取/etc/nullmailer/remotes
root 拥有的以及 root 的 mod 600。所以:chown mail:mail /etc/nullmailer/*
。 - 通过在 中添加我的域,修复了
ubuntu@localhost
可能来自 cron/system 邮件的问题/etc/nullmailer/defaulthost
。 remotes
还需要--ssl
它与 SES 中的端口 465 进行通信。