有没有一种正确的方法可以在 symfony 中使用 SwiftMailer 包将 NTLM 身份验证类型添加到 SwiftMailer 中?
Posted
技术标签:
【中文标题】有没有一种正确的方法可以在 symfony 中使用 SwiftMailer 包将 NTLM 身份验证类型添加到 SwiftMailer 中?【英文标题】:Is there a proper way to add NTLM auth type into SwiftMailer using SwiftMailer bundle in symfony? 【发布时间】:2016-07-24 22:09:01 【问题描述】:我有带有 swiftMailer 包的 symfony 项目。我试图使用 NTLM auth 通过 swiftmailer 发送电子邮件。但是我还没有找到通过配置包打开 NTLM 的方法。
经过努力,我找到了解决方案
第一个解决方案
current($this->get('mailer')->getTransport()->getExtensionHandlers())
->setAuthenticators([new \Swift_Transport_Esmtp_Auth_NTLMAuthenticator()]);
config.yml 中的注释假脱机
# spool: type: memory
但它看起来有点奇怪。
第二种解决方案
移除 SwiftMailer 捆绑包,直接使用 swiftMailer,因为 ntlm auth 类型默认激活。
有没有更好的方法来使用 NTLM 身份验证类型?
【问题讨论】:
您当前的解决方案/黑客需要 1 行代码...只要 swift 邮件程序包不支持 NTLM,我怀疑您能找到更好的解决方案... @Kadriles,我的意思是通过事件或/和配置。带工作线轴。 symfony.com/doc/current/reference/configuration/swiftmailer.html#auth-mode - 有效值为plain、login、cram-md5 或null。计算机暂时直接从配置中说不。我确实在 vendor/swiftmailer/swiftmailer/lib/preferences.php 中找到了。你能在这个文件中声明吗?我知道它在供应商文件中,可能会在更新时被覆盖,但如果你想要更简洁的代码,值得一试,然后留下备注 根据这个问题***.com/questions/22502058/…你可以使用smtp传输和默认的auth_mode。 【参考方案1】:我创建了pull request,并获得了批准。
v3.0.4
版本以后可以使用
auth_mode: ntlm
你可以使用命令安装v3.0.4
版本
composer require symfony/swiftmailer-bundle:^3.0.4
【讨论】:
超级。 . . . . .以上是关于有没有一种正确的方法可以在 symfony 中使用 SwiftMailer 包将 NTLM 身份验证类型添加到 SwiftMailer 中?的主要内容,如果未能解决你的问题,请参考以下文章
有没有一种简单的方法可以在 Symfony 2 中替换引用者中的 url 参数?
有没有一种干净的方法来使用 symfony 2.6 设置 websocket