wordpress上传简历和发送邮件

文章描述:

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);

 

发送失败检查授权码是否过期
发布时间:2022/02/18

发表评论