<?php namespace app\common\util; use PHPMailer\PHPMailer\Exception; use PHPMailer\PHPMailer\PHPMailer; /** * 动态邮箱类 */ class Email { public function sendEmail($toEmail, $tp): int { $mail = new PHPMailer(); $mail->isSMTP();// 使用SMTP服务 $mail->CharSet = "utf8";// 编码格式为utf8,不设置编码的话,中文会出现乱码 $mail->Host = "smtp.qq.com";// 发送方的SMTP服务器地址 $mail->SMTPAuth = true;// 是否使用身份验证 $mail->Username = "845178954@qq.com";// 发送方的qq邮箱用户名,就是你申请qq的SMTP服务使用的qq邮箱 $mail->Password = "dptntlmpifkqbfgb";// 发送方的邮箱密码,注意用163邮箱这里填写的是“客户端授权密码”而不是邮箱的登录密码! $mail->SMTPSecure = "ssl";// 使用ssl协议方式 $mail->Port = 465;// 163邮箱的ssl协议方式端口号是465/994 try { $mail->setFrom("845178954@qq.com", "皮编程"); } catch (Exception $e) { }// 设置发件人信息,如邮件格式说明中的发件人,这里会显示为Mailer(xxxx@163.com),Mailer是当做名字显示 try { $mail->addAddress($toEmail, '教务'); } catch (Exception $e) { }// 设置收件人信息,如邮件格式说明中的收件人,这里会显示为Liang(yyyy@163.com) try { $mail->addReplyTo("845178954@qq.com", "皮编程"); } catch (Exception $e) { }// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址 //$mail->addCC("xxx@163.com");// 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址(这个人也能收到邮件) //$mail->addBCC("xxx@163.com");// 设置秘密抄送人(这个人也能收到邮件) //$mail->addAttachment("bug0.jpg");// 添加附件 $mail->isHTML(); $mail->Subject = "【商品发货通知】";// 邮件标题 try { $mail->MsgHTML($tp); } catch (Exception $e) { }// 邮件正文 //$mail->AltBody = "This is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用 if (!$mail->send()) {// 发送邮件 // return $this->api("Mailer Error: ".$mail->ErrorInfo, '发送失败~', 400); return 400; } else { return 200; } } public function getTp($phone, $goodsname, $goodstype, $num, $price, $total_amount, $status_text, $password = ''): string { return '<!DOCTYPE html> <html lang=""> <head> <title></title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> table{ border: 1px solid red; } </style> </head> <body> <div class="container mt-3"> <h2>订单信息: </h2> <h5>账号: ' . $phone . '</h5> <h5>商品: ' . $goodsname . '</h5> <h5>类型: ' . $goodstype . '</h5> <h5>数量: ' . $num . '</h5> <h5>单价: ' . $price . '</h5> <h5>总金额: ' . $total_amount . '</h5> <h5>状态: ' . $status_text . '</h5> <h5>卡密: ' . $password . '</h5> </div> </body> </html>'; } }