A-A+

php通过phpmailer类发送邮件

2015年03月11日 php 暂无评论 阅读 178 次

phpmailer类简介:现在需要做thinkphp项目的密码找回功能,phpmailer测试成功,记录备份.

phpmailer的简介,一大堆,也没时间看,

  1. 在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址
  2. 支持多种邮件编码包括:8bit,base64,binary和quoted-printable
  3. 支持SMTP验证
  4. 支持冗余SMTP服务器
  5. 支持带附件的邮件和Html格式的邮件
  6. 自定义邮件头
  7. 支持在邮件中嵌入图片
  8. 调试灵活
  9. 经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imail,Exchange等
  10. 可运行在任何平台之上

安装方法:

1.下载:

官方地址:http://phpmailer.worxware.com/index.php?pg=phpmailer

下载地址:https://github.com/Synchro/PHPMailer

2.解压缩,找到class.phpmailer.php 、class.smtp.php两个类放到自己的目录下!

3.设置参数,然后调用.

mail.php代码如下:

<?php

//$to      收件人地址
//$subject 邮件主题
//$body    邮件内容
function postmail($to,$subject = "",$body = ""){
require_once('class.phpmailer.php');
include('class.smtp.php');
$mail = new PHPMailer(); //实例化一个PHPMailer对象出来
$mail->CharSet ="UTF-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
$mail->IsSMTP(); // 设定使用SMTP服务
$mail->SMTPDebug  = 1;                     // 启用SMTP调试功能
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth   = true;                  // 启用 SMTP 验证功能
//$mail->SMTPSecure = "ssl";                 // 安全协议
$mail->Host       = "smtp.qq.com";      // SMTP 服务器
$mail->Port       = 25;                   // SMTP服务器的端口号
$mail->Username   = "1283249466@qq.com";  // SMTP服务器用户名
$mail->Password   = "密码";                   // SMTP服务器密码
$mail->SetFrom('替换为本人邮箱地址', '黑雨');
$mail->AddReplyTo("替换为邮箱地址","黑雨");  //回复地址
$mail->Subject    = $subject;
$mail->AltBody    = "To view the message, please use an HTML compatible email viewer! - From www.jiucool.com"; // optional, comment out and test
$mail->MsgHTML($body);
$address = $to;
$mail->AddAddress($address, "收件人名称");
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!恭喜,邮件发送成功!";
}
}

$rz = postmail("目标邮箱地址","主题","邮箱内容");

参考:http://baike.baidu.com/link?url=8hz5hMVfqaaAhhpneuf2qRfa2f4Raux6RzcdlayCedD4X-_uZ72dG0PZ2sZvz2Ma9_wywoWRk2MAaYmlUrjMDq

二,用smtp发送邮件(没测试,备用)

    <?php
include "smtp.php";

$smtpserver = "smtp.163.com";                     //SMTP服务器
$smtpserverport = 25;                             //SMTP服务器端口
$smtpusermail = "zhangyinghf@163.com";            //SMTP服务器的用户邮箱
$smtpuser = "zhangyinghf@163.com";                //SMTP服务器的用户帐号
$smtppass = "*********";                      //SMTP服务器的用户密码
$smtpemailto = "xtaying@gmail.com";               //发送给谁

$mailsubject = "账号分配";                                                    //邮件主题
$mailbody = "<h1>this is a test";                //邮件内容
$mailtype = "HTML";                              //邮件格式(HTML/TXT),TXT为文本邮件

$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp->debug = true;//是否显示发送的调试信息
$mailsubject = mb_convert_encoding($mailsubject, "gb2312", "utf-8");
$mailbody = mb_convert_encoding($mailbody, "gb2312", "utf-8");
$result=    $smtp->sendmail($smtpemailto, $smtpusermail,$mailsubject, $mailbody, $mailtype);
?>

标签:

给我留言

Copyright © web前端技术开发个人博客 保留所有权利  京ICP备14060653号 Theme  Ality

用户登录