Thinkphp使用PHPMailer发送邮件

  • Simon 发布于 2016-08-20
  • 栏目: php
  • 2264人围观
  • 11评论
1.下载PHPMailer

链接:http://pan.baidu.com/s/1nuP3ijv 密码: sbaw

将下载的PHPMailer解压后放到 ThinkPHP/library/Vendor/ 下面

2.在项目的公用函数库里添加如下方法 , 通常在 /Application/Common/Common/function.php
function send_mail($to, $name, $subject = '', $body = '', $attachment = null){
	$config = C('THINK_EMAIL');
	Vendor('PHPMailer.PHPMailerAutoload'); //从PHPMailer目录导class.phpmailer.php类文件
	$mail = new PHPMailer(); //PHPMailer对象
	$mail->CharSet = 'UTF-8'; //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
	$mail->IsSMTP(); // 设定使用SMTP服务
	$mail->SMTPDebug = 0; // 关闭SMTP调试功能 1 = errors and messages  2 = messages only
	$mail->SMTPAuth = true; // 启用 SMTP 验证功能
	$mail->SMTPSecure = 'ssl'; // 使用安全协议
	$mail->Host = $config['SMTP_HOST']; // SMTP 服务器
	$mail->Port = $config['SMTP_PORT']; // SMTP服务器的端口号
	$mail->Username = $config['SMTP_USER']; // SMTP服务器用户名
	$mail->Password = $config['SMTP_PASS']; // SMTP服务器密码
	$mail->SetFrom($config['FROM_EMAIL'], $config['FROM_NAME']);
	$replyEmail = $config['REPLY_EMAIL']?$config['REPLY_EMAIL']:$config['FROM_EMAIL'];
	$replyName = $config['REPLY_NAME']?$config['REPLY_NAME']:$config['FROM_NAME'];
	$mail->AddReplyTo($replyEmail, $replyName);
	$mail->Subject = $subject;
	$mail->AltBody = "为了查看该邮件,请切换到支持 HTML 的邮件客户端";
	$mail->MsgHTML($body);
	$mail->AddAddress($to, $name);
	if(is_array($attachment)){ // 添加附件
		foreach ($attachment as $file){
			is_file($file) && $mail->AddAttachment($file);
		}
	}
	return $mail->Send() ? true : $mail->ErrorInfo;
}
3.在项目配置文件config.php加入配置
    'THINK_EMAIL' => array(
      'SMTP_HOST' => 'smtp.qq.com', //SMTP服务器
      'SMTP_PORT' => '465', //SMTP服务器端口
      'SMTP_USER' => '***@simon8.com', //SMTP服务器用户名
      'SMTP_PASS' => '******', //SMTP服务器密码
      'FROM_EMAIL' => '***@simon8.com', //发件人EMAIL
      'FROM_NAME' => 'Simon', //发件人名称
      'REPLY_EMAIL' => '', //回复EMAIL(留空则为发件人EMAIL)
      'REPLY_NAME' => '', //回复名称(留空则为发件人名称
    ),
4.调用send_mail方法
send_mail('xxx@qq.com','Simon', '我是主题','邮件发送测试----------------测试');


QQ截图20160820212526.jpg

发送成功 ,根据你的需求去调用吧



注: 

1. PHP需要开启openssl

2. Simon的域名邮箱与QQ邮箱进行了绑定 , 所以使用的是qq邮箱的smtp服务器和端口.

请自行开通SMTP服务,并查询自己邮箱的SMTP服务器地址和端口号.

标签: thinkphpphp

评论

  • 645631686 (2017-01-16 22:01:29) 说:
    是呢是呢~我这次的风格也想装个B走大牛路线 哈哈
  • 645631686 (2017-01-16 21:50:01) 说:
    我这次的风格黑白色,没有杂色,计划把表情头像之类的全部去掉,黑纸白字~~
    • Simon (2017-01-16 22:00:12) 说:
      可以可以,现在流行纯文字博客啊,看技术大牛全是简单的黑底白字
  • 645631686 (2017-01-16 21:43:04) 说:
    我在用laravel进行新的博客改版,进行的差不多了,年前上线~~ 你的博客也该改版了~~
    • Simon (2017-01-16 21:48:07) 说:
      我今天还看你博客来着,几个月没动了。我也在用laravel写新后台。。。。
  • 帅的很洒脱 (2016-08-22 16:50:12) 说:
    goodboy
    • Simon (2016-08-22 16:52:18) 说:
      nice+1
  • 美美哒 (2016-08-21 21:41:28) 说:
    666666666666666666
  • 我勒个去 (2016-08-21 20:50:47) 说:
    头像真JB难看,博主弄点好头像啊
  • 我勒个去 (2016-08-21 20:48:29) 说:
    说好的肥皂呢
    • Simon (2016-08-21 20:49:17) 说:
      我还没上传