where('group', 'mail')->column('name,value');//获取邮箱配置信息 self::$mail = new PHPMailer(); self::$mail->isSMTP();// 使用SMTP服务 self::$mail->CharSet = "utf8";// 编码格式为utf8,不设置编码的话,中文会出现乱码 self::$mail->Host = $mailInfo['MailHost'];// 发送方的SMTP服务器地址 self::$mail->SMTPAuth = true;// 是否使用身份验证 self::$mail->Username = $mailInfo['MailUsername'];// 发送方的QQ邮箱用户名,就是自己的邮箱名 self::$mail->Password = $mailInfo['MailPassword'];// 发送方的邮箱密码,不是登录密码,是qq的第三方授权登录码,要自己去开启,在邮箱的设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 里面 self::$mail->setFrom($mailInfo['MailUsername'], $mailInfo['MailNickname']);// 设置发件人信息,如邮件格式说明中的发件人, self::$mail->addReplyTo($mailInfo['MailReplyTo'], $mailInfo['MailNickname']);// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址 self::$mail->SMTPSecure = "ssl";// 使用ssl协议方式, self::$mail->Port = 465;// QQ邮箱的ssl协议方式端口号是465/587 } /** * 发送邮箱信息 * @param $toemail 邮箱 (可以为单个:1111@qq.com 可以为数组:[1111@qq.com, 2222@qq.com]) * @param $title 标题 * @param $info 内容 * @return array */ public static function send($toemail, $title, $info) { self::__init(); self::$mail->Subject = $title; self::$mail->Body = $info; // self::$mail->addCC("xxx@163.com");// 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址(这个人也能收到邮件) // self::$mail->addBCC("xxx@163.com");// 设置秘密抄送人(这个人也能收到邮件) // self::$mail->addAttachment("bug0.jpg");// 添加附件 // self::$mail->AltBody = "纯文本";// 这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用 //判断是否为群发信息 if (is_array($toemail)) { foreach ($toemail as $vo) { self::$mail->addAddress($vo, 'send'); !self::$mail->send() ? $msg[] = ['mail' => $vo, 'msg' => self::$mail->ErrorInfo] : $msg[] = ['mail' => $vo, 'msg' => '邮箱发送成功!']; } return ['code' => 1, 'msg' => $msg]; } else { self::$mail->addAddress($toemail, 'send'); if (!self::$mail->send()) { return ['code' => 1, 'msg' => self::$mail->ErrorInfo]; } else { return ['code' => 0, 'msg' => '邮箱发送成功!']; } } } }