2013-02-15 172 views
0

任何人都可以帮助我吗? 我卡在PHP mail()函数中,我已经设置了php.inisendmail.ini。我只是使用功能mail($to,$subject,$content)并没有工作。我正在使用localhost XAMPP。发送邮件()php xampp yahoo

这个php.ini文件:

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

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

; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 
; http://php.net/sendmail-path 
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 

; Force the addition of the specified parameters to be passed as extra parameters 
; to the sendmail binary. These parameters will always replace the value of 
; the 5th parameter to mail(), even in safe mode. 
;mail.force_extra_parameters = 

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename 
mail.add_x_header = Off 

; Log all mail() calls including the full path of the script, line #, to address and headers 
;mail.log = "C:\xampp\apache\logs\php_mail.log" 
+1

你得到任何错误? – 2013-02-15 07:19:01

+0

检查'mail()'的返回值以查看邮件是否被接受发送。如果是“真”,那么它可能是一个阻止邮件的垃圾邮件过滤器,如果“false”,它可能是服务器配置。 – MrCode 2013-02-15 07:33:24

+0

您使用'localhost XAMPP'。你有没有安装任何[SMTP服务器](http://www.pmail.com/overviews/ovw_mercwin.htm)? – 2013-02-15 07:44:39

回答

0

检查服务器状态

  • 从XAMPP控制面板启动水星邮件服务器。检查状态是否为Running
  • 打开Mercury控制面板(从XAMPP面板或任务栏)并检查SMTP服务器状态是否为Ready
  • 从Mercury控制面板发送邮件到您自己的电子邮件地址,并检查它是否失败。

PHP

允许错误报告:error_reporting(E_ALL);和检查PHP错误和警告。

尝试的头信息添加到您的mail()功能:

<?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); 
?> 
+0

这不适用于php – 2015-02-09 07:36:16

+0

您对“不使用php”有何意义? – Stichoza 2015-02-10 09:42:30

+0

我发送了一封测试邮件使用murcury,它的罚款,但是当我写了php代码,并测试它不适合我 – 2015-02-10 10:51:16