我正在尝试用Mailgun(或可能是服务器)诊断问题,这是一场绝对的噩梦。
基本上有些电子邮件从未发送过,但有些电子邮件通过确定。我可以通过Mailgun的日志看到一些电子邮件定期发送(订单通知,联系表单提交等),但某些电子邮件(特别是密码重置)电子邮件永远不会被发送。
Apache或PHP日志中没有任何内容,Mailgun的日志中没有任何内容(我可以看到)。更奇怪的是,当我尝试从本地开发安装发送时,电子邮件发送OK。
我花了整个下午试图跟踪执行过程,我可以看到这一行执行得很好:https://github.com/mailgun/mailgun-php/blob/v2.3.0/src/Mailgun/Connection/RestClient.php#L107
生成的请求看起来像这样(必须对json进行编码才能记录它):
"\u0000GuzzleHttp\\Psr7\\Request\u0000method":"POST",
"\u0000GuzzleHttp\\Psr7\\Request\u0000requestTarget":null,
"\u0000GuzzleHttp\\Psr7\\Request\u0000uri":{},
"\u0000GuzzleHttp\\Psr7\\Request\u0000headers":
{
"Host":["api.mailgun.net"],
"User-Agent":["mailgun-sdk-php\/1.7"],
"Authorization":["Basic *****"],
"Content-Type":["multipart\/form-data; boundary=\"5aff012a5f8bc7.02308610\""]
},
"\u0000GuzzleHttp\\Psr7\\Request\u0000headerNames":{
"user-agent":"User-Agent",
"authorization":"Authorization",
"content-type":"Content-Type",
"host":"Host"
},
"\u0000GuzzleHttp\\Psr7\\Request\u0000protocol":"1.1",
"\u0000GuzzleHttp\\Psr7\\Request\u0000stream":{}
执行似乎只是退出:https://github.com/mailgun/mailgun-php/blob/v2.3.0/src/Mailgun/Connection/RestClient.php#L108
我试图进一步追踪它,但开始觉得我要走下一个兔子洞!
有没有人有类似的问题?你知道一个解决方案,或者至少是一个更容易调试问题的方法吗?