2013-02-15 173 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