如何让 mail() 函数在 php 5.3 中从头开始工作


How do I get the mail() function working from scratch in php 5.3?

我是php世界的新手(实际上不是那么多,但差不多)。

我制作小块网,以便我可以测试我需要的每个功能。现在我在使用 PHP 附带的 mail() 函数时遇到了问题,我在许多站点中查找了解决方案。我在这里搜索过,但没有任何帮助,每次我找到一些似乎有效的答案时,都会弹出一个新问题。

让我解释一下我的情况:

我开始制作一些代码,其中包含HTML表单,以便我可以获取邮件结构的用户信息,这个想法是生成一种跟踪,在特定时刻触发用户触发器,并且已经加载了一些信息。后来,我注意到如果我无法解决 de mail() 问题,我将无法让它工作。所以我把我的问题最小化了,只是写了:

<?php
     mail($mail, $subject, $body);
?>

好吧,你可以想象,因为我没有修改 php.ini自从安装 xampp(我之前没有提到)以来,我遇到了一些 SMTP 和sendmail_path错误;所以我在这里查找并得到了一些配置 php.ini 的说明。然后又试了一次,什么都没有,没有成功。

尝试使用PEAR的Mail_mime,但它只是使所有内容变得更加模糊,存在非静态问题。

希望你能帮到忙。

我编辑了 php.ini 文件,所以我得到了

SMTP = localhost
smtp_port = 25

我现在没有收到任何错误消息,我只是没有收到电子邮件,我也确实设置了发件人标头,我忘了指出这一点。我在 phph.ini 文件中设置了 From 标头,当它不起作用时,我在新代码的变量中对其进行了编辑。更详细的图片如下所示:

<?php
     $to = 'rojas.damian.brz@gmail.com';
     $headers = array("From"=>"rojas.damian.brz@gmail.com");
     $subject = 'This is the subject.';
     $body = 'Here is the message.';
     mail($mail, $subject, $body, $headers);
?>

这是众多审判之一。

您需要发送 From 标头。它可能会设置为回退到默认地址,但我的预感是它不是。当然,这可能不是问题所在。

mail($mail, $subject, $body, $headers);

标头From示例为 From: noreply@example.com 。用 'r'n 分隔字符串中的标头。