Php电子邮件不工作错误

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

我使用的是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.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.";
    }
?>