如何使用 Amazon SES 配置 OpenSMTPD?
How to configure OpenSMTPD with Amazon SES?
Amazon 有 postfix 和 sendmail 的说明,但 OpenSMTPD 没有,因此将它们添加到此处。
使用 OpenBSD 5.8 测试
在 AWS SES console 中验证您的域和发件人。保存您的 SMTP 设置。
在邮件机密数据库中设置 SMTP 身份验证详细信息(将 $smtpUsername:$smtpPassword
替换为步骤 1 中的值)
# touch /etc/mail/secrets
# chmod 640 /etc/mail/secrets
# chown root:_smtpd /etc/mail/secrets
# echo "ses $smtpUsername:$smtpPassword" >> /etc/mail/secrets
# makemap /etc/mail/secrets
配置 OpenSMTPD:
# nano /etc/mail/smtpd.conf
listen on lo0
table aliases db:/etc/mail/aliases.db
table secrets db:/etc/mail/secrets.db
accept for local alias <aliases> deliver to mbox
accept from local for any relay via tls+auth://ses@email-smtp.us-east-1.amazonaws.com auth <secrets>
重新启动 OpenSMTPD:
# rcctl restart smtpd
测试一下:
# sendmail -v -f verified-sender@verified-domain.com to@example.com
Subject: test subject
test body
^D
错误?
注意 smtpd.conf
中的换行符
# smtpd -n
检查 smtpd.conf
中的语法错误
如果您的机器阻塞了端口 25,请尝试端口 587(在 smtpd.conf
中的 aws url 末尾添加 :587)
Amazon 有 postfix 和 sendmail 的说明,但 OpenSMTPD 没有,因此将它们添加到此处。
使用 OpenBSD 5.8 测试
在 AWS SES console 中验证您的域和发件人。保存您的 SMTP 设置。
在邮件机密数据库中设置 SMTP 身份验证详细信息(将
$smtpUsername:$smtpPassword
替换为步骤 1 中的值)# touch /etc/mail/secrets # chmod 640 /etc/mail/secrets # chown root:_smtpd /etc/mail/secrets # echo "ses $smtpUsername:$smtpPassword" >> /etc/mail/secrets # makemap /etc/mail/secrets
配置 OpenSMTPD:
# nano /etc/mail/smtpd.conf listen on lo0 table aliases db:/etc/mail/aliases.db table secrets db:/etc/mail/secrets.db accept for local alias <aliases> deliver to mbox accept from local for any relay via tls+auth://ses@email-smtp.us-east-1.amazonaws.com auth <secrets>
重新启动 OpenSMTPD:
# rcctl restart smtpd
测试一下:
# sendmail -v -f verified-sender@verified-domain.com to@example.com Subject: test subject test body ^D
错误?
注意 smtpd.conf
# smtpd -n
检查 smtpd.conf
如果您的机器阻塞了端口 25,请尝试端口 587(在 smtpd.conf
中的 aws url 末尾添加 :587)