Codeigniter + Mailgun +收件人变量

时间:2017-06-10 18:49:23

标签: email smtp codeigniter-3 mailgun

我想使用Codeigniter,Mailgun和SMTP向许多收件人发送电子邮件。

我的设置是

         $config['mailtype'] = 'html';
      $config['charset'] = 'utf-8';

      $config['protocol'] = 'smtp';
      $config['smtp_host'] = 'ssl://smtp.mailgun.org';
      $config['smtp_port'] = 465;
      $config['smtp_user'] = '[your Mailgun SMTP username]';
      $config['smtp_pass'] = '[your Mailgun SMTP password]';
      $config['smtp_timeout'] = '4';
      $config['crlf'] = '\n';
      $config['newline'] = '\r\n';

$arr = array(
 'firstEmail@email.com' => array(
      'id' => '3123213',
      ),
  'secondEmail@email.com' => array(
      'id' => '423423423',
   )   
);

$this->email->set_header('X-Mailgun-Recipient-Variables',json_encode($arr));
$this->email->from('myEmail@email.com');
$this->email->to('firstEmail@email.com,secondEmail@email.com');
$this->email->subject("Subject");
$message = 'Message';
$this->email->message($message);
$this->email->send();

以上是我的设置。发送电子邮件但每个收件人都可以看到其他收件人 - 我想因为我错误地设置了X-Mailgun-Recipient-Variables。

说明在这里https://documentation.mailgun.com/user_manual.html#batch-sending,但我真的不知道我做错了什么。

我会对任何帮助感到满意

1 个答案:

答案 0 :(得分:0)

您正在发送setText(String)个多个收件人,所以他们会互相见到。

您需要做的是使用您的电子邮件创建一个数组,然后执行foreach循环并一次只向一个EditText.text收件人发送电子邮件。

试试这个:

editable

我忘了清楚()。 (Email in loop sends the same file using Email class in Codeigniter)这是重置变量所必需的。