【问题标题】:Php mail() is not sending the emails [duplicate]Php mail()没有发送电子邮件[重复]
【发布时间】:2014-12-29 10:31:17
【问题描述】:

我正在使用 php mail() 函数从我的服务器发送邮件。它以前工作正常,但现在我没有收到简单的邮件。邮件状态为 TRUE,但未收到电子邮件。我在另一台服务器上对其进行了测试,它在那里工作正常。

这是我的代码:

$to = 'myemail@gmail.com';
$name = trim($_POST['name']);
$email = trim($_POST['email']);
$phone_number = trim($_POST['phone']);
$message = trim($_POST['message']);
$subject = 'Contact Message from  - ' . strip_tags($name);
$headers = "From: " . $name . " <" . $email . "> \r\n";
$headers .= "Reply-To: " . strip_tags($email) . "\r\n";
$headers .= "Content-type: text/html \r\n";
$message = '<html><body>';
$message .= '<h1>Hello, </h1>';
$message .= '</body></html>';
$message .= '<html><body>';
$message .= '<table rules="all" style="border-color: #666; border:1px solid;" cellpadding="10">';
$message .= "<tr><td><strong>Name:</strong> </td><td>" . $name . "</td></tr>";
$message .= "<tr><td><strong>Email:</strong> </td><td>" . $email . "</td></tr>";
$message .= "<tr><td><strong>Phone Number:</strong> </td><td>" . $phone_number . "</td></tr>";
$message .= "<tr><td><strong>Message:</strong> </td><td>" . $message . "</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
$confirmation = mail($to, $subject, $message, $headers);
if ($confirmation) {
    print "<meta http-equiv=\"refresh\" content=\"0;URL=thanks.php\">";
} else {
    print "<meta http-equiv=\"refresh\" content=\"0;URL=error.php\">";
}

【问题讨论】:

  • 显示您的垃圾邮件,或者它来自您的配置服务器(如果您使用 smtp 服务器),您必须检查您的主机服务器。
  • 感谢@MouradK,但它甚至不在垃圾邮件中
  • 我确定这来自您的服务器配置,如果它返回“true”,应该尝试使用 smtp 服务器(参见 www.mailjet.com)...
  • 谢谢,你的意思是服务器 smtp_port 有问题?
  • 取决于您的主机,它可能会阻止电子邮件,并且可能在其 php.ini 上使用默认的 smpt 服务器(或覆盖它)。至少,使用 mailjet 之类的工具应该可以工作(使用它请参阅stackoverflow.com/questions/14456673/…

标签: php email server


【解决方案1】:

首先检查一个简单的邮件。

<?php
ini_set('display_errors',1);

$email = '';//<--your mail
if (mail($email, 'test', 'test') {
    echo 'send';
} else {
   echo 'problems';
}

运行它。检查您的电子邮件,如果不发送 - 查看显示的错误。

【讨论】:

  • 感谢 Dima Serg,我可以看到“发送”状态。
  • 收到测试邮件了吗?
  • 不,我在收件箱和垃圾邮件中都没有收到任何邮件
【解决方案2】:

检查服务器的 SMTP 设置可能不正确, 或者你可以使用这个simple SMPT send mail script.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-08
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    相关资源
    最近更新 更多