我有这个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
个变量,它们都很好。
答案 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邮件程序配置。