最近项目上要求,要做个邮件发送的功能,因为用到的框架是ThinkPHP,于是就自己整理一下。
引入class.phpmailer.php,大家可以去这个链接去下载:
http://pan.baidu.com/s/1eRb40iY
界面demo,大家可以自行丰富:
在Home文件夹中建立文件Lib,导入下载的文件夹。
在controller层中引入class.phpmailer.php
引入文件并实例化:
require_once(dirname(__FILE__).'/../Lib/mail/class.phpmailer.php');
$mail = new \PHPMailer(); //实例化
开始执行方法,我用的是163邮箱:
$mail->IsSMTP(); // 启用SMTP
$mail->Host = "smtp.163.com"; //SMTP服务器 以163邮箱为例子
$mail->Port = 25; //邮件发送端口
$mail->SMTPAuth = true; //启用SMTP认证 $mail->CharSet = "UTF-8"; //字符集
$mail->Encoding = "base64"; //编码方式 $mail->Username = ""; //你的邮箱
$mail->Password = ""; //你的密码
$mail->Subject = "测试"; //邮件标题 $mail->From = ""; //发件人地址(也就是你的邮箱)
$mail->FromName = "某某公司技术部"; //发件人姓名 $address = "";//收件人email,可以自定义
$mail->AddAddress($address, "李总");//添加收件人(地址,昵称)$mail->AddAttachment($path); // 添加附件,并指定名称
$mail->IsHTML(true); //支持html格式内容
$mail->Body = $data['sendcontent']; //邮件主体内容
进行判断邮件是否发送成功:
if(!$mail->Send()) {
echo "发送失败: " . $mail->ErrorInfo;
}else{
$obj = M('mail');
$res = $obj->data($data)->add();
$this->success('邮件发送成功,页面跳转中......',U('Mail/mailList'));
}
执行,收到邮件如下图: