【问题标题】:Change swiftmailer settings dynamically动态更改 swiftmailer 设置
【发布时间】:2013-11-14 14:55:16
【问题描述】:

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

Changing smtp settings in SwiftMailer dynamically

我还需要动态更改主机。

任何想法都会受到赞赏。

【问题讨论】:

  • 只需使用新设置实例化一个不同的 swiftmailer 对象。在某些时候,您必须对对象的设置进行如此多的更改,以使携带对象的多个版本更容易。

标签: php email symfony swiftmailer


【解决方案1】:

和设置用户名和密码一样,可以设置主机、端口和加密:

$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()”。
  • 我不知道您是如何创建或获取传输的,但这里是工作示例 > pastebin.com/fsVEkgZK
猜你喜欢
  • 1970-01-01
  • 2018-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-28
相关资源
最近更新 更多