0 レビュー
0 回答
PHPを使用してAzureでsendgridを使用してメールを送信すると、ステータスコード0が返されます
私のPHPアプリケーションはAzureでホストされており、SendGridPHPクライアントを使用してアプリケーションユーザーにメールを送信しています。昨日の夕方まではすべて正常に機能していましたが、その後突然メールが機能しなくなりました。さらにデバッグすると、次のコードが見つかりました
$response = $sg->client->mail()->send()->post($mail);
echo $response->statusCode();
はstatusCodeをゼロとして返しています。私が理解したように、0はサーバーから返されません。クロスチェックするために、ローカルのXAMPP PHPサーバーを介してテストメールを送信しましたが、うまく機能しました。したがって、Azureはsendgridサーバーに到達できないと思います。
同じコードが昨日の夕方まで機能しており、問題を引き起こすためにコードの変更も設定の変更も行われていなかったことに注意してください。
問題を再現するために、簡単な手順を作成しました
public function test_sendgrid_email(){
$api_key = '***************************'; //Hidden for security reasons
$request_body = [
'personalizations' => [
[
'to' => [
[
'email' => '[email protected]',
'name' => 'Test'
]
],
'subject' => "Sending with SendGrid is Fun"
]
],
'from' => [
'email' => '[email protected]',
'name' => 'Example'
],
'content' => [
[
'type' => 'text/html',
'value' => "and easy to do anywhere, even with PHP"
]
]
];
$request_body_formatted = json_decode(json_encode(($request_body)));
$sg = new \SendGrid($api_key);
try{
$response = $sg->client->mail()->send()->post($request_body_formatted);
return ['status' => 'success', 'message' => 'status code : ' . $response->statusCode()];
} catch (Exception $ex) {
return ['status' => 'failure', 'message' => 'Failure'];
}
}
出力:{"status": "success"、 "message": "status code:0"}
Azureの設定を機能させるために変更する必要があるものはありますか?この問題を強制したAzure環境への最近の更新はありますか?
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。