# Swiftmailer Configuration
swiftmailer:
transport: smtp
host: 10.8.100.1
port: 25
username: user
password: pass
auth_mode: ~
encryption: ~
spool: { type: memory }
当我尝试通过$this->get('mailer')->send($message);
发送消息时,我收到以下错误:
Fatal error: Uncaught exception 'Swift_TransportException' with message 'Failed
to authenticate on SMTP server with username "user" using 0 possible authenticators'
in /..path../vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php:184 Stack trace: #0
我尝试将auth_mode
设置更改为所有可能的值plain, login, cram-md5, or null
- 仍然是相同的错误消息。
然后我想telnet到SMTP服务器手动检查我是否可以授权(但是,我100%确定凭据是否正确)。
telnet 10.8.100.1 25
Trying 10.8.100.1...
Connected to 10.8.100.1.
Escape character is '^]'.
220 EXC.acme.local Microsoft ESMTP MAIL Service ready at Wed, 19 Mar 2014 10:34:00 +0100
EHLO EXC.acme.local
250-EXC.acme.local Hello [10.8.100.1]
250-SIZE
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-X-ANONYMOUSTLS
250-AUTH NTLM
250-X-EXPS GSSAPI NTLM
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250-XEXCH50
250 XRDST
我不是邮件服务器专家,但我期待 AUTH LOGIN 那里......似乎服务器(我无法控制)有一个不同的身份验证方法(不支持通过Swiftmailer捆绑?)这可能是导致问题的原因......
我的怀疑是否正确?或者有没有办法配置Swiftmailer包以正确使用AUTH NTLM进行身份验证?
答案 0 :(得分:1)
邮件服务器似乎拒绝你的连接(就像google一样,如果你尝试连接你的gmail帐户,如果你有,并且swiftmailer,你会得到同样的问题)
告诉您,为什么不尝试使用Swift_MailTransport
代替Swift_SmtpTransport
(它使用的mail
基础方法与smtp
<<}有点不同< / p>
答案 1 :(得分:0)
所以..问题不在于symfony2配置。问题是:
这也是telnet EXC.acme.local 25
无效的原因,但telnet 10.8.100.1 25
确实有效。
所以,当我尝试telnet,然后来自我的开发机器的EHLO ......得到250-AUTH NTLM
,但当我通过SSH连接到prod机器(在域/组内)时从那里telnet:
telnet EXC.acme.local 25
确实有效EHLO EXC.acme.local
返回AUTH LOGIN 一旦我发现了,我只是将我的更改上传到prod机器并开始从那里测试配置(使用swiftmailer.transport: smtp
)并且它有效!