我需要一些帮助。我试图从PHP脚本发送电子邮件。我的环境包括以下内容:
操作系统:Windows 8
XAMPP版本:1.8.2
php版本:5.4.19
我有以下php脚本:
<?php
mail('sugar.donkey@gmail.com','Helo','This is a test','From:salt@goodness.com');
?>
发送邮件配置文件的以下配置:
smtp_server=smtp.gmail.com
; smtp port (normally 25)
smtp_port=465
auth_username=sugar.donkey+gmail.com
auth_password=[MYPASSWORDHERE]
php.ini上的配置:
[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
; SMTP = smtp.gmail.com
; smtp_port = 465
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = postmaster@localhost
我运行php脚本时没有出错,但我似乎也没有收到电子邮件。我哪里错了?
答案 0 :(得分:3)
我不确定您在网络服务器上运行的操作系统是什么;
大多数Linux安装都预安装了sendmail,总是有设置SPF / PTR记录的麻烦,以确保PHP脚本发送的电子邮件不会被标记为垃圾邮件。名为MSMTP的SMTP客户端可用于使用第三方SMTP服务器发送电子邮件,这也可以由PHP的mail()代替sendmail使用。
我希望这会有所帮助
https://www.digitalocean.com/community/articles/how-to-use-gmail-or-yahoo-with-php-mail-function
同样对于localhost测试,请检查一下。 http://blogs.bigfish.tv/adam/2009/12/03/setup-a-testing-mail-server-using-php-on-mac-os-x/
答案 1 :(得分:0)
即使我试图让这个配置工作:)
在你的情况下我相信你需要在php.ini中注释
配置应该是
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
SMTP = smtp.gmail.com
smtp_port = 465
; For Win32 only.
http://php.net/sendmail-from
sendmail_from = postmaster@localhost
谢谢