我使用以下代码从我的网站发送电子邮件:
<?php
$to = "mygmail@gmail.com;
$subject = "My Site - NoReply";
$headers = "From: do not reply @ My Site" . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = "You have received a message from the My site: <br /><br />";
$message .= "Greetings <strong>My Name</strong>, <br /><br />";
$message .= "You have been granted access to the My site.<br /><br />";
mail($to, $subject, $message, $headers);
?>我的网站由Hostgator托管。他们建议我将端口465用于SMTP。
我刚和他们聊完天。所有的事情都已经安排好了,他们也没什么可做的了。
那么,为什么我不能使用上面的邮件发送电子邮件呢?
我在使用Apache服务器的工作中使用了相同的代码,从网站发送任何电子邮件都没有问题。
为了让它工作,我错过了什么?
发布于 2020-09-09 14:26:19
这里最明显的问题是你没有使用SMTP。
PHP的mail()函数的工作方式是通过外壳向sendmail二进制文件提交一条消息,并且根本不直接使用网络,因此您无法按照他们的要求进行操作。
通过SMTP发送,甚至发送到本地主机,比使用mail()更可取,因为它更快,更安全,更可靠。
您用PHPMailer标记了这个问题,它可以直接通过SMTP发送,并且@j4g0提供了一个指向该问题的合理实现的链接。在SO和PHPMailer项目中都有更多的例子。
https://stackoverflow.com/questions/63804708
复制相似问题