| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?php
- namespace App\Servers\Email;
- use Illuminate\Bus\Queueable;
- use Illuminate\Mail\Mailable;
- use Illuminate\Queue\SerializesModels;
- use Swift_Mailer;
- use Swift_Message;
- use Swift_SmtpTransport;
- /**
- * 邮件验证码发送
- * @author 唐远望
- * @version 1.0
- * @date 2026-03-30
- *
- */
- class VerifyCode extends Mailable
- {
- use Queueable, SerializesModels;
- /**
- * 封装SMTP发送邮件的方法
- *
- * @param string|array $to 收件人邮箱
- * @param string $subject 邮件主题
- * @param string $body 邮件内容
- * @param string|null $from 发件人邮箱,默认为配置中的from地址
- * @return int 发送结果
- */
- public static function sendSmtpEmail($to, $subject, $body, $from = null)
- {
- // 创建SMTP传输
- $transport = new Swift_SmtpTransport(
- config('mail.mailers.smtp.host'),
- config('mail.mailers.smtp.port')
- );
- // 设置认证信息
- $transport->setUsername(config('mail.mailers.smtp.username'));
- $transport->setPassword(config('mail.mailers.smtp.password'));
- // 设置加密方式
- if (config('mail.mailers.smtp.encryption')) {
- $transport->setEncryption(config('mail.mailers.smtp.encryption'));
- }
- // 创建邮件器
- $mailer = new Swift_Mailer($transport);
- // 创建邮件消息
- $message = new Swift_Message($subject);
- $message->setFrom($from ?: config('mail.from.address'));
- $message->setTo($to);
- $message->setBody($body);
- // 发送邮件
- return $mailer->send($message);
- }
- }
|