phpmailer邮件功能

来源:转载

1、第一布,下载phpmailer


2、第二步 : 封装使用类


<?php
/**
* Created by PhpStorm.
* User: user
* Date: 2017/8/6
* Time: 15:37
*/
namespace phpmailer;
/**
* Class Email PHP邮件发送类
* @param $tomail 接收邮件者邮箱
* @param $toname 接收邮件者名称
* @param $subject 邮件主题
* @param $body 邮件内容
* @param $attachment 附件列表
* @param $date_timezone 默认时区 PRC
* @param $charset 默认字符集 UTF-8
* @return true false
*/
class Email
{
//发送邮件
public static function send_mail($tomail, $toname, $subject = '', $body = '', $attachment = null,$date_timezone='PRC',$charset='UTF-8')
{
//设置时区
date_default_timezone_set($date_timezone);
//实例化邮件对象
$mail = new PHPMailer();
//设置字符集
$mail->CharSet = $charset;
//使用SMTP服务
$mail->isSMTP();
//关闭调试模式 0=关闭 1=错误和消息 1=消息
$mail->SMTPDebug = 0;
//启用SMTP验证功能
$mail->SMTPAuth = true;
//使用安全协议
$mail->SMTPSecure = 'ssl';
//SMTP 服务器
$mail->Host = 'smtp.163.com';
//SMTP端口号
$mail->Port = '465';
//SMTP 用户名
$mail->Username = '';
//SMTP 密码
$mail->Password ='';
//发件人地址,发件人名称
$mail->setFrom($tomail,$toname);
//回复地址 回复名称 留空默认为发件人地址和发件人名称
$mail->addReplyTo('','');
//邮件主题
$mail->Subject = $subject;
//邮件内容
$mail->msgHTML($body);
//发送者地址和名称
$mail->addAddress('[email protected]','小玮');
//添加附件
if( is_array($attachment) )
{
foreach($attachment as $file)
{
is_file($file) && $mail->addAttachment($file);
}
}
//返回成功信息
return $mail->send() ? true : $mail->ErrorInfo;
}
}

3、直接实例化类,调用方法。

关于使用phpmailer出现连接失败, 发送失败:qq提示: SMTP server error: mail from address must be same as authorization user163提示:SMTP connect error之类的 小菜一枚,以前虽然用过phpmailer,但是都是别人已经封装好的, 现在自己独立使用,真是醉了, 从昨天到今天早上才解决,看到百度那么多帖子,想必跟我一样的人大有人在,发在这里希望能解决一部分人的问题。没什么可说的,两点哈第一, php.ini里的两个都要打开,其实很多人的都是打开的 ;extension=php_sockets.dll ;extension=php_openssl.dll 第二, 代码中的 $mail->Password = '**********'; //发信人的邮箱密码这个不是邮箱密码啊啊~ 这个特么的是独立管理密码-就是管理smtp协议的那个密码(授权码或者独立管理密码),在163和qq邮箱开启smtp的时候都必须要填写的一个独立管理密码,就是这个密码

分享给朋友:
您可能感兴趣的文章:
随机阅读: