我正在尝试使用 PHP 发送电子邮件。我拿了一段我之前用过的代码,但现在不起作用了。我发现问题出在主题上。
当我的主题是“test”时,邮件会被发送,但是当我的主题是其他任何内容(例如大写字母,如“Test”)时,邮件将不起作用。我很确定这是一个快速解决方案,但我找不到答案。
这是我的代码。
在index.php中
$subject= 'test';
$message = implode("\n" , $_SESSION['data']);
mail_html($subject, $message, $email);
在functions.php中
function mail_html ( string $subject, string $message, string $receiver) {
$headers = 'From: Template <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e9848ca9848cc78a8684" rel="noreferrer noopener nofollow">[email protected]</a>>' . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8';
mail($receiver, $subject, $message, $headers);
}
谢谢大家对我的帮助。我觉得被这样的事情阻挡很愚蠢。
最佳答案
发送电子邮件是一个非常困难的过程。因此,如果您没有启用所有常见的垃圾邮件预防机制,您就无法从您的计算机或服务器如此轻松地发送电子邮件。
因此,当您没有反向 DNS 条目并且发送带有“测试”的电子邮件时,您不应该怀疑电子邮件是否无法发送到其他站点。所以看看SPF-System , Reverse-DNS以及服务器的通用名称(不适用于某些提供商)。然后您可以发送一些电子邮件。
要查找一些问题,请检查您的邮件日志/var/log/mail.log
。
当您尝试阻止该问题时,请使用提供商提供的 SMTP 帐户并通过 SMTP 发送该电子邮件。
关于php - 邮件功能的主题问题 - PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51799862/