如何使用 Amazon SES 配置 OpenSMTPD?

How to configure OpenSMTPD with Amazon SES?

Amazon 有 postfix 和 sendmail 的说明,但 OpenSMTPD 没有,因此将它们添加到此处。

使用 OpenBSD 5.8 测试

  1. AWS SES console 中验证您的域和发件人。保存您的 SMTP 设置。

  2. 在邮件机密数据库中设置 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
    
  3. 配置 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>
    
  4. 重新启动 OpenSMTPD:

    # rcctl restart smtpd
    
  5. 测试一下:

    # 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)