PHP Mail无法正常工作

时间:2014-01-13 04:30:27

标签: php email

我有这个PHP邮件代码:

<?php
$to      = 'chipperyman573@gmail.com';
$subject = 'Application for IGN '.$_POST["IGN"];
$message = 'Skype account: '.$_POST["skype"].'. IGN: '.$_POST["IGN"].'. Timezone: '.$_POST["Timezone"].'. Gender: '.$_POST["Gender"].' Livestreaming/Youtubing: '.$_POST["yt"].'. Accepts rules: '.$_POST["rules"];
$headers = 'From: apply@chipperyman573.com' . "\r\n" .
    'Reply-To: apply@chipperyman573.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

网页加载正常,但我没有收到电子邮件。

我检查了所有$_POST个变量,它们都很好。

1 个答案:

答案 0 :(得分:1)

问题似乎不是来自您使用邮件功能的方式。

它似乎也不是来自SMTP服务器的可用性,否则你会得到类似这样的消息:

Warning: mail() [function.mail]: Failed to connect to mailserver at "xxxx"
port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
in C:\whatever\my_send_mail.php on line 293

然而,它可能来自身份验证问题。

您可能希望使用虚拟SMTP服务器(如PaperCut)在服务器上线之前在本地测试邮件功能。
(顺便说一句,这就是我检查代码的方式)

当然我无法检查你的$ _POST值的有效性,但如果他们证明是罪魁祸首,我会感到惊讶。
因为你只在主题和正文中使用它们,除非它们包含一些奇怪的东西,比如一些会使服务器混淆的SMTP协议,它们应该不是问题。

如果本地发送有效,下一步将检查服务器上的PHP邮件程序配置。