发送带有单个附件的批处理电子邮件/嵌入Swiftmailer

时间:2018-10-01 00:00:00

标签: php swiftmailer mass-emails

我具有以下发送批处理电子邮件的功能

public function sendAttendeeEmails(Swift_Plugins_DecoratorPlugin $decorator, int $per_emails = 5, int $pause = 5) : int
  {
      $this->mailer->registerPlugin($decorator)
      //   ->registerPlugin(new \Swift_Plugins_AntiFloodPlugin($pre_emails, $pause))
      //   ->registerPlugin(new \Swift_Plugins_ThrottlerPlugin(
      //     $per_emails, \Swift_Plugins_ThrottlerPlugin::MESSAGES_PER_MINUTE
      //   ))
      ;

      array_walk($this->getAttendees(), [ $this, 'sendEmail' ]);



      return empty($this->failed)? $this->sent : -1;
  }

在我的“ sendEmail”功能中

protected function sendEmail($recipient, $email) {
    $message = new Swift_Message();
    $
    $message->attach(
      Swift_Attachment::fromPath(
        ASSETS_FOLDER . "/{$recipient['code']}.pdf",
        'application/pdf'
        )->setFilename("{$recipient['code']}-attachment.pdf")
    );
    $this->message->setTo([ $email =>  $recipient['name']]);
    $this->sent = $this->mailer->send($this->message, $this->failed);

  }

基于文档

  

从提供的运输之一创建运输-   Swift_SmtpTransport,Swift_SendmailTransport或其中之一   运输。使用以下命令创建Swift_Mailer类的实例   作为其构造函数参数进行传输。创建一条消息。重复   通过收件人,并通过send()方法发送消息   邮件对象。

但是,在执行功能时,似乎将附件和电子邮件地址添加到后续电子邮件中

我的理解是消息和电子邮件地址将唯一发送

我需要给每个人发送一个特定的附件,而又彼此不知道

0 个答案:

没有答案