PHP xammp sendmail错误:邮件缺少发件人地址[重复]
Posted
技术标签:
【中文标题】PHP xammp sendmail错误:邮件缺少发件人地址[重复]【英文标题】:PHP xammp sendmail error: Message is missing sender's address [duplicate] 【发布时间】:2021-06-05 21:22:23 【问题描述】:我已经在我的家用电脑上运行的本地 xammp 服务器上设置了 Sendmail 客户端,但我收到以下错误:xx-xx-xx xx:xx:xx: Message is missing sender's address
。当我使用我想要发送的硬代码时,我已经让它工作了,就像这样:
$msg = "hello world";
mail("example@gmail.com","My subject",$msg, 'From: admin@myEmailClient.com');
但是当我尝试实现我的登录验证脚本时它不起作用,并且出现上述错误。
emailvalidation.php
$to = $email;
$sub = 'email verification';
$msg = "<a href='http://localhost/verify.php?vkey=$vkey'>account verification </a>";
$headers = "From: admin@myEmailClient.com \r\n";
$headers = "MIME-Version: 1.0". '\r\n';
$headers = "Content-type:text/html;charset=UTF-8 ". '\r\n';
mail($to, $sub, $msg, $headers);
如果有帮助,我的 email
变量由用户设置,我认为解析的项目没有问题,因为当我检查数据库时,所有行都已正确填写。
感谢您的宝贵时间
编辑
我认为这是 r\n 部分的问题,这些是在电子邮件中启用 HTML 的部分。当我摆脱它们时它会起作用
【问题讨论】:
$email
显然不包含您认为的值。你需要弄清楚为什么。
我已经考虑过了,但是当我硬编码我的电子邮件时,我仍然收到错误。
'\r\n'
应该用双引号而不是单引号括起来
【参考方案1】:
由于我能够解决问题的速度,我不确定是否应该删除此问题,但我希望这对遇到与我相同问题的人有所帮助。
这是我解决问题的方法
$message = "<a href='http://localhost/verify.php?vkey=$vkey'>account verification </a>";
$to = $email;
$subject = 'account validation';
$from = 'admin@myEmailClient.com';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '.$from."\r\n".
'Reply-To: '.$from."\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($to, $subject, $message, $headers))
echo 'Your mail has been sent successfully.';
else
header("location: index.PHP");
我从here 得到了解决方案。教程***
【讨论】:
以上是关于PHP xammp sendmail错误:邮件缺少发件人地址[重复]的主要内容,如果未能解决你的问题,请参考以下文章
SendMail 错误:无法使用 gmail 帐户发送电子邮件? XAMPP