在没有 symfony 框架的情况下使用 symfony/mailer 组件
Use the symfony/mailer component without the symfony framework
我正在做一个不使用任何框架的项目,我想使用 Symfony Mailer 组件来处理发送电子邮件。
安装部分 (composer require
) 处理得很好,所有内容都包含在我的代码中,没有任何错误。但是,我仍然有一个问题:该组件的文档似乎只是为了将其与 symfony 框架一起使用而编写的。
实际上,它指的是自动加载的配置文件
显然不存在于我的应用程序中。
这个实现似乎很棘手,我想知道你们中是否有人遇到过同样的问题,你们想出了什么解决方案?
你的问题也让我想知道只用邮件程序组件发送邮件是多么容易。
所以我从头开始创建了一个新项目,并尝试了 mailer component documentation 之后最简单的版本。
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 发送邮件,供您参考。 Transport class 应该为您完成发送工作,但如果没有,您可以查看 vendor/symfony/mailer/Transport
文件夹
内部
我正在做一个不使用任何框架的项目,我想使用 Symfony Mailer 组件来处理发送电子邮件。
安装部分 (composer require
) 处理得很好,所有内容都包含在我的代码中,没有任何错误。但是,我仍然有一个问题:该组件的文档似乎只是为了将其与 symfony 框架一起使用而编写的。
实际上,它指的是自动加载的配置文件
显然不存在于我的应用程序中。
这个实现似乎很棘手,我想知道你们中是否有人遇到过同样的问题,你们想出了什么解决方案?
你的问题也让我想知道只用邮件程序组件发送邮件是多么容易。
所以我从头开始创建了一个新项目,并尝试了 mailer component documentation 之后最简单的版本。
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 发送邮件,供您参考。 Transport class 应该为您完成发送工作,但如果没有,您可以查看 vendor/symfony/mailer/Transport
文件夹