使用Dovecot进行Postfix身份验证并集成Sendgrid

时间:2015-03-19 10:32:09

标签: authentication postfix-mta sendgrid sasl dovecot

我目前在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部分,显然无法首先发送电子邮件,因为不允许连接到邮件服务器。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

端口587在发送电子邮件时使用unencrypted or TLS encryption。检查此行是否在main.cf文件中:

  

START_TLS =是

此外,尝试使用端口2525作为替代方案,因为您的ISP可能会阻止端口587。要检查端口是否被阻止,请尝试执行telnet test

答案 1 :(得分:1)

来自SendGrid的

Unauthenticated senders not allowed明确表示您没有尝试进行身份验证;由于错误显示为in reply to MAIL FROM command,这意味着在您EHLO之后,您应该发送AUTH LOGIN,但您需要直接转到MAIL FROM

我看到你有来自SendGrid文档的配置,所以你确定在更新这些设置后重新启动PostFix吗?