我正在创建一个网站,在用户注册后,我想向他们发送电子邮件。我使用的是 codeigniter 框架,它有一些简洁的预制邮件功能。代码运行正常,当我运行 php 邮件调试器时,它显示以下内容:
220 localhost ESMTP server ready.
hello: 250-localhost Hello localhost; ESMTPs are:
250-TIME
250-SIZE 0
250 HELP
from: 250 Sender OK - send RCPTs.
to: 250 Recipient OK - send RCPT or DATA.
data: 354 OK, send data, end with CRLF.CRLF
250 Data received OK.
quit: 221 localhost Service closing channel.
Your message has been successfully sent using the following protocol: smtp
User-Agent: CodeIgniter
Date: Sun, 26 Aug 2012 01:50:52 +0200
From: "Free Interesting Articles"
Return-Path:
如您所见,没有错误,但我从未收到电子邮件。我已经设置了 xampp 附带的 mercury 邮件服务器,它记录了我发送的每封邮件,但我根本没有收到任何电子邮件。
有人知道如何修复这个问题吗?
谢谢!
答案1
要解决这个问题,您需要使用您的计算机 ip,端口转发 25 和 110。然后您需要转到 php.ini 并单击 ctrl f,然后搜索:邮件功能。然后将该 ip 更改为您的本地计算机 ip。您可以通过输入 ip config 找到它。然后您需要在要求邮件服务器的地方输入该 ip。然后您需要将发送邮件的来源设置为您在 mercury 中创建的本地电子邮件帐户。电子邮件帐户需要看起来像:(username@computerip)。然后您将保存文件并转到目录:C:\xampp\sendmail,然后单击 sendmail.ini 并执行与 php.ini 中相同的操作,接受它将位于文件的顶部。然后保存文件。同样在 mercury 中,检查设置发送中继非本地邮件。之后您应该能够使用 php mail() 函数并发送 php 电子邮件。就是这样,您应该不会再有任何问题。确保删除当前配置,然后执行此操作。