动态更改swiftmailer设置

时间:2013-11-14 14:55:17

标签: php email symfony swiftmailer

我想根据应用程序的上下文使用不同的smtp帐户发送电子邮件。所以我找到了这个答案,但它只适用于更改用户名和密码。

Changing smtp settings in SwiftMailer dynamically

我也需要动态更改主机。

任何想法都将受到赞赏。

1 个答案:

答案 0 :(得分:6)

与设置用户名和密码的方式相同,您可以设置主机,端口和加密:

$transport = $fromYourMailerVariable->getTransport();
$transport
    ->setUserName(...)
    ->setPassword(...)
    ->setHost(...)
    ->setPort(...)
    ->setEncryption(...);

或者只是创建不同的邮件程序(使用不同的传输):

$transport1 = Swift_SmtpTransport::newInstance('localhost');

$transport2 = Swift_SmtpTransport::newInstance('smtp.domain.com', 666)
                ->setUsername('user')
                ->setPassword('pass');

$transport3 = Swift_SendmailTransport::newInstance('/usr/sbin/exim -bs');

$transport4 = Swift_MailTransport::newInstance();