【问题标题】:php html mail not working on cpanel server [duplicate]php html邮件在cpanel服务器上不起作用[重复]
【发布时间】:2017-10-09 11:21:35
【问题描述】:

我有一个代码可以在 cpanel 上使用 php 发送 html 邮件,但不会发送没有任何错误。我已经测试了纯文本邮件,它工作正常,但是一旦我添加了如下所示的标题,它就不起作用了。

//send html mail
ini_set('sendmail_from', 'info@toludimaokojie.com');
            $headers = "From: info@toludimaokojie.com\r\n"."X-Mailer: php";
            $headers .= "Content-type: text/html\r\n";
        $html = '<html> 
   <body>
  <h2>Result Analysis for Test With Reference Number:'.$reference.'</h2>
  <br/>
  <p><b>Personality: '.$personality_mail.'</b></p>
  <br/>
  <p><b>MBQ Score: '.$resultTotal.'</b></p>
  <br/>
  <ul>'.$analyseData.'</ul>
  <pre>Mail Sent on '.date("l, F Y H:i:sa").'</pre>
  </body>
  </html>';                          
  mail("olaegbesamuel@gmail.com", "MBQ TEST ANALYSIS", $html, $headers);

这不起作用。请帮忙,我想我在这里做的一切都是正确的。我已经在没有 html 的情况下进行了测试,并确认 mail 正在工作

【问题讨论】:

  • ...但是没有发送没有任何错误...什么错误?
  • 它没有给出关于为什么不发送的任何错误
  • 仍然没有答案...

标签: php html email cpanel


【解决方案1】:

您已经使用所有必需的电子邮件参数定义了 $headers,但请查看您的 $header 变量,有两件事需要更改,

1) 你已经使用了 $header 和 $headers ,所以使用它们中的任何一个并将它们附加到一个变量中。 2)您的 $header 变量的第二行缺少 . 以附加先前的标头值,因此更正的代码应为:

         $headers = "From: info@toludimaokojie.com\r\n"."X-Mailer: php";
         $headers .= "From: $from\r\n"; 
         $headers .= "Content-type: text/html\r\n";

由于您错过了第二行中的 . 运算符,它将删除 From 标头,因此它不会发送电子邮件。 更改这些行后尝试。

【讨论】:

  • 哦......标题/标题是一个错误,我已经纠正了,邮件仍然没有发送
  • 您是否尝试从localhost 发送电子邮件?
  • 当然不是。我在我的问题中提到了 cpanel。它肯定在主机上。当邮件函数参数中没有给出标头时,邮件函数起作用
  • 其实我不知道我们应该使用什么X-Mailer: php 我刚刚检查了 W3schools,它使用代码 sn-p 设置了更简单的标头。 Here you go
  • 好的。这也行不通。
猜你喜欢
  • 1970-01-01
  • 2012-01-10
  • 2013-12-18
  • 1970-01-01
  • 2014-03-16
  • 2017-01-24
  • 2016-12-07
  • 2015-10-02
  • 1970-01-01
相关资源
最近更新 更多