PHPMailer算是PHP中的一个发邮件的插件吧,介绍一下使用方法吧。
我这里使用的是ThinkPHP做的例子,所以我将PHPMailer的包放在了ThinkPHP->Library->Vender下面;
然后在Common->Config里面创建了一个配置文件email.php,并且加载到项目里面(别告诉我不会呀):
return array(
// 配置邮件发送服务器
'MAIL_HOST' =>'ssl://smtp.qq.com:465',//smtp服务器的名称,推荐使用腾讯的smtp
'MAIL_SMTPAUTH' =>TRUE, //启用smtp认证
'MAIL_USERNAME' =>'',//你的邮箱名
'MAIL_FROM' =>'',//发件人地址
'MAIL_FROMNAME'=>'',//发件人姓名
'MAIL_PASSWORD' =>'',//邮箱密码,注意是否开启了三方登录验证什么的
'MAIL_CHARSET' =>'utf-8',//设置邮件编码
'MAIL_ISHTML' =>TRUE, // 是否HTML格式邮件
'MAIL_USERS' => array(
'xudong11.25@qq.com'//接收的邮箱
)
);
然后在Common->Common里面的function.php(没有的话自己创建)添加下面发送邮件的方法,这里可是支持批量发送滴:
function sendMoreMail($to, $title, $content) {
Vendor('PHPMailer.PHPMailerAutoload');
$mail = new PHPMailer(); //实例化
$mail->IsSMTP(); // 启用SMTP
//$mail->SMTPDebug = 1;
$mail->Host=C('MAIL_HOST'); //smtp服务器的名称
$mail->SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证
$mail->Username = C('MAIL_USERNAME'); //你的邮箱名
$mail->Password = C('MAIL_PASSWORD') ; //邮箱密码
$mail->From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址)
$mail->SMTPSecure = 'ssl'; //设置使用ssl加密方式登录鉴权
$mail->Port = 465; // SMTP服务器的端口号
$mail->FromName = C('MAIL_FROMNAME'); //发件人姓名
for ($i = 0; $i < count($to); $i++){
$mail->AddAddress($to[$i],"尊敬的用户");
}
$mail->WordWrap = 50; //设置每行字符长度
$mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件
$mail->CharSet=C('MAIL_CHARSET'); //设置邮件编码
$mail->Subject =$title; //邮件主题
$mail->Body = $content; //邮件内容
$mail->AltBody = "这是一个纯文本的身体在非营利的HTML电子邮件客户端"; //邮件正文不支持HTML的备用显示
return($mail->Send());
}
在相应的控制器里面做发送邮件的操作:
public function addOrder(){
if(!IS_POST)$this->error("请求方式错误");
$data['xingming'] = I('xingming');
$data['dianhua'] = I('dianhua');
$data['huji'] = I('huji');
$data['time'] = time();
$users = C('MAIL_USERS');
$msg = '预约用户信息';
$info = '姓名:' . $data['xingming'] . ';
手机号:' . $data['dianhua'] . ';
预约信息:' . $data['huji'];
sendMoreMail($users,$msg,$info);
}