2012-06-26 40 views
1

我是新来的PHP世界(其实不是很多,但非常多)。如何在php 5.3中从头开始使用mail()函数?

我使小块网,所以我可以测试我需要的每个功能。现在我遇到了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 = '[email protected]'; 
    $headers = array("From"=>"[email protected]"); 
    $subject = 'This is the subject.'; 
    $body = 'Here is the message.'; 

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

这是许多试验之一。

+1

如果您希望我们提供帮助,您可以提供您收到的实际错误消息。您的网站的目的以及您想要在大图中做什么是毫无意义的 - 我们只是想要错误消息。 –

+2

您是否使用本地计算机作为SMTP中继,或者您是否输入了与中继无关的有效SMTP服务器? – Hammerstein

+0

编辑起来smtp是localhost。 –

回答

0

您需要发送From标题。它可能会设置回到默认地址,但我的直觉是它不是。当然,这可能不是问题。

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

示例From头将是From: [email protected]。将字符串中的标题与\r\n分开。

+0

你不需要'From'头来使用'mail()'。事实上,你根本不需要头部来发送邮件。 – Mike

+0

http://php.net/manual/en/function.mail.php - 注意: 发送邮件时,邮件必须包含From头。这可以使用additional_headers参数来设置,或者可以在php.ini中设置默认值。 未能执行此操作将导致类似于Warning:mail():“sendmail_from”的错误消息未在php.ini或自定义“From:”头中丢失。 From标题也​​设置Windows下的Return-Path。 –

+0

编辑了邮件功能中使用的标题,并在php.ini文件中尝试过 –

相关问题