PHP邮件功能不起作用

时间:2015-09-08 04:41:57

标签: php email phpmailer

我目前正在为我的一个网页设计课程开发一个网站组合网站,它有望在完成后成为我的实际投资组合。部分作业需要"联系我"该网站的部分,其中包括验证输入数据并在适当的提交时重定向用户的表单。我已经完成了这个,但我希望它能在我提交表单时给我发电子邮件。这是我的代码:

$admin_mail = example@mail.com
-code to validate form-
$headers = array("First Name: " => $_POST['first_name'],
                        "Last Name: " => $_POST['last_name'],
                        "Email: " => $_POST['email'],
                        "Company: " => $_POST['company']);
$message = wordwrap($_POST['message'],70);
mail($admin_mail,"Portfolio Message",$message,$headers);
header("location: success.html");

我使用$headers函数检查了$messageprint_r变量,并且它们正常工作。正在添加所有输入的数据并且页面重定向正确,但电子邮件似乎根本无法发送。我检查了我的虚拟主机可以发送和接收电子邮件,这似乎也能正常工作。

有关如何解决此问题的任何想法?

4 个答案:

答案 0 :(得分:0)

只需检查..通过输入真实的电子邮件ID

<?php
$to = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";

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

答案 1 :(得分:0)

标题可以添加如下

            $headers =  'From: '.$from.''. "\r\n" .
                'Reply-To: '.$from.'' . "\r\n" .
                'X-Mailer: PHP/' . phpversion();
                $message = htmlspecialchars($body);
                mail($to, $subject, $message, $headers);

答案 2 :(得分:-1)

$ header错误。请检查php mail function docs

答案 3 :(得分:-1)

(假设您没有步骤调试可用)

无论邮件是否发送,看起来都会设置您的位置标头。 mail()返回boolean,所以使用类似:

if(mail($admin_mail,"Portfolio Message",$message,$headers)){
  header(...);
}
else{
  // it failed. run some debug here.
}

快速启动:这是我网站上类似联系表单的复制粘贴代码。它就像一个魅力 - 每天给我发邮件。 ......好吧,每天都有人使用它:)

$to = 'my.mail@gmail.com';
$subject = 'The Site Contact Request';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

$mail = mail($to, $subject, $m, $headers);
return $mail;