我想根据应用程序的上下文使用不同的smtp帐户发送电子邮件。所以我找到了这个答案,但它只适用于更改用户名和密码。动态更改swiftmailer设置
Changing smtp settings in SwiftMailer dynamically
我需要动态改变主机为好。
任何想法将不胜感激。
我想根据应用程序的上下文使用不同的smtp帐户发送电子邮件。所以我找到了这个答案,但它只适用于更改用户名和密码。动态更改swiftmailer设置
Changing smtp settings in SwiftMailer dynamically
我需要动态改变主机为好。
任何想法将不胜感激。
相同的方式,设置用户名和密码,你可以设置主机,端口和加密:
$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();
但我总是得到“致命错误:调用未定义的方法Swift_Transport_Esmtp_AuthHandler :: setHost()”。 –
我不知道你是如何创建或获取运输,但这里是工作示例> http://pastebin.com/fsVEkgZK –
用新设置实例化一个不同的swiftmailer对象。在某些时候,您必须对设置对象进行如此多的更改,以便更轻松地携带对象的多个版本。 –