文章描述:
WordPress上传文件和发送邮件
方法
上传文件
function upload_file($file){
//上传文件目录地址
$oldPath = $file[\"file\"][\"tmp_name\"];
$newPath = \"upload/\".date(\"Y-m-d\");
//创建上传目录
if (!file_exists($newPath)){
mkdir ($newPath,0777,TRUE);
}
$file_path = $newPath.\'/\'.$file[\"file\"][\"name\"];
//上传文件
move_uploaded_file($oldPath, $file_path);
$date = date(\'Ymdhis\');
//得到上传文件的名字
$fileName = $file[\"file\"][\"name\"];
//将文件名以\'.\'分割得到后缀名,得到一个数组
$name = explode(\'.\', $fileName);
//得到一个新的文件为\'20220101.xxx\',即新的路径
$file_newPath = $newPath .\'/\'.$date. \'.\' . $name[1];
rename($file_path, $file_newPath);
return $file_newPath;
}
发送邮件
function send_email($file_url){
$mail = new PHPMailer(true); // Passing `true` enables exceptions
try {
//服务器配置
$mail->CharSet =\"UTF-8\"; //设定邮件编码
$mail->SMTPDebug = 0; // 调试模式输出
$mail->isSMTP(); // 使用SMTP
$mail->Host = \'smtp.qq.com\'; // SMTP服务器
$mail->SMTPAuth = true; // 允许 SMTP 认证
$mail->Username = \'605884189@qq.com\'; // SMTP 用户名 即邮箱的用户名
$mail->Password = \'xxxxxxxxxxxxxxxx\'; // SMTP 密码 部分邮箱是授权码(例如163邮箱)
$mail->SMTPSecure = \'ssl\'; // 允许 TLS 或者ssl协议
$mail->Port = 465; // 服务器端口 25 或者465 具体要看邮箱服务器支持
$mail->setFrom(\'605884189@qq.com\', \'Mailer\'); //发件人
$mail->addAddress(\'00000000000@qq.com\', \'Joe\'); // 收件人
$mail->addAddress(\'00000000000@qq.com\'); // 可添加多个收件人
//$mail->addReplyTo(\'605884189@qq.com\', \'info\'); //回复的时候回复给哪个邮箱 建议和发件人一致
//$mail->addCC(\'cc@example.com\'); //抄送
//$mail->addBCC(\'bcc@example.com\'); //密送
//发送附件
// $mail->addAttachment(\'../xy.zip\'); // 添加附件
// $mail->addAttachment(\'../thumb-1.jpg\', \'new.jpg\'); // 发送附件并且重命名
$mail->addAttachment($file_url);
//Content
$mail->isHTML(true); // 是否以HTML文档格式发送 发送后客户端可直接显示对应HTML内容
$mail->Subject = \'这里是邮件标题\' . time();
$mail->Body = \'<h1>这里是邮件内容</h1>\' . date(\'Y-m-d H:i:s\');
$mail->AltBody = \'如果邮件客户端不支持HTML则显示此内容\';
$mail->send();
//echo \'邮件发送成功\';
} catch (Exception $e) {
echo \'邮件发送失败: \', $mail->ErrorInfo;
}
}
使用
//上传文件
$file_url = upload_file($file);
//发送邮件
send_email($file_url);
发送失败检查授权码是否过期
© 版权声明
THE END
请登录后查看评论内容