php - 没有收到来自 PHP mail() 方法的电子邮件

标签 php email

我试图设置一个 email.html 和一个 action.php,以便有人可以从网站发送电子邮件。这是 email.html 中的代码

<form action="./action.php" method="post">
    <p>Your Name</p>
    <p><input type="text" name="name" /></p>
    <p>Email</p>
    <p><input type="text" name="email" /></p>
    <p>Services</p>
    <p><input type="text" name="service" /></p>
    <p>Requests</p>
    <p><textarea rows="8" cols="32" name="comment"></textarea></p>
    <p><input type="submit" value="Send" /></p>
</form>

在 action.php 我有

<?php
    $to = "foo@outlook.com";
    $subject = "Test mail";
    $message = "Hello! This is a simple email message.";
    $from = "foo2@gmail.com";
    $headers = "From:" . $from;
    mail($to,$subject,$message,$headers);
    echo "Mail Sent.";
?>

在 email.html 中输入的信息成功加载到 action.php 中,但我的 Outlook 收件箱中没有收到任何来自电子邮件方法的信息。我错过了什么吗?

最佳答案

首先检查 mail 的返回值,看看邮件是否被您的 SMTP 服务器接受。

此外,根据 Namecheap 的文档,your From address is invalid .

Only domains that are hosted on our servers can be used in 'From' field. Any domain that is not hosted with us cannot be added to 'From' field. We had to take this measure to prevent sending spam using forums, guest books and contact forms scripts. For your site scripts to work properly you should set 'From' field to email account that has been created in your cPanel.

即使您的托管公司允许这样做,您也不应该使用非 Gmail 服务器从 @gmail.com 发送邮件。它通常是 blocked by SPF以及接收端的其他此类反垃圾邮件措施。

关于php - 没有收到来自 PHP mail() 方法的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19070872/

相关文章:

php - preg_replace 脚本,链接标记不起作用

php - 比较 MySQL 和 PHP 之间的数据类型

php - 将测验替代项保存为 JSON 字符串或单独的行?

android - 将编辑文本字段中的文本添加到电子邮件中

HTML 和不同的电子邮件提供商

c# - 如何使用 .NET Framework 通过 SSL SMTP 发送电子邮件?

php - 在数据库前端angular2后端php中存储数组值?

php - 使用 php 从 mysql 中获取值

java - 获取 javax.mail.MessagingException 和 java.net.SocketException

php - 如何检查 PCNTL 模块是否存在