gpt4 book ai didi

symfony - 动态更改 SwiftMailer 中的 smtp 设置

转载 作者:行者123 更新时间:2023-12-04 06:06:43 25 4
gpt4 key购买 nike

我在 Symfony 2 中使用 SwiftMailer 包。我在 config.yml 文件中传递了我的 smtp 用户/密码设置,效果很好,但是当我发送邮件时,我需要从数据库中获取此设置。
我可以访问这个参数:

$mailer = $this->getContainer()->get('mailer')->getTransport();

但是可以在运行时更改它们吗?我没有看到任何 setter 方法。
非常感谢!

最佳答案

非常感谢,但这不是我正在寻找的解决方案,根据内核请求,我不知道我将使用哪个帐户。我需要更改发送邮件循环中的设置。
我找到了很酷的解决方案:

foreach ($locations as $location) {
// get settings for account
$user = $location->getSmtpUser();
$pass = $location->getSmtpPass();

// switch to new settings
$transport = $this->getContainer()->get('mailer')->getTransport();
$ext = $transport->getExtensionHandlers();
$auth_handler = $ext[0];
$auth_handler->setUserName($user);
$auth_handler->setPassword($pass);

// send message using new settings
$message = \Swift_Message::newInstance()
->setSubject( $subject )
->setFrom( $from )
->setTo( $email )
->setBody( $body )
->setContentType('text/html');

$this->getContainer()->get('mailer')->send( $message );
}

关于symfony - 动态更改 SwiftMailer 中的 smtp 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10723129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com