在xampp中设置php邮件

Jam*_*es 24 php email xampp installation

我正在学习PHP并在我的计算机上安装了Xampp.

但我的设置有问题,因为电子邮件选项似乎不起作用.

在做了一些阅读后,我认为它与下面的内容有关,可以在我的服务器上找到php.ini文件

[mail function]   
; For Win32 only.   
; *hp://*php.net/smtp   
SMTP = localhost  
; http://php.net/smtp-port   
smtp_port = 25   

; For Win32 only.   
; http://php.net/sendmail-from   
;sendmail_from = postmaster@localhost   
Run Code Online (Sandbox Code Playgroud)

[请注意我已经从http:// 更改了hp://以上,因为本网站限制发布超链接]

有什么我需要改变的吗?我看过swiftmailer这样的软件,但我不知道Xampp是否已经包含了这个?任何提示将非常感谢!

谢谢詹姆斯

Byr*_*ock 14

我最喜欢的smtp服务器是hMailServer.

它有一个很好的Windows友好的安装程序和向导.放下我设置的最简单的邮件服务器.

它可以通过您的gmail/yahoo/etc帐户代理或直接发送电子邮件.

一旦安装完毕,xampp中的电子邮件就可以在没有配置更改的情况下工作.

  • 嗨拜伦,有没有关于如何设置 hMailserver 代理以向 gmail 和 yahoo 发送电子邮件的教程? (2认同)

kev*_*nji 9

XAMPP应该附带一个"假的"sendmail程序.在这种情况下,您也可以使用sendmail:

[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
; http://php.net/smtp-port
;smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "C:/xampp/sendmail/sendmail.exe -t -i"
Run Code Online (Sandbox Code Playgroud)

Sendmail应该有sendmail.ini它; 它应该配置为:

# Example for a user configuration file

# Set default values for all following accounts.
defaults
logfile "C:\xampp\sendmail\sendmail.log"

# Mercury
#account Mercury
#host localhost
#from postmaster@localhost
#auth off

# A freemail service example
account ACCOUNTNAME_HERE
tls on
tls_certcheck off
host smtp.gmail.com
from EMAIL_HERE
auth on
user EMAIL_HERE
password PASSWORD_HERE

# Set a default account
account default : ACCOUNTNAME_HERE
Run Code Online (Sandbox Code Playgroud)

当然,将ACCOUNTNAME_HERE替换为任意帐户名称,将EMAIL_HERE替换为有效的电子邮件(例如Gmail或Hotmail),并将PASSWORD_HERE替换为您的电子邮件的密码.现在,您应该能够发送邮件了.请记住重新启动Apache(从控制面板或批处理文件)以允许对PHP的更改工作.


Dav*_*ers 5

除非您在本地计算机上设置了邮件服务器,否则设置SMTP = localhost将不起任何作用.

在(很久以前)过去的日子里,将SMTP的值设置为ISP的SMTP服务器的地址就足够了.这现在很少有效,因为大多数ISP坚持使用用户名和密码进行身份验证.但是,PHP mail()函数不支持SMTP身份验证.它旨在直接与本地服务器的邮件传输代理一起工作.

您需要设置本地邮件服务器或使用支持SMTP身份验证的PHP类,例如Zend_Mail或PHPMailer.但是,最简单的解决方案是将邮件处理脚本上载到远程服务器.