多个模块发布
功能说明:
PHPMailer 是一个非常强大的PHP发送邮件类库,可以设定发送邮件地址、回复地址、邮件主题、html网页、上传附件等等,并且使用起来非常方便。
特点:
1、在邮件中包含多个 TO、CC、BCC 和 REPLY-TO。
2、平台应用广泛,支持的 SMTP 服务器包括 Sendmail、qmail、Postfix、Gmail、Imail、Exchange 等等。
3、支持嵌入图像,附件,HTML 邮件。
4、可靠的强大的调试功能。
5、支持 SMTP 认证。
6、自定义邮件头。
7、支持 8bit、base64、binary 和 quoted-printable 编码。
下载使用:
下载并解压到extend护展目录
<?php
$mail = new \Smtp\Smtp('smtp.126.com', 'test@126.com', 'password');
$mail->send('标题:Smtp发送测试', '<h2>内容:</h2><p>Smtp.php powered by startmvc</p>', '852510@qq.com');
使用前注意:
PHPMailer 需要 PHP 的 sockets 扩展支持,而登录 QQ 邮箱 SMTP 服务器则必须通过 SSL 加密的, PHP 还得包含 openssl 的支持。使用phpinfo()查看是否支持这两个扩展。
使用前确保邮箱开启pop/smtp设置,对于126,163,qq邮箱需要设授权码,这个授权码就是smtp的密码。
原生使用说明(方法1):
加载类
use Mail\PHPMailer;
或者
$mail = new \Mail\PHPMailer();参
案例说明
use Mail\PHPMailer;
// 实例化PHPMailer核心类
$mail = new PHPMailer();
try {
//服务器设置
$mail->CharSet ="UTF-8"; //设定邮件编码
$mail->SMTPDebug = 1; // 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->isSMTP(); // 设置使用SMTP服务
$mail->Host = 'smtp.126.com'; //SMTP服务器
$mail->SMTPAuth = true; //启用SMTP验证,这个必须是true
$mail->Username = 'user1@126.com'; // smtp登录的账号
$mail->Password = '8888888888'; // 设置发件人邮箱密码或授权码
$mail->SMTPSecure = 'ssl'; // 设置ssl连接smtp服务器的远程服务器端口号(也支持TLS加密)
$mail->Port = 465; // 要连接的TCP端口号
//收件人信息
$mail->setFrom('user2@126.com', 'user1'); //设置发件人邮箱地址及名字
$mail->addAddress('666666666@qq.com', 'user2'); // 收件人信息
//$mail->addAddress('user3@example.com'); // 再添加一个收件人,其中user4及名字可以不写
//$mail->addReplyTo('user4@example.com', 'user4');
// $mail->addCC('cc@example.com');//抄送
// $mail->addBCC('bcc@example.com');
//Attachments(附件)
//$mail->addAttachment('/var/tmp/file.tar.gz'); // 添加一个附件文件在服务器上的完整路径
// $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // 文件名选项
//邮件内容
$mail->isHTML(true); //启用html格式
$mail->Subject = '开发测试startmvc'; // 邮件标题
$mail->Body = '开发测试startmvc。This is the HTML message body <b>in bold! from startmvc</b>'; //邮件内容(可以使用html标签)
// $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
$mail->send();
echo '邮件成功发出!';
} catch (Exception $e) {
var_dump($mail->ErrorInfo); // 具体报错信息
}$this->mail->CharSet ="UTF-8";
快速使用(方法2)
我们对phpmailer做了一个封装类,使用起来更简洁,使用方法如下
加载类库
use Mail\Mail;
或直接实例化引用
$mail= new \Mail\mail($config);
使用方法
$mail = new \Mail\Mail($config);
$res=$mail->send($to,$submit,$content,$attach);
//$to为收件人,可以单个,也可以多个(数组)
//$to='22321312@qq.com';或者$to=array('22321312@qq.com','test@126.com');
//$attach,支持单个或多个文件(数组形式)
实例演示
$config=[
'is_debug'=>0, //0-不启用debug,1-启用debug
'is_smtp'=>1, //是否使用SMTP服务
'host'=>'smtp.126.com', //是否启用SMTP验证
'smtp_auth'=>true, //是否启用SMTP验证
'username'=>'test@126.com', //发件人
'password'=>'88888888', //smtp密码或授权码
'secure'=>'ssl', //SMTP 使用加密协议有:25,25-STARTTLS,465-SSL,587-TLS/STARTTLS
'port'=>'465', //SMTP 使用的端口有:25,25-STARTTLS,465-SSL,587-TLS/STARTTLS
'is_html'=>true, //是否使用html格式
];
$mail = new \Mail\Mail($config);
$res=$mail->send($to,'这是一个标题','这是要发送的内容<b>startmvc</b>');
echo $res?'成功发送':'发送失败';
//$res返回true或false
//实际应用中,$config中的数据可以存到config文件或数据库中。
下载类库 (大小:48k)(更新时间:2020-02-11 09:12:59)