8

送信グリッドを使用してグループ メッセージを送信したい。私のグループには 100 人のメンバーがいます。グループ メッセージを送信すると、50 から 80 のメッセージが配信され、空白のページが次のように表示されます。

NetworkError: 500 Internal Server Error

私のコードは、

set_time_limit (0);
$usernames = 'username'; // Must be changed to your username
$passwords = 'password';  // Must be changed to your password
// Create new swift connection and authenticate
$transport = Swift_SmtpTransport::newInstance('smtp.sendgrid.net', 25);
$transport ->setUsername($usernames);
$transport ->setPassword($passwords);
$swift = Swift_Mailer::newInstance($transport);
// Create a message (subject)
$message = new Swift_Message($subject);
// add SMTPAPI header to the message
$headers = $message->getHeaders();
$headers->addTextHeader('X-SMTPAPI', $hdr->asJSON());
// attach the body of the email
$message->setFrom($from);
$message->setBody($html, 'text/html');
$message->setTo($to);
$message->addPart($text, 'text/plain');
if ($recipients = $swift->send($message,$failures)){
    $message= 'Message sent';
}else{
    $message= "Something went wrong -  message not sent, please try later";
}

asJSON:

{
  "to": [
    ""
  ],
  "sub": {
    "-name-": [
      "anu"
    ],
    "-time-": [
      "12 PM"
    ]
  },
  "category": "initial",
  "filters": {
    "footer": {
      "settings": {
        "enable": 1,
        "text\/plain": "Thank you "
      }
    }
  }
}
4

2 に答える 2

1

queeing solution を検討することをお勧めします。そのためには、github のslm/queueを確認してください。長いリストの場合、サーバーが最大実行時間を超える可能性があります。キュー サービスを使用すると解決し、すべてのメッセージが順番に配信されます。

于 2014-10-16T08:30:46.963 に答える
0

toパラメータが問題のようです:

"to": [
    ""
]

出力に電子メールを追加していることを確認してください。

"to": [
    "some@email.com"
]

この回答については、上記の @Swift の功績によるものです。

于 2014-03-27T05:40:04.537 に答える