【问题标题】:Email Sending issue in PHPPHP中的电子邮件发送问题
【发布时间】:2012-12-27 18:28:02
【问题描述】:

我正在尝试通过 php 发送一封电子邮件,在我提出问题之前,我所做的事情是---

  1. 我有 Xampp 并且我有 Mercury Turned,我已经创建了 2 个本地用户。
  2. 我有 Thunderbird 来接收电子邮件,我已经设置好了。也就是说,我可以毫无问题地从一个本地用户向另一个用户发送电子邮件。
  3. 现在我的电子邮件 php 代码很简单

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

?>

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"

现在的问题是……我没有收到任何错误消息,但我没有收到任何电子邮件。

水星日志

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.

【问题讨论】:

  • 哇,格式让我头晕
  • 你能打开邮件日志吗?另外,请确保您将错误报告设置为 E_ALL
  • “错误报告设置为 E_ALL”是什么意思?抱歉,我对这些东西很陌生,还有水银日志。
  • 为什么要创建 2 个本地用户?只是为了发送邮件?
  • 将邮件从一个发送到另一个......?或者你不需要它?

标签: php email sendmail.exe


【解决方案1】:

试试这个:

$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);

more

我会避免从本地主机发送到本地主机..

【讨论】:

  • 我试过了,我使用我的 Gmail 帐户作为 'sunny@example.com' 和 "sunny@localhost" 作为 'your_other_email@example.com' 但它仍然无法正常工作。
  • 转到您的 php.ini 文件并将 SMTP = localhost 更改为 SMTP = aspmx.l.google.com 并取消注释 sendmail_from 并输入您的发送 gmail 地址。 - 这是吗?
猜你喜欢
  • 1970-01-01
  • 2012-01-02
  • 1970-01-01
  • 2015-10-16
  • 2016-08-12
  • 2013-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多