我一直在尝试使用 PHP 发送邮件,但我似乎无法让它工作。
我查看了教程,它们使它看起来很简单。然而,它实际上似乎需要比提到的更多的工作。通过研究(为了简短起见),似乎不是“发件人:”标题实际上具有我给它的地址,似乎...... sendmail 用 daemon@ubuntu 替换它或其他东西?好的,即使我不包含标头,我仍然会从 daemon@ubuntu 的 gmail 帐户中收到垃圾邮件(我在 vm 上运行 ubuntu,并将邮件发送到我的 gmail 帐户)。我想这可以解释为什么我在尝试发送邮件时不断收到错误,说“MAIL FROM 命令”中存在错误。
因此,在我开始搞乱 sendmail 之前,这是 daemon@ubuntu 胡说八道的(可能)罪魁祸首吗?教程中提到了诸如 sendmail 之类的东西,但实际上并没有详细说明如何处理它们。我确实确保在我的 php 配置文件中使用了 sendmail。
我听说过 PHPmail 之类的替代邮件服务器或类似的东西。我真的不想参与安装和配置更多软件,除非我真的必须这样做。因此,除非你们真的认为 sendmail 不值得,否则我会更喜欢关于 sendmail 的建议。
感谢您的时间。
编辑:我在 VMware Player 的 Ubuntu vm 上使用 PHP mail() 函数。
所以有人想看看我的代码。我有点想避免这种情况,因为我尝试了许多不同的可能性。我现在只包含我在文件中的内容:
<?php
$myEmail = "####@gmail.com";
$fromAddr = $_POST['sender-email'];
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $fromAddr\r\n";
$headers .= "'X-Mailer: PHP/'" . phpversion() . "\r\n";
$message = $_POST['message'];
$status = mail($myEmail, $_POST['subj'], $message);
if($status) {
echo "Your message has been sent, " .$fromAddr. "!";
}
else {
echo "An error occurred while trying to send the mail.";
}
?>
MIME 类型的东西,以及我稍后添加的内容类型的东西。我试过没有他们。我也尝试过在不使用任何标题的情况下发送邮件,但显然仍然得到了 daemon@ubuntu 的东西。另外,我编辑了我的电子邮件地址以在此处发布代码。好的,我想我也应该添加这个:我正在从另一个页面的 HTML 表单中获取数据。在提交时,我来到这个 php 页面,它获取该数据然后发送电子邮件(这不适合任何专业人士,我这样做只是为了了解更多关于网络的东西)。