有没有办法可以为PHP配置WAMP server以启用mail()
功能?
答案 0 :(得分:196)
从localhost配置一个有效的电子邮件客户端是一件非常繁琐的工作,我花了几个小时的努力尝试它。我确信更有经验的人可以提供帮助,或者他们可能也同意我的意见。
如果您只想测试,这里有一个很好的本地测试邮件工具,几乎不需要配置:
http://www.toolheap.com/test-mail-server-tool/
对我来说,这对我来说很有用,希望这能帮到你。
答案 1 :(得分:44)
安装Fake Sendmail(下载sendmail.zip)。 然后配置C:\ wamp \ sendmail \ sendmail.ini:
smtp_server=smtp.gmail.com
smtp_port=465
auth_username=user@gmail.com
auth_password=your_password
以上内容适用于Gmail帐户。 然后配置php.ini:
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"
现在,重新启动Apache,这基本上就是你需要做的。
答案 2 :(得分:4)
使用开源程序调用{{3}},您可以非常轻松地通过wamp发送。我还在设置它,但这是一个Send Mail。设置不到2分钟。
刚尝试过,它就像一个魅力!一旦我取消注释错误日志并发现它在pop3身份验证上停滞不前,我就删除了它并且发送得很好。祝你好运!
答案 3 :(得分:2)
您需要SMTP服务器才能发送邮件。如果您有一个不需要SMTP验证的可用(可能是您的ISP?),只需编辑php.ini文件中的“SMTP”([邮件功能])设置。
如果这不是选项,因为您的SMTP服务器需要身份验证,您将无法使用内部mail()函数,并且必须使用支持smtp身份验证的某些第三方类。例如http://pear.php.net/package/Mail/
答案 4 :(得分:1)
我尝试过测试邮件服务器工具,虽然效果很好,但仍然需要在某个客户端上打开电子邮件。
我找到 Papercut :https://papercut.codeplex.com/
对于配置而言,它很容易作为测试邮件服务器工具(实际上是零配置),它还可以作为电子邮件客户端,具有消息的视图(非常适合HTML电子邮件) ,标题,正文(检查HTML)和原始(完整未解析的电子邮件)。
它还有一个 Sections 视图,用于拆分电子邮件中找到的不同媒体类型。
它具有超级干净友好的用户界面,良好的日志查看器,并在收到电子邮件时为您提供通知。
我发现它很完美,所以我只是想给我2c,也许可以帮助别人。
答案 5 :(得分:1)
Sendmail不适合我,所以我使用了msmtp 1.6.2 w32,大部分只是按照DeveloperSide的说明操作。以下是后人设置的快速概述:
在您的Gmail帐户下启用IMAP 访问权限(msmtp正在发送电子邮件)
为不太安全的应用启用访问权限。登录您的Google帐户并转到here
修改php.ini
,查找并更改以下设置以反映以下内容:
; These are commented out by prefixing a semicolon
;SMTP = localhost
;smtp_port = 25
; Set these paths to where you put your msmtp files.
; I used backslashes in php.ini and it works fine.
; The example in the devside guide uses forwardslashes.
sendmail_path = "C:\wamp64\msmtp\msmtp.exe -d -C C:\wamp64\msmtp\msmtprc.ini -t --read-envelope-from"
mail.log = "C:\wamp64\msmtp\maillog.txt"
在msmtprc.ini
文件所在的目录中创建和编辑文件msmtp.exe
,如下所示,将其替换为您自己的电子邮件和密码:
# Default values for all accounts
defaults
tls_certcheck off
# I used forward slashes here and it works.
logfile C:/wamp64/msmtp/msmtplog.txt
account Gmail
host smtp.gmail.com
port 587
auth on
tls on
from ReplaceWithYourEmail@gmail.com
user ReplaceWithYourEmail@gmail.com
password ReplaceWithYourPassword
account default : gmail
答案 6 :(得分:0)
我使用Mercury / 32和Pegasus Mail来获取mail()功能。如果您想要一个以您的域名结尾的电子邮件地址,它也可以作为邮件服务器使用。