我的邮件没有被php函数mail()发送[重复]
Posted
技术标签:
【中文标题】我的邮件没有被php函数mail()发送[重复]【英文标题】:my mails are not getting sent by php funtion mail() [duplicate] 【发布时间】:2015-01-31 23:54:16 【问题描述】:我正在尝试使用 php (xampp) 从我的 gmail 帐户发送电子邮件。 我在 *** 上搜索,当我得到东西时,我将 xampp 的文件 sendmail.ini 和 php.ini 更改为,
在 C:\xampp\php\php.ini 中,我删除了 extension=php_openssl.dll
行开头的分号,以使 SSL 为 gmail 的 localhost 工作。
在[邮件功能]下的php.ini文件中我改了
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = mukul.agrawal19@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
然后在 C:\xampp\sendmail\sendmail.ini 中。我用以下代码替换了 sendmail.ini 中的所有现有代码
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=mukul.agrawal19@gmail.com
auth_password=my-gmail-password
force_sender=mukul.agrawal19@gmail.com
然后我写了一个简单的邮件函数
<?php
$to = 'mukulagrawal13@live.com';
$subject = 'Test email';
$message = "Hello World!\n\nThis is my first mail.";
$headers = "From: webmaster@example.com\r\nReply-To: webmaster@example.com";
$mail_sent = @mail( $to, $subject, $message, $headers );
echo $mail_sent ? "Mail sent" : "Mail failed";
?>
然后通过我的浏览器进入此页面, 收到邮件失败的回声。
我看到了我的调试文件,我得到了
14/12/03 18:24:00 ** --- MESSAGE BEGIN ---
14/12/03 18:24:00 ** To: mukulagrawal13@live.com
14/12/03 18:24:00 ** Subject: Test email
14/12/03 18:24:00 ** From:mukul.agrawal19@gmail.com
14/12/03 18:24:00 ** Reply-To:mukul.agrawal19@gmail.com
14/12/03 18:24:00 **
14/12/03 18:24:00 ** Hello World!
14/12/03 18:24:00 **
14/12/03 18:24:00 ** This is my first mail.
14/12/03 18:24:00 ** --- MESSAGE END ---
14/12/03 18:24:01 ** Connecting to smtp.gmail.com:25
14/12/03 18:24:08 ** Connected.
14/12/03 18:24:08 << 220 mx.google.com ESMTP o17sm23150442pdn.33 - gsmtp<EOL>
14/12/03 18:24:08 >> EHLO Mukul-PC<EOL>
14/12/03 18:24:10 << 250-mx.google.com at your service, [223.186.182.29]<EOL>250-SIZE 35882577<EOL>250-8BITMIME<EOL>250-STARTTLS<EOL>250-ENHANCEDSTATUSCODES<EOL>250-PIPELINING<EOL>250-CHUNKING<EOL>250 SMTPUTF8<EOL>
14/12/03 18:24:10 ** Authenticating as mukul.agrawal19@gmail.com
14/12/03 18:24:10 >> STARTTLS<EOL>
14/12/03 18:24:12 << 220 2.0.0 Ready to start TLS<EOL>
14/12/03 18:24:14 >> QUIT<EOL>
lots of codes in unknown language.
14/12/03 18:21:47 ** Disconnected.
14/12/03 18:21:47 ** Disconnecting from smtp.gmail.com:25
14/12/03 18:21:47 ** Disconnected.
14/12/03 18:21:47 ** Disconnected.
14/12/03 18:21:47 ** Connection Closed Gracefully.
【问题讨论】:
制作mail
命令打印警告(删除前面的@
),然后看看你的error_log
。
如何查看错误日志?
查找 Apache 在您的系统上写入错误日志的位置并 cat/vi 它。
@mudasobwa 我更新了我的问题。
【参考方案1】:
使用您的真实电子邮件地址获取电子邮件。
$to = 'myeamilid@gmail.com';将其替换为您的真实电子邮件地址
【讨论】:
是的,我用的是我的正版..我改变它只是为了写在这里。 您尝试将 smtp_port 更改为 25 吗?? 是的..那也行不通 哦,如果你有解决方案,请告诉我!! Nope..其实我忘记重启服务器了。我重新启动它,现在我的配置实际上已经开始工作了。但是我的邮件失败了。以上是关于我的邮件没有被php函数mail()发送[重复]的主要内容,如果未能解决你的问题,请参考以下文章
带有 xampp 和 hMailServer 的 PHP mail() [重复]