有没有一种正确的方法可以在 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 中使用分页类的正确方法

有没有一种干净的方法来使用 symfony 2.6 设置 websocket

Symfony2 在 YAML 配置中使用 PHP 类常量?

Symfony 4 / doctrine插入初始数据库数据

使用 Monolog 在 Symfony2 中记录 PHP 致命错误