【问题标题】:php mail cannot be sent [duplicate]php邮件无法发送[重复]
【发布时间】:2014-05-17 11:02:25
【问题描述】:

我正在使用邮寄表格,但邮件无法发送到 gmail 收件箱!!

这是我正在使用的代码:

<?php
if (isset($_POST['send'])) {
    $name    = $_POST['name'];
    $email   = $_POST['email'];
    $message = $_POST['message'];       

    $emailTo = 'example@gmail.com';
    $subject = 'Sujet:  '.$name;

    $body = "Full Name: $name \n\n  Message: $message \n\n Sent by : $email";
    $headers = 'De: ' .' <'.$email.'>' . "\r\n";

    if(mail($emailTo, $subject, $body, $headers)){  
         echo   "Success";

    }else{  
          echo "Error";

    }
}

?>

【问题讨论】:

标签: php email


【解决方案1】:

试试这个代码:

$name    = $_POST['name'];
$email   = $_POST['email'];
$message = $_POST['message'];

$email_to = "example@email.com";
$email_subject = "Email for: ".$name;

$headers = $headers = 'From: '.$email."\r\n".
       'BCC: '.$email_to_bcc."\r\n" .
       'X-Mailer: PHP/' . phpversion() . "\r\n" .
       "MIME-Version: 1.0\r\n" .
       "Content-Type: text/html; charset=utf-8\r\n" .
       "Content-Transfer-Encoding: 8bit\r\n\r\n";

if (mail($email_to, $email_subject, $message, $headers)) {
    echo "Mail sent";
}

当然,您的服务器必须能够通过 PHP 邮件功能发送电子邮件。最好设置通过 SMTP 发送邮件:使用此脚本:https://github.com/Synchro/PHPMailer 易于设置且效果很好。

【讨论】:

    【解决方案2】:

    如果您想直接从 localhost 发送电子邮件,您需要安装邮件传输代理 (MTA),或者如果您愿意,还需要安装 SMTP 服务。

    IIS 提供了一个。否则你可以找到其他一些on Google

    您还可以更改您的php.ini mail settings。这不会使用localhost 来发送电子邮件,而是使用中继主机,允许您从 PHP 脚本发送电子邮件。

    Source

    【讨论】:

      猜你喜欢
      • 2015-10-01
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 2016-05-10
      • 2020-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多