XAMPP 下配置SMTP mail服务,使PHP的mail() 函数可以发送邮件

PHP的mail() 邮件函数很简单,但也导致了不能使用目前流行的 带验证功能的 SMTP 服务器(gmail, 163, 126等)

现在通过配置 XAMPP 提供的 sendmail 来使得 PHP 的 mail() 函数可以正常发送邮件,下面以:smtp.126.com 为例:

1.  找到 xampp/php/php.ini 文件,找到 [mail function] 语句块,修改如下:

[mail function]
SMTP = smtp.126.com
smtp_port = 25
sendmail_from = xxx@126.com
sendmail_path = "\"你的xampp安装目录\xampp\sendmail\sendmail.exe\" -t"

2. 找到 xampp/sendmail/sendmail.ini 文件,修改如下:

[sendmail]
smtp_server = localhost
smtp_port = 25
default_domain = 126.com
auth_username = 你的邮箱@126.com
auth_password = 你的密码

force_sender = xxx@126.com

3. 配置 SSL 服务(可选)

因为gmail, 163, 126 等需要使用SSL来连接SMTP邮件服务器,而xampp里的sendmail程序不支持ssl连接。
如果你使用的是其它邮箱,且不需要SSL来连接SMTP,那把smtp.126.com改成对应的SMTP服务器地址就好了。

我们可以下载安装一个SSL代理软件,我们这里使用http://www.stunnel.org/

安装成功后,打开stunnel里面的stunnel.conf文件,找到下面的代码,修改如下:
这里我们增加了一个 [126-smtp] 节点:

;[gmail-smtp]
;client = yes
;accept = 127.0.0.1:25
;connect = smtp.gmail.com:465

[126-smtp]
client = yes
accept = 127.0.0.1:25
connect = smtp.126.com:465

4. 测试你的 PHP mail() 函数吧,呵呵!

<?php
	$from_name = 'xxx';
	$from_email = 'xxx@126.com';
	$headers = 'From: $from_name <$from_email>';
	$body = 'This is a test mail';
	$subject = 'Test email from php mail()';
	$to = 'xxx@xxx.com';
	if (mail($to, $subject, $body, $headers)) {
		echo "success!";
	} else {
		echo "fail…";
	}
?>

5. 你已经成功了!

 

 

 

 

转载于:https://my.oschina.net/jsan/blog/62767

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值