<?php
namespace PHPMailer\PHPMailer;
require 'PHPMailer-master/src/PHPMailer.php';
require 'PHPMailer-master/src/SMTP.php';
require 'PHPMailer-master/src/Exception.php';
//包下载地址https://github.com/PHPMailer/PHPMailer
//参数
$subject = '测试附件发送';
$content = '邮件内容';
$attachments = 'test.zip';//附件压缩后的地址
/*
//压缩文件 https://www.php.cn/faq/556515.html
$attachments_file_url = '枫叶_1.jpg';
//打包附件
$zip = new \ZipArchive();
if ($zip->open($attachments, \ZipArchive::CREATE) === TRUE) {
// 添加文件到压缩包
$zip->addFile($attachments_file_url);
// 关闭压缩包
$zip->close();
}
*/
//压缩文件夹 https://www.php.cn/faq/582443.html
if(! file_exists($attachments)){
// 修改ZIP文件名编码
$attachments = iconv('UTF-8', 'GBK', $attachments);
$zip = new \ZipArchive();
if ($zip->open($attachments, \ZipArchive::CREATE) === TRUE) {
$zip->addGlob('测试的附件/*');//将文件夹内的文件写入(压缩)
$zip->close();
}
}
$mail = new PHPMailer();
$mail->IsSMTP(); // 启用SMTP
$mail->Host="smtp.qq.com"; //smtp服务器的名称(这里以QQ邮箱为例)
$mail->SMTPSecure = "ssl"; //目前规定必须使用ssl,非ssl的协议已经不支持了
$mail-> Port = 465; //端口号
#$mail->SMTPDebug = 2; //用于debug PHPMailer信息 : 会显示执行信息(包含错误信息)
$mail->SMTPAuth = true; //启用smtp认证
$mail->Username = "59673467@qq.com"; //你的邮箱名
$mail->Password = "*******" ; //邮箱授权码,注意是授权码,不是登录密码 指南:https://jingyan.baidu.com/article/4f34706e0a35a9a286b56d46.html
$mail->From = "59673467@qq.com"; //发件人地址(也就是你的邮箱地址)
$mail->FromName = "service"; //发件人姓名
$mail->AddAddress('592291622@qq.com'); //收件人地址
$mail->WordWrap = 50; //设置每行字符长度
$mail->IsHTML(true); // 是否HTML格式邮件
$mail->CharSet="utf-8"; //设置邮件编码
$mail->AddAttachment($attachments);// 发送附件
$mail->Subject = $subject; //邮件主题
$mail->Body = $content; //邮件内容
if ($mail->send()) {
echo '邮件发送成功!';
} else {
echo '邮件发送失败!';
}
我的目录结构
image.png