我目前在mySQL中有一个带有Postfix和Dovecot的工作邮件服务器和虚拟邮箱。但是,我将Sendgrid设置为relayhost时遇到问题。
如上所述,身份验证完成如下:
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
我也使用TLS并且证书指向正确。
现在,当我按照Sendgrid的指南进行操作时:
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:yourSendGridUsername:yourSendGridPassword
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587
(用户名和密码已更改),我不太确定身份验证是如何完成的。它只是不起作用,因为我收到来自Sendgrid的错误消息:
“550无法从指定地址接收: 不允许未经身份验证的发件人(回复MAIL FROM 命令)“
如果删除Dovecot部分,显然无法首先发送电子邮件,因为不允许连接到邮件服务器。
有什么想法吗?
答案 0 :(得分:2)
端口587在发送电子邮件时使用unencrypted or TLS encryption。检查此行是否在main.cf
文件中:
START_TLS =是
此外,尝试使用端口2525作为替代方案,因为您的ISP可能会阻止端口587。要检查端口是否被阻止,请尝试执行telnet test。
答案 1 :(得分:1)
Unauthenticated senders not allowed
明确表示您没有尝试进行身份验证;由于错误显示为in reply to MAIL FROM command
,这意味着在您EHLO
之后,您应该发送AUTH LOGIN
,但您需要直接转到MAIL FROM
。
我看到你有来自SendGrid文档的配置,所以你确定在更新这些设置后重新启动PostFix吗?