Sendgrid php批量电子邮件

时间:2020-09-18 10:16:21

标签: php email sendgrid sendgrid-api-v3 personalization

我正在尝试使用sendgrid API发送大量电子邮件。下面是我的PHP脚本,SendGrid文件被正确调用并创建了邮件对象。问题是,当脚本运行时,一次只发送一封电子邮件,并且看起来是随机的。代替example_one @ my_domain.com,example_one @ my_domain.com和example_one@my_domain.com都接收电子邮件,只有一个会收到。在php脚本下面,将$ mail作为json对象

$email = new \SendGrid\Mail\Mail(); 
$email->addTo("example_one@my_domain.com");

$personalization = new Personalization();
$personalization->addTo( new To( "example_two@my_domain.com" ) );
$email->addPersonalization( $personalization );

$personalization = new Personalization();
$personalization->addTo( new To( "example_three@my_domain.com" ) );
$email->addPersonalization( $personalization );

$email->setFrom("send_from@my_domain.com", "Sender");
$email->setSubject("This is the email subject");
$email->addContent("text/plain", "This is the content");
        
$sendgrid = new \SendGrid(API_KEY);
try {
    $response = $sendgrid->send($email);
    print $response->statusCode() . "\n";
    print_r($response->headers());
    print $response->body() . "\n";
} catch (Exception $e) {
    echo 'Caught exception: '. $e->getMessage() ."\n";
}

JSON $ mail对象


{
   "personalizations":[
      {
         "to":[
            {
               "email":"example_one@my_domain.com"
            }
         ]
      },
      {
         "to":[
            {
               "email":"example_two@my_domain.com"
            }
         ]
      },
      {
         "to":[
            {
               "email":"example_three@my_domain.com"
            }
         ]
      }
   ],
   "from":{
      "name":"Sender",
      "email":"send_from@my_domain.com"
   },
   "subject":"This is the email subject",
   "content":[
      {
         "type":"text\/plain",
         "value":"This is the content"
      }
   ]
}


有人知道为什么这不能正常工作吗?

我花了相当多的时间浏览示例,并使$ mail对象(转换为JSON)与sendgrid中的https://sendgrid.com/docs/for-developers/sending-email/personalizations/#sending-multiple-emails-from-multiple-senders-to-multiple-recipients个性化示例相同,但仍然无法正常工作。 / p>

0 个答案:

没有答案