【发布时间】:2014-03-19 09:56:00
【问题描述】:
# 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 - 仍然是相同的错误消息。
然后我想远程登录到 SMTP 服务器以手动检查我是否可以进行身份验证(不过,我 100% 确定凭据是正确的)。
远程登录 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 进行身份验证?
【问题讨论】:
-
仅供参考,
user是用户名,pass是密码吗?我的意思是,真的是他们吗? -
不,它们是不同的,但显然我不能在这里透露凭据信息 :)
-
如果重要的话,它们是用纯文本(在配置中)编写的
标签: php email symfony ntlm swiftmailer