在PHP手册中有一个mail()函数可以实现发送邮件的功能,但是这个函数使用起来非常的麻烦,而且还要配置一台不需要验证身份的邮箱服务器,所以这里不再说利用mail()函数发送邮件的事例了,如果你对这个函数感兴趣,可以去查看PHP的手册,或是去W3C查看。
今天我们要说的就是利用PHPMailer类来实现发送邮件的目的
利用PHPMailer类发送邮件
我们国内一般调用126或是163的邮箱以及QQ的邮箱都会使用到STMP协议,所以本实例也是用的这种STMP协议实现的
先上配置代码
PHP
<?php // 引入PHPMailer的核心文件 require '../zb_users/plugin/Email/phpmailer/PHPMailerAutoload.php'; $username = $_GET["username"]; $phone = $_GET["phone"]; $address = $_GET["address"]; $content = $_GET["content"]; $mail = new PHPMailer(); $mail->isSMTP();// 使用SMTP服务 $mail->CharSet = "utf8";// 编码格式为utf8,不设置编码的话,中文会出现乱码 $mail->Host = "smtp.qq.com";// 发送方的SMTP服务器地址 $mail->SMTPAuth = true;// 是否使用身份验证 $mail->Username = "wbds@heimaoba.cn";// 发送方的qq邮箱用户名 $mail->Password = "************";// 发送方的邮箱密码,注意用qq邮箱这里填写的是“客户端授权密码”而不是邮箱的登录密码! $mail->SMTPSecure = "tls";// 使用tls协议方式 $mail->Port = 587;// qq邮箱的ssl协议方式端口号是587 $mail->setFrom("wbds@heimaoba.cn","米兰国际订单信息");// 设置发件人信息,如邮件格式说明中的发件人,这里会显示为米兰国际订单信息(wbds@heimaoba.cn),米兰国际订单信息是当做名字显示 $mail->addAddress("1096566026@qq.com",'Liang');// 设置收件人信息,如邮件格式说明中的收件人,这里会显示为Liang(1096566026@qq.com) $mail->addReplyTo("wbds@heimaoba.cn","Reply");// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址 //$mail->addCC("77****362@qq.com");// 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址 //$mail->addBCC("77****62@qq.com");// 设置秘密抄送人 //$mail->addAttachment("bug0.jpg");// 添加附件 $mail->Subject = "米兰国际订单信息";// 邮件标题 $mail->Body = "收货姓名:".$username."。"."手机号码:".$phone."。"."详细地址:".$address."。"."备注:".$content;// 邮件正文 //$mail->AltBody = "This is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用 if(!$mail->send()){// 发送邮件 echo "发送错误."; echo "错误信息: ".$mail->ErrorInfo;// 输出错误信息 }else{ echo '发送成功.'; } ?>
代码截图
测试结果,当然是发送成功了
使用PHPMailer注意事项
我使用的PHPMailer是在网上找到早期版本,现在GITHUB上已更新到6.0以上的版本,等我有时间了同去下载下来去测试一下下。
我使用的代码实例,你可以通过下面的下载方式获取到,用于测试或添加到你的项目中
PHPMailer GitHub地址:
Markup
https://github.com/phpmailer/phpmailer复制
PHP Mailer 邮件发送类源件包平台 : 所有平台 | 分类 : 编程开发 | 大小 : 0.44 MB