嗨,我过去曾使用 sendgrid 发送电子邮件,目前正在将其用作应用程序的重置密码。我也想将它用于另一个应用程序。我的 AWS 有第二个应用程序的新实例。我已经从我的第一个实例和 php.ini 复制了 sendmail.ini,并且我使用基本相同的代码在我的 php 文件中发送电子邮件。第一个有效,第二个无效。下面的代码:
$subject = "Don't be stuck for a password!" ;
$Emessage = wordwrap("<html><body>Please click the link below to reset your password. <br><br> <a href=http://xxx.xxx.xx/resetPassword.php?AuthCode=".$Token."&email=".$email."&userid=".$userid." />Reset Password</a><br><br> Thanks, <br></body></html>", 70, "\r\n");
$from= "xxx@xxx.com";
$from_name="xxx Ltd.";
$headers = "Date: ". date("r") ."\r\n". "From: $from_name <$from>\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//echo $message;
$mailSent= mail($email, $subject, $Emessage, $headers);
if (!$mailSent){
//$reset= error_get_last();
$reset='Not OK';
}
请注意,mailSent 正在返回 true。应该是配置问题。此外,我在两个实例上运行相同版本的 xampp。
我的 sendmail.ini 如下:
[sendmail]
smtp_server=smtp.sendgrid.net
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=xxx
auth_password=yyy
force_sender=xxx@xxx.com
我的 php.ini 在 [mail 函数] 中有以下内容:
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" - t"