本地没有发邮件的服务器,借助现成的SMTP服务器发送邮件是个不错的选择,这里使用到的工具是phpmailer ( Version 5.2.0),SMTP服务器就选gmail和163。
1. 使用gmail发送的脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
include ( "class.phpmailer.php" );
include ( "class.smtp.php" );
//获取一个外部文件的内容
$body = file_get_contents ( 'contents.html' );
$body = eregi_replace ( "[\]" , '' , $body );
//设置smtp参数
$mail ->IsSMTP();
$mail ->SMTPAuth = true;
$mail ->SMTPKeepAlive = true;
$mail ->SMTPSecure = "ssl" ;
$mail ->Host = "smtp.gmail.com" ;
$mail ->Port = 465;
//填写你的gmail账号和密码
$mail ->Username = "yourname@gmail.com" ;
$mail ->Password = "password" ;
//设置发送方,最好不要伪造地址
$mail ->From = "yourname@gmail.com" ;
$mail ->FromName = "Webmaster" ;
$mail ->Subject = "This is the subject" ;
$mail ->AltBody = $body ;
$mail ->WordWrap = 50; // set word wrap
$mail ->MsgHTML( $body );
//设置回复地址
$mail ->AddReplyTo( "yourname@gmail.com" , "Webmaster" );
//添加附件,此处附件与脚本位于相同目录下
//否则填写完整路径
$mail ->AddAttachment( "attachment.jpg" );
$mail ->AddAttachment( "attachment.zip" );
//设置邮件接收方的邮箱和姓名
$mail ->AddAddress( "toname@gmail.com" , "FirstName LastName" );
//使用HTML格式发送邮件
$mail ->IsHTML(true);
//通过Send方法发送邮件
//根据发送结果做相应处理
if (! $mail ->Send()) {
echo "Mailer Error: " . $mail ->ErrorInfo;
} else {
echo "Message has been sent" ;
}
|
2.使用163发送邮件的脚本
只需要更改SMTP配置和账户密码即可,SMTP配置如下
1
2
3
4
5
6
7
|
//设置smtp参数
//注意这里不需要ssl协议
$mail ->IsSMTP();
$mail ->SMTPAuth = true;
$mail ->SMTPKeepAlive = true;
$mail ->Host = "smtp.163.com" ;
$mail ->Port = 25;
|
在本地wampserver环境下测试通过,需要开启php_openssl 扩展。
以上所述就是本文的全部内容了,希望大家能够喜欢。