使用swift 4.1.1发送简报

时间:2011-08-08 10:34:55

标签: php swiftmailer newsletter

我会用SwiftMail 4.1.1创建一个php新闻稿脚本,但我只在http://swiftmailer.org/wikidocs/v3/sending/batch创建了Swift v.3的wiki 对于Swift 4.1.1,没有wiki http://swiftmailer.org/wikidocs/v4/start

如何使用Swift v.4? v.3的相同代码无效。

非常感谢。

2 个答案:

答案 0 :(得分:2)

根据您的要求确定 -

如果您想批量发送电子邮件

根据最新文档 http://swiftmailer.org/docs/sending.html

批量发送电子邮件¶

如果您要向每个收件人发送单独的邮件,以便只有他们自己的地址显示在收件人:字段中,请按照以下方法:

require_once 'lib/swift_required.php';

//Create the Transport
$transport = Swift_SmtpTransport::newInstance('localhost', 25);

//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);

//Create a message
$message = Swift_Message::newInstance('Wonderful Subject')
  ->setFrom(array('john@doe.com' => 'John Doe'))
  ->setBody('Here is the message itself')
  ;

//Send the message
$failedRecipients = array();
$numSent = 0;
$to = array('receiver@domain.org', 'other@domain.org' => 'A name');

foreach ($to as $address => $name)
{
  $message->setTo(array($address => $name));
  $numSent += $this->send($message, $failedRecipients);
}

printf("Sent %d messages\n", $numSent);

使用batchSend() - 我不确定您的所需版本是否可用?

$mailer_instance = Swift_Mailer::newInstance($mail_transport_instance);
$message_instance = Swift_Message::newInstance()
      ->setSubject($subject)
      //Set the From address with an associative array
      ->setFrom($mail_from)
      //Set the To addresses with an associative array
      ->setTo($mail_to);
      //some other options as required

$num_sent = $mailer_instance->batchSend($message_instance);

我希望它有所帮助。

答案 1 :(得分:1)

Swiftmailer 4已被重写,类Swift_RecipientList在Swiftmailer 4中不可用。

请参阅Swiftmailer 4 about Sending Messages的文档,其中有一个名为批量发送电子邮件的部分,也许这就是您要查找的内容。