简体   繁体   English

PHP中的电子邮件发送问题

[英]Email Sending issue in PHP

I am trying to send an Email through php and before I present the problem, the things I did are--- 我试图通过php发送电子邮件,在提出问题之前,我所做的事情是-

  1. I have Xampp and I have Mercury Turned on, I have made 2 local users. 我有Xampp,并且启用了Mercury,我已经有2个本地用户。
  2. I have Thunderbird to receive the email and I have it all set up. 我有Thunderbird可以接收电子邮件,并且都已设置好。 That is I can send email from one local user to another without any problem. 也就是说,我可以毫无问题地将电子邮件从一个本地用户发送给另一个本地用户。
  3. Now my email php code is simple 现在我的电子邮件php代码很简单

mail('revan@localhost','Hello!','Hello, This is a test!','FROM:sunny@localhost') or die("Email sending failed"); 

?>

4)Now in my php.ini the mail function looks like--- 4)现在在我的php.ini中,邮件功能看起来像-

; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
SMTP =localhost
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = sunny@localhost

; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesC:\xampp) fakemail and mailtodisk do not work correctly.
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.  

; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
;sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the C:\xampp\mailoutput folder
;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\php\logs\php_mail.log"

Now the problem is...I get no error message but I am receiving no emails. 现在的问题是...我没有收到任何错误消息,但没有收到电子邮件。

The Mercury log 水星日志

T 20130114 003213 50f35170 Connection from 127.0.0.1
T 20130114 003213 50f35170 EHLO we-guess.mozilla.org
T 20130114 003213 50f35170 QUIT
T 20130114 003213 50f35170 Connection closed with 127.0.0.1, 0 sec. elapsed.
T 20130114 003213 50f35171 Connection from 127.0.0.1
T 20130114 003213 50f35171 EHLO we-guess.mozilla.org
T 20130114 003213 50f35171 QUIT
T 20130114 003213 50f35171 Connection closed with 127.0.0.1, 0 sec. elapsed.
T 20130114 003912 50f35393 Connection from 127.0.0.1
T 20130114 003912 50f35393 EHLO we-guess.mozilla.org
T 20130114 003912 50f35393 QUIT
T 20130114 003912 50f35393 Connection closed with 127.0.0.1, 0 sec. elapsed.
T 20130114 003912 50f35394 Connection from 127.0.0.1
T 20130114 003912 50f35394 EHLO we-guess.mozilla.org
T 20130114 003912 50f35394 QUIT
T 20130114 003912 50f35394 Connection closed with 127.0.0.1, 0 sec. elapsed.
T 20130114 003949 50f35395 Connection from 127.0.0.1
T 20130114 003949 50f35396 Connection from 127.0.0.1
T 20130114 003949 50f35395 EHLO we-guess.mozilla.org
T 20130114 003949 50f35395 QUIT
T 20130114 003949 50f35395 Connection closed with 127.0.0.1, 0 sec. elapsed.
T 20130114 003949 50f35396 EHLO we-guess.mozilla.org
T 20130114 003949 50f35396 QUIT
T 20130114 003949 50f35396 Connection closed with 127.0.0.1, 0 sec. elapsed.
T 20130114 004614 50f35397 Connection from 127.0.0.1
T 20130114 004614 50f35397 EHLO [127.0.0.1]
T 20130114 004614 50f35397 MAIL FROM:<sunny@localhost> SIZE=359
T 20130114 004614 50f35397 RCPT TO:<revan@locahost>
T 20130114 004614 50f35397 RSET
T 20130114 004614 50f35397 RSET
T 20130114 004615 50f35397 MAIL FROM:<sunny@localhost> SIZE=359
T 20130114 004615 50f35397 RCPT TO:<revan@locahost>
T 20130114 004615 50f35397 DATA
T 20130114 004615 50f35397 DATA - 12 lines, 361 bytes.
T 20130114 004615 50f35397 QUIT
T 20130114 004615 50f35397 Connection closed with 127.0.0.1, 1 sec. elapsed.
T 20130114 004713 50f35398 Connection from 127.0.0.1
T 20130114 004713 50f35398 EHLO [127.0.0.1]
T 20130114 004713 50f35398 MAIL FROM:<sunny@localhost> SIZE=367
T 20130114 004713 50f35398 RCPT TO:<revan@localhost>
T 20130114 004713 50f35398 RSET
T 20130114 004713 50f35398 RSET
T 20130114 004713 50f35398 MAIL FROM:<sunny@localhost> SIZE=367
T 20130114 004713 50f35398 RCPT TO:<revan@localhost>
T 20130114 004713 50f35398 DATA
T 20130114 004713 50f35398 DATA - 12 lines, 369 bytes.
T 20130114 004713 50f35398 QUIT
T 20130114 004713 50f35398 Connection closed with 127.0.0.1, 0 sec. elapsed.
T 20130114 004750 50f35399 Connection from 127.0.0.1
T 20130114 004750 50f35399 EHLO [127.0.0.1]
T 20130114 004750 50f35399 MAIL FROM:<revan@localhost> SIZE=379
T 20130114 004750 50f35399 RCPT TO:<sunny@localhost>
T 20130114 004750 50f35399 RSET
T 20130114 004750 50f35399 RSET
T 20130114 004750 50f35399 MAIL FROM:<revan@localhost> SIZE=379
T 20130114 004750 50f35399 RCPT TO:<sunny@localhost>
T 20130114 004750 50f35399 DATA
T 20130114 004750 50f35399 DATA - 12 lines, 381 bytes.
T 20130114 004750 50f35399 QUIT
T 20130114 004750 50f35399 Connection closed with 127.0.0.1, 0 sec. elapsed.

try this: 尝试这个:

$to      = 'your_other_email@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: sunny@example.com' . "\r\n" .
'Reply-To: sunny@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

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

see more 更多

i would avoid sending from localhost to localhost .. 我会避免从本地主机发送到本地主机..

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM