рассылка новостей с помощью swift 4.1.1 - PullRequest
0 голосов
/ 08 августа 2011

Я бы создал скрипт новостной рассылки php со SwiftMail 4.1.1, но я только основал вики для Swift v.3 на http://swiftmailer.org/wikidocs/v3/sending/batch Для Swift 4.1.1 нет вики http://swiftmailer.org/wikidocs/v4/start

Как я могу сделать для Swift v.4?Тот же код для v.3 не работает.

Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 08 августа 2011

Хорошо согласно вашему запросу -

Если вы хотите отправлять электронные письма в пакете

Согласно последней документации на 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 голос
/ 08 августа 2011

Swiftmailer 4 был переписан, класс Swift_RecipientList недоступен в Swiftmailer 4.

См. Документацию для Swiftmailer 4 об отправке сообщений , есть раздел с именем Отправка писем в пакетном режиме , может быть, это то, что вы ищете.

...