2

我正在开发一个不使用任何框架的项目,我想使用Symfony Mailer组件来处理发送电子邮件。

安装部分(composer require)处理得很好,所有内容都包含在我的代码中,没有任何错误。但是,我仍然有一个问题:组件的文档似乎只是为了将它与 symfony 框架一起使用而编写的。实际上,它指的是我的应用程序中显然不存在的自动加载配置文件。

这个实现似乎非常棘手,我想知道你们中是否有人已经面临同样的问题以及您想出了什么解决方案?

4

1 回答 1

3

您的问题也让我想知道仅使用邮件程序组件发送邮件是多么容易。

因此,我从头开始创建了一个新项目,并按照邮件组件文档尝试了最简单的版本。


use Symfony\Component\Mailer\Mailer;
use Symfony\Component\Mailer\Transport;
use Symfony\Component\Mime\Email;

class MyMailer
{
    // googleDns format is gmail+smtp://USERNAME:PASSWORD@default
    public function __construct(private string $googleDsn)
    {
    }

    public function send()
    {
        $template = file_get_contents('https://raw.githubusercontent.com/leemunroe/responsive-html-email-template/master/email.html');

        $transport = Transport::fromDsn($this->googleDsn);
        $mailer = new Mailer($transport);

        $email = (new Email())
            ->from('mygmail@address.com')
            ->to('thedelivery@gmail.com')
            ->subject('Time for Symfony Mailer!')
            ->html($template);

        $mailer->send($email);
    }
}

我成功收到了我的邮件。我用gmail发送我的邮件,供您参考。传输类应该为您完成发送工作,但如果没有,您可以查看内部vendor/symfony/mailer/Transport文件夹

于 2021-09-03T10:44:26.683 回答