2011-12-25 69 views
1

我正在使用XAMPP运行Web服务器。我使用Web表单来使用PHP脚本发送电子邮件。我想知道,有人能告诉我为什么我得到这个错误吗?尝试使用PHP脚本发送电子邮件

警告:邮件()[function.mail]: “sendmail_from” 未在php.ini或自定义设置 “来自:” 首标中缺少C:\ XAMPP \ htdocs中\ format.php上线24

这里是我的php.ini的代码,与提供的相关部分:

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = localhost 
; http://php.net/smtp-port 
smtp_port = 25 

; For Win32 only. 
; http://php.net/sendmail-from 
;sendmail_from = [email protected] 

这里也是我的PHP脚本,只是为了告诉你什么是我的编码(我看不出在什么错线24办法)。

<?php 

$to = '[email protected]'; 
$subject = 'This is from your company'; 

$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 

$message = <<<EMAIL 

Hi! My name is $email 

$message 

From $name 
Oh ya, my email is $email 

EMAIL; 

$header = '$email'; 

if($_POST){ 
mail($to, $subject, $message, $header); 
$feedback = 'Thanks for the email'; 
} 

?> 

任何建议,将不胜感激。

回答

3

取消对sendmail_from在ini文件中设置:

sendmail_from =邮政局长@本地

(删除从开始分号)。您也可以更改邮政局长@ localhost来东西,你会真正希望人们能看到的发件人

+0

很好地发现了队友。关于更改“postmaster @ localhost”,我可以使用哪个电子邮件帐户。我听说Gmail可以给你一些麻烦。 hotmail会有什么好处? – 2011-12-25 21:54:49

+0

通常这是来自相关域的发件人([email protected])。另外,正如其他人所指出的,在调用mail()函数时,您应该利用附加头文件参数。这将允许您在函数本身中设置发件人和回复地址。 – 2011-12-25 23:58:34

+0

另一个问题....端口号应该是25还是80?当我在XAMPP中启动并停止Apache时,它提到了“[Port 80]”。任何帮助? – 2011-12-30 15:05:57

1

你需要有一个smtp服务器来发送来自php邮件功能的电子邮件。尝试使用gmail smtp和脚本发送邮件。

+0

我使用Gmail的SMTP,但它没有工作。我没有使用“脚本发送邮件”,所以我会尝试(和gmail smtp)后,我看了其他的解决方案。谢谢。 – 2011-12-25 21:52:32

2

检查邮件的PHP手册:

<?php 
$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 
?> 

您需要删除页眉。 http://php.net/manual/en/function.mail.php

+0

感谢您的反馈。那么这个代码是“additional_headers”FROM头文件。你能否给我一个如何写出来的例子?谢谢。 – 2011-12-25 21:58:26

+0

只需在示例中尝试但替换电子邮件地址。 – 2011-12-25 22:02:59

+0

另一个问题萨拉蒂斯。请参阅“[email protected]”,它应该是“postmaster @ localhost”还是Gmail SMTP“smtp.gmail.com”?或者我可以只使用我的“[email protected]”Gmail地址? – 2011-12-30 17:28:09

2

始终在脚本设置,不依赖于PHP设置...使用swiftmailer

开始,你要后悔的......