Php电子邮件不工作错误
我使用的是XAMPP1.7.4(PHP5.3.5),当我将电子邮件发送到我的电子邮件地址时,它会正常工作。甚至我也以邮件服务器为例,它不工作。下面是代码Php电子邮件不工作错误,php,apache,email,xampp,Php,Apache,Email,Xampp,我使用的是XAMPP1.7.4(PHP5.3.5),当我将电子邮件发送到我的电子邮件地址时,它会正常工作。甚至我也以邮件服务器为例,它不工作。下面是代码 <?php ini_set("SMTP","mail.sweetinteractive.com"); $suc = mail("uzair@sweetinteractive.com","Learning PHP","Message is not working ","From: uzair@sweetinteractive
<?php
ini_set("SMTP","mail.sweetinteractive.com");
$suc = mail("uzair@sweetinteractive.com","Learning PHP","Message is not working ","From: uzair@sweetinteractive.com");
if($suc){
echo "Mail sent";
} else {
echo "Mail sending Failed.";
}
?>
您的系统必须发送所谓的完全限定域名,请参阅
这很可能是邮件服务器中的反垃圾邮件保护设置-它阻止“正常”客户端计算机直接发送邮件,这是恶意软件经常使用的策略。确保php.ini中的SMTP正确,并将其应用于邮件服务器 您似乎缺少“发件人:”标题上的结束引号。您有两个选择: 将系统的主机名更改为FQDN(此操作有点极端,甚至可能无法在您的设置中使用,这取决于许多因素),或者使用或类似的方法指定HELO/EHLO中使用的名称。请在xampp文件夹中配置php.ini和sendmail.ini文件。 首先:需要更改php.ini中的字段(rootdrive:\xampp\php\php.ini)
(注意:分号“;”表示ini文件中的注释) 第二步:更改sendmail.ini文件(根目录:\xampp\sendmail\sendmail.ini)
注意:从下面的字段中删除分号(;) 并在sendmail.ini文件中进行更改
smtp_server=mail.sweetinteractive.com
; smtp port (normally 25)
smtp_port=25
auth_username=uzair@sweetinteractive.com
auth_password=give your password here without any quotes
我相信这会有用的。因为您在上一篇文章中没有提供任何身份验证参数
注意:更改php.ini和sendmail.ini文件后,从Xampp控制面板停止apache服务,然后再次运行。
还有你的php代码
我改为[邮件功能];仅适用于Win32;http://php.net/smtp SMTP=mail.sweetinteractive.com;http://php.net/smtp-port smtp_端口=25;仅适用于Win32;http://php.net/sendmail-from ;sendmail_from=uzair@sweetinteractive.com
结果不是“正常”吗?它只会防止配置错误或写得不好的SMTP客户端发送邮件。这很好,但不是这里的问题(可能只是复制/粘贴不好),因为这可能会产生E_PARSE
,即使没有,在从SMTP服务器接收HELO的阶段未发送邮件头…如果发件人:地址格式错误或丢失,也可能导致SMTP邮件发件人标头格式错误;但是你可能是对的,我对PHP一点也不熟悉。诚然,缺少字符串close不会导致成功的电子邮件,但是HELO
/EHLO
是第一个SMTP命令,这是被拒绝的。在出现此错误时,我们还没有收到来自的邮件。代码确实有效。我被代码弄得乱七八糟,从来没想过要修改配置文件。感谢您的详细帮助,现在我正在从我的网站发送/接收电子邮件。再次感谢你的帮助。
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = mail.sweetinteractive.com
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = uzair@sweetinteractive.com
smtp_server=mail.sweetinteractive.com
; smtp port (normally 25)
smtp_port=25
auth_username=uzair@sweetinteractive.com
auth_password=give your password here without any quotes
<?php
ini_set("SMTP","mail.sweetinteractive.com");
$suc = mail("uzair@sweetinteractive.com","Learning PHP","Message sending will work now","From: uzair@sweetinteractive.com");
if($suc){
echo "Mail sent";
} else {
echo "Mail sending Failed.";
}
?>