我使用sendgrid WebHook,我已在此处启用事件通知 https://app.sendgrid.com/settings/mail_settings
当我单击测试您的配置时,它的工作时间为3-4次,然后下一次重新测试不会将POST发送到我的端点。
并且发送电子邮件不会触发任何已发送/退回/放弃/点击POST事件,即使它已经“开启”&经过
nginx access.log / error.log没有显示与sendgrid相关的任何内容
在我的端点代码中,它返回200个HTTP代码。
function sendgrid_event(){
$data = file_get_contents("php://input");
$events = json_decode($data,true);
$mydata = print_r($_POST,true);
file_put_contents('uploads/default/sendgrids/sendgrid-'.date('Y-m-d h-i-s').'.txt', $events.$mydata.$_SERVER['REQUEST_URI']);
}
任何帮助?
答案 0 :(得分:1)
在API上调用Send后,消息将在SendGrid中排队。我假设他们使用FIFO队列。在SendGrid"发送者"之后将您的消息从队列中拉出来,处理并发送,然后处理过的事件最终应该#34;被触发。同样,这可能不是100%即时的。为了保持代码的稳定,我假设他们的代码是异步编写的,事件也可能排队等待另一个进程从队列和进程中取出(调用你的webhook端点)。所有这些都可能需要一些时间。当他们的流程出现问题/中断时,也可能需要很长时间。