我试图从服务器发送邮件而不是从localhost发送邮件,它将状态代码设置为200,但我仍然没有收到任何邮件。
Php Code发送消息:
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: example@gmail.com';
$to = 'example@gmail.com';
$subject = 'Customer Inquiry';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html\r\n";
$headers = 'From: example@gmail.com' . "\r\n" .
'Reply-To: example@gmail.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
答案 0 :(得分:0)
可能有更多错误,但让我们从明显的开始:
$to = 'example@gmail.com';
如果您想收到某些内容,则应包含您的电子邮件地址。
你能解决这个问题并再次测试吗?如果它还没有奏效,我们可以更进一步。
编辑后编辑:我已经这样做了,我已经从我的gmail帐户发送到我的朋友gmail帐户之一。我犯了什么错误吗?
使用您创建的代码,php将尝试使用您配置中的邮件服务器发送电子邮件:要发送带有GMAIL的电子邮件,您需要修复代码。这是一个如何使用phpmailer发送它的例子:
//include the file
require_once('class.phpmailer.php');
$phpmailer = new PHPMailer();
$phpmailer->IsSMTP(); // telling the class to use SMTP
$phpmailer->Host = "ssl://smtp.gmail.com"; // SMTP server
$phpmailer->SMTPAuth = true; // enable SMTP authentication
$phpmailer->Port = 465; // set the SMTP port for the GMAIL server; 465 for ssl and 587 for tls
$phpmailer->Username = "yourname@yourdomain"; // Gmail account username
$phpmailer->Password = "yourpassword"; // Gmail account password
$phpmailer->SetFrom('name@yourdomain.com', 'First Last'); //set from name
$phpmailer->Subject = "Subject";
$phpmailer->MsgHTML($body);
$phpmailer->AddAddress($to, "To Name");
if(!$phpmailer->Send()) {
echo "Mailer Error: " . $phpmailer->ErrorInfo;
} else {
echo "Message sent!";
}
来自:https://stackoverflow.com/a/16022357/2042240
我真的建议您使用phpmailer(http://phpmailer.worxware.com/),因为它非常强大且易于使用。当您下载了图书馆时,只需按照我向您展示的示例进行导入,然后您就可以开始了。
编辑2:如果你仍然喜欢在这里使用mail()函数,你可以看到如何用它启用GMAIL:https://www.digitalocean.com/community/tutorials/how-to-use-gmail-or-yahoo-with-php-mail-function
答案 1 :(得分:0)
code for sent mail
$to='comments@mydomain.com';
$from = $_POST['email'];
$name = $_POST['name'];
$subject="comments from : ".$name;
$message = "Comment from : ".$from."\r\n";
$message.=$_POST['comments'];
$message=wordwrap($message,70,"<br>");
$message=str_replace("\n.","\n..",$message);
$headers='From: info@mydomain.com';
$mail=mail($to, $subject, $message , $headers);
if ($mail==true)
echo "success";