Mail.class.php类文件如下:
<?php
namespace MY;
/*
* 本类采用PHPMailer
*/
class Mail {
/**
* 构造方法
*/
//public function __construct() {
//$imgname='';
//}
//普通发送邮件 sendmail(收件人,标题,内容)
function sendmail($tomail,$title,$title,$content){
/*邮件设置信息*/
$email_set = C('ACY_PHPMAILER_SYS');
Vendor('PHPMailer.class#phpmailer');
//Vendor("PHPMailer.class#smtp"); //可选,否则会在class.phpmailer.php中包含
$mail = new PHPMailer(true); //实例化PHPMailer类,true表示出现错误时抛出异常
//email基本配置
$mail->CharSet ="UTF-8";// 设置邮件的字符编码,若不指定,则为'UTF-8'//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置为 UTF-8
$mail->Encoding = "base64"; //编码方式
//SMTP设置
$mail->IsSMTP(); // 设置PHPMailer使用SMTP服务器发送Email
$mail->SMTPAuth = true; // 启用 SMTP 验证功能
$mail->Host = $email_set['smtp_host']; // SMTP 服务器。
$mail->Port = $email_set['smtp_port']; // SMTP服务器的端口号
$mail->Username = $email_set['smtp_user']; //SMTP服务器的用户帐号 注意:普通邮件认证不需要加 @域名
$mail->Password = $email_set['smtp_pwd']; //SMTP服务器的用户密码
$mail->SMTPDebug = 1; // 启用SMTP调试 1 = errors 2 = messages
//发件人配置
$mail->SetFrom($email_set['email_address'],$email_set['email_name']);// 设置发件人地址和名称
//收件人配置
if (is_array($tomail)){
foreach ($tomail as $m){
$mail->AddAddress($m,$title);// 收件人邮箱和姓名// 添加收件人地址,可以多次使用来添加多个收件人
}
}else{
$mail->AddAddress($tomail,$title);
}
//回复配置
$reply_email = $email_set['reply_email']?$email_set['reply_email']:$email_set['email_address'];
$reply_name = $email_set['reply_name']?$email_set['reply_name']:$email_set['email_name'];
$mail->AddReplyTo($reply_email,$reply_name); //收件人回复时回复到此邮箱("邮件回复人地址","邮件回复人名称"),可以多次执行该方法
//内容配置
$mail->Subject = $title; // 设置邮件标题
$mail->IsHTML(true); // send as HTML
//$mail->Subject = "=?utf-8?B?".base64_encode($subject)."?="; // 防止乱码,记录一下,差别在一个要写完整邮件地址,一个只要填@前面的部分。
//$mail->Body = $content;// 设置邮件正文
$mail->MsgHTML($content);
// 发送邮件。
return $mail->Send()? true:false;
}
}
?> 最佳答案