为啥php邮件功能在xampp中不起作用
Posted
技术标签:
【中文标题】为啥php邮件功能在xampp中不起作用【英文标题】:why php mail function not work in xampp为什么php邮件功能在xampp中不起作用 【发布时间】:2013-05-29 05:16:00 【问题描述】:我在使用 xampp 时遇到问题。我想检查邮件表格,但我看不到任何结果。 我在本网站中像本教程一样配置 Mercury/32:
http://system66.blogspot.com/2010/01/how-to-send-mail-from-localhost-with.html
我通过 Outlook 检查电子邮件,它的工作。 我检查了通过 Mercury 在管理面板中发送邮件发送邮件,它工作正常。
但是当我使用邮件 php 功能时,我无法发送电子邮件,也无法通过 Outlook 接收此电子邮件。
为什么?
请帮帮我
【问题讨论】:
您好,欢迎来到 SO。首先,向我们展示一些代码,以便我们了解您尝试了什么以及如何修复它。 你的mail
调用返回什么值
【参考方案1】:
为此,您需要致电您的 ISP 并要求他们提供 smtp out 服务器地址。完成后,您需要在 C:xampp\php\php.ini 文件中配置 SMTP 设置,或者您可以在 php 脚本的开头添加以下行。
ini_set("SMTP","yoursmtpoutgoingserver");
【讨论】:
【参考方案2】:您必须在 php.ini 文件中设置您的 SMTP 服务器设置
[mail function]
; For Win32 only.
; "http://php.net/smtp"
SMTP = localhost
; "http://php.net/smtp-port"
smtp_port = 25
如果您不在本地运行邮件服务器,则需要访问远程服务器,例如您的 isp 或 gmail
[mail function]
; For Win32 only.
SMTP = mail.yourserver.com
smtp_port = 25
auth_username = smtp-username
auth_password = smtp-password
sendmail_from = you@yourserver.com
【讨论】:
我们将 Outlook 用于电子邮件客户端。因此,只需获取 Outlook 信息并将其插入即可。对吗?【参考方案3】:这对我有用,希望对你有帮助:
-
编辑您的 php.ini (xampp\php\php.ini)。搜索 [mail function] 并相应地更改这些参数。
SMTP = smtp.gmail.com
smtp_port = 587
sendmail_from = [your_gmail_username]@gmail.com
注意:此 gmail 帐户将用于发送电子邮件
sendmail_path = “\”D:\xampp\sendmail\sendmail.exe\”-t”
注意:我确实在 D:\xampp 安装了我的 xampp
编辑您的 sendmail.ini (xampp\sendmail\sendmail.ini)
评论“Mercury”和“A free mail service example”内容如下: # 水星 #account 水星 #host 本地主机 #来自 postmaster@localhost #auth 关闭 # 免费邮件服务 #account Hotmail #tls 开启 #tls_certcheck 关闭 #host smtp.live.com #来自 [exampleuser]@hotmail.com #auth 开启 #user [exampleuser]@hotmail.com #password [示例密码]
-
添加您要用来发送邮件的帐户。在我的示例中,我配置了 Gmail 帐户,如下所示:
-
帐户 Gmail
587 端口
-
如下图设置默认帐号为Gmail:
帐户默认值:Gmail
【讨论】:
【参考方案4】:我明白了。我设置了这个配置,现在我可以在 Outlook 中收到我发送的电子邮件:
我只需要配置
D:\xampp\sendmail\sendmail.ini
默认包含一行
smtp_server=mail.mydomain.com
我不得不把它改成
smtp_server=localhost
无需在旧版本的 XAMPP 中进行配置。
[邮件功能]的正确配置在
D:\xampp\php\php.ini
是
; XAMPP:如果您想使用 SMTP 服务器,请将此注释掉 汞
SMTP = 127.0.0.1 smtp_port = 25
; XAMPP 重要说明 (1):如果 XAMPP 安装在基本目录中 带空格(例如 c:\program filesD:\xampp) fakemail 和 mailtodisk 不能正常工作。 ; XAMPP 重要提示(2):在这种情况下,请 复制根文件夹中的 sendmail 或 mailtodisk 文件夹(例如 C:\sendmail) 并将其用于 sendmail_path。
; XAMPP:如果您想使用 fakemail 转发到您的邮箱(sendmail 文件夹中的 sendmail.exe)
sendmail_path = "\"D:\xampp\sendmail\sendmail.exe\" -t"
; XAMPP:如果您想使用 mailToDisk,请将其注释掉,它 将所有邮件写入 D:\xampp\mailoutput 文件夹
; sendmail_path ="D:\xampp\mailtodisk\mailtodisk.exe"
现在,我正在收件箱中接收邮件。请注意“D:\xampp\”是我的XAMPP安装路径。
感谢所有朋友
【讨论】:
以上是关于为啥php邮件功能在xampp中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
在xampp localhost中发送的php邮件不起作用[重复]
PHP Header Location 在 localhost xampp 中不起作用?
Javascript 在 XAMPP 上的 PHP 中不起作用
.htaccess 在 xampp 中不起作用(Windows 10)
AWS PHP SDK 2 (aws.phar) 在 xampp 中不起作用
php代码在html文件中不起作用,.htaccess配置,dreamweaver php服务器设置,使用xampp [重复]