【发布时间】:2017-06-05 23:37:06
【问题描述】:
我有几个关于用 PHP 发送电子邮件的问题。过去几天我一直在 google 上,但我仍然无法让它充分发挥作用。
我的第一个问题是如何更改电子邮件的“发件人”部分?我的“发件人”部分中有“收件人:support@mydomain.com”:
我想要我的域名的正确名称(例如:“testingstuff.com” -> “Testing Stuff”)。我怎样才能做到这一点?
当我真正打开这封电子邮件后,里面的所有内容都正常且正确,包括发件人电子邮件地址为“support@mydomain.com”。
我的邮件也不会发送到 gmail 地址。它出现在我的邮件队列中,我的日志说它已发送,但我的 gmail 从未收到它。我是否需要采取额外的步骤才能让 Google 接受我的电子邮件?如果是这样,那是什么?其他主要的邮件服务是否需要相同的步骤,或者它们是不同的步骤?
这是我目前的代码:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set("sendmail_from", "support@mydomain.com");
class email {
public static function send($to, $subject, $message) {
$headers = "From: Testing Stuff <support@mydomaincom>\r\n";
$headers .= "Reply-To: support@mydomain.com\r\n";
$headers .= "Content-type: text/html\r\n";
mail($to, $subject, $message, $headers);
}
}
?>
用法:
require_once("../mail.php");
email::send("support@mydomaincom", "testing email subject", "testing email body");
我的代码做错了吗?
【问题讨论】:
-
您检查过 gmail 收件箱中的垃圾邮件文件夹吗?
$headers .= 'From: My Domain <donotreply@yourdomain.com>' . "\r\n";也应该可以工作 -
我建议使用现有的电子邮件库,如 PHPMailer、Swift Mailer 或类似的,并通过您的电子邮件提供商 SMTP 服务器发送电子邮件。这可能会立即解决这两个问题。