脱离 laravel 之后,Illuminate\mail 如何发送邮件?

作者站长头像
站长
· 阅读数 13

请问如何在不使用 laravel 的情况下使用他的 mail 组件?

https://packagist.org/package...

回复
1个回答
avatar
test
2024-07-18
  1. 直接使用低层的symfony/mail
  2. 还要安装view组件↓

    $mailer = new n\Illuminate\Mail\Mailer('default', new  \Illuminate\Contracts\View(选个engine, 选个finder, new laravel的事件管理器), new Symfony的transport, new laravel的事件管理器);
    
    $mailer-> 此时跟着laravel文档就行了。

综上所述,请选1

// composer require symfony/mailer
use Symfony\Component\Mailer\Transport;
use Symfony\Component\Mailer\Mailer;
use Symfony\Component\Mime\Email;

$transport = Transport::fromDsn('smtp://SMTP服务器');
$mailer = new Mailer($transport);
$email = (new Email())
    ->from('xx@x.com')
    ->to('xx@xxxxx.com')
    ->subject('test')
    ->text('test')
    ->html('test');

$mailer->send($email);
// 完事
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容