从服务器发送邮件时出错?

时间:2015-10-06 06:00:53

标签: php server sendmail

我试图从服务器发送邮件而不是从localhost发送邮件,它将状态代码设置为200,但我仍然没有收到任何邮件。

响应图片: Response Image

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);

2 个答案:

答案 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";