您的位置:首页 > 编程语言 > PHP开发

PHP在windows下发送邮件如何配置

2017-02-15 15:24 513 查看
为了实现windows下php发送邮件,我找了很多教程,但是仍然没有成功,后来跑到国外网站终于找出了端倪。

首先要知道php是如何实现发送邮件功能的,应该满足两个条件:

1.申请了一个支持smtp服务的邮箱

2.本地安装了一个能够连接smtp服务器的第三方软件(因为现在的邮箱服务需要验证才可以发送邮件,所以我们利用第三方软件完成它)

下面一一讲解需要注意的地方

注册邮箱

首先你要先有一个邮箱,之后sendmail会模拟登录这个邮箱发送邮件,假设我注册的邮箱为example@yeah.net,之后我需要登录这个邮箱,进行邮箱安全设置,开启smtp服务,设置授权码。这个授权码是你利用smtp服务登录时的密码。请务必注意你所申请的邮箱是否有smtp设置。

下载sendmail

http://glob.com.au/sendmail/

下载的zip安装包直接解压到你想解压到的目录(解压路径最好不要过长,不要包含中文,这是个好习惯,请务必保证这样做),我的解压路径为

C:/wamp64/bin/sendmail/


sendmail的作用是以第三方的方式登录某个邮箱并发送邮件

配置php.ini

[mail function]
sendmail_path = "C:/wamp64/bin/sendmail/sendmail.exe -t"


请注意sendmail_path的斜杠方向,其他mail参数无需设置,因为我们会在sendmail.ini中设置服务器地址,端口号等

配置sendmail.ini

smtp_server= smtp.yeah.net
smtp_port=25
;error_logfile和debug_logfile请先不要注释,这样有助于您debug,配置无误后再注释掉它们
error_logfile=error.log
debug_logfile=debug.log
auth_username= example
auth_password= yourpassword
force_sender= example@yeah.net

这里主要是设置了邮箱服务器,端口号,用户名,密码。最后的force_sender请务必设置,否则会报错Message is missing sender's address

php代码

<?php
$to = "yourmail@qq.com";         // 邮件接收者
$subject = "测试邮件";           // 邮件标题
$message = "这里是新的内容";     // 邮件正文
if(mail($to,$subject,$message)) {
echo "邮件已发送";
}else {
echo "邮件发送失败";
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows php 邮件 smtp 邮箱