【发布时间】:2020-04-05 11:55:17
【问题描述】:
我正在尝试使用 Xampp 服务器从本地主机发送邮件。我根据下面的 php.ini 文件更改了 php.ini 和 sendmail.ini 文件
php.ini
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = myGmailId@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
sendmail.ini
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=myGmailId@gmail.com
auth_password=my-Gmail-Password
force_sender=myGmailId@gmail.com(optional)
mail.php
function db_forgot_password($args){
$to = $args['email'];
$query = "SELECT id FROM tbl_contact WHERE contact = '$to'";
$result = db_execute($query);
$contact_id = $result['0']['id'];
$query = "SELECT user FROM tbl_user_contact WHERE contact = '$contact_id'";
$result = db_execute($query);
$user_id = $result['0']['user'];
if(isset($user_id)){
$password = 'test123';
$subject = "Your Recovered Password";
$query = "SELECT id FROM tbl_login WHERE user = '$user_id'";
$result = db_execute($query);
$login_id = $result['0']['id'];
$query = "UPDATE tbl_login_para SET val = sha1('$password') where para = 1 AND login = '$login_id'";
$result = db_execute($query);
$message = "Please use this password to login " . $password;
if (mail($to,$subject,$message,"From : my@gmail.com")) {
echo "Email successfully sent to $to_email...";
} else {
echo "Email sending failed...";
}
succ_return($args);
}else{
warn(__FILE__, __FUNCTION__, __LINE__, 'email doesn\'t exist');
fail_return(ERR_UNAVAILABLE_USERS);
}
}
当我执行这个 API 时,它给了我
<b>Warning</b>: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing
我应该如何解决这个问题? 提前致谢
【问题讨论】:
-
在php.ini中修改后重启服务了吗?
-
@HP371 谢谢提醒,我忘了id。我现在重新启动服务并再次运行它。它给了我“电子邮件发送失败”的声明
-
$mail->ErrorInfo 打印错误信息你应该得到一些线索。
-
您是否添加了有效的电子邮件地址
-
太棒了。现在可以用了吗?