PHP symfony 邮件程序异常
PHP Exception with symfony mailer
我是 Symfony 的初学者,我必须在我的 Web 服务中放置一个 Mailer。但是我有一个我不明白的 php 异常。
有我的邮件功能:
private function sendMail(MailerInterface $mailer, $p_leTI, $mail)
{
$pole = $p_leTI['pole'];
$type = $pole === 1 ? 'Logiciel' : ($pole === 2 ? 'Matériel' : 'Incident');
$client = $p_leTI['nomCli'];
$email = (new Email())
->from(new Address('random@gmail.com', 'Support Idéation Informatique'))
->to(new Address('random@gmail.com'))
->bcc(new Address('random@gmail.com'))
->subject("Ticket $type Site: $client")
->text("Client: $client\r\nObservation: {$p_leTI['OBSERVATION']}")
->html("<html lang='fr'>
<body>
<p>Demandeur: {$p_leTI['nomCli']}</p>
<p>Description: {$p_leTI['OBSERVATION']}</p>
<p>Téléphone: {$p_leTI['TEL']}</p>
<p>Email: {$p_leTI['EMAILCLIENT']}</p>
</body>
</html>");
$mailer->send($email);
$email = (new TemplatedEmail())
->from(new Address('random@gmail.com', 'Support Idéation Informatique'))
->bcc(new Address('random@gmail.com'))
->subject("Idéation Informatique - Votre demande a bien été enregistrée (Ticket n°" . $$p_leTI['IDTICKETINCIDENT'] . ")");
if (!empty($mail))
try {
$email->to(new Address($mail));
} catch (Exception $e) {
}
$email->htmlTemplate('emails/mail.html.twig')
->context([
'client' => $client,
'idticket' => $p_leTI['IDTICKETINCIDENT'],
'observation' => $p_leTI['OBSERVATION']
])
->text("Ouverture du ticket incident n°" . $p_leTI['IDTICKETINCIDENT'] . "\r\n" . $p_leTI['OBSERVATION']);
$mailer->send($email);
return true;
}
我的日志中有错误:
PHP Exception Symfony\Component\DependencyInjection\Exception\EnvNotFoundException: "Environment variable not found: "MAILER_DSN"."dency-injection/EnvVarProcessor.php
EnvVarProcessor.php 是一个我从未使用过的文件,所以我不明白,就像我说我是初学者,所以我可能忘记了什么。
谢谢你的帮助。
您必须设置如何通过环境变量发送邮件的参数(有很多选项,但有一些常用方法)。
最简单的 as documented 是更新 .env
文件:
MAILER_DSN=smtp://user:pass@smtp.example.com:port
评论:EnvVarProcessor.php
只是根据必须设置的不同选项在 Symfony 容器中设置环境变量的组件。
我是 Symfony 的初学者,我必须在我的 Web 服务中放置一个 Mailer。但是我有一个我不明白的 php 异常。
有我的邮件功能:
private function sendMail(MailerInterface $mailer, $p_leTI, $mail)
{
$pole = $p_leTI['pole'];
$type = $pole === 1 ? 'Logiciel' : ($pole === 2 ? 'Matériel' : 'Incident');
$client = $p_leTI['nomCli'];
$email = (new Email())
->from(new Address('random@gmail.com', 'Support Idéation Informatique'))
->to(new Address('random@gmail.com'))
->bcc(new Address('random@gmail.com'))
->subject("Ticket $type Site: $client")
->text("Client: $client\r\nObservation: {$p_leTI['OBSERVATION']}")
->html("<html lang='fr'>
<body>
<p>Demandeur: {$p_leTI['nomCli']}</p>
<p>Description: {$p_leTI['OBSERVATION']}</p>
<p>Téléphone: {$p_leTI['TEL']}</p>
<p>Email: {$p_leTI['EMAILCLIENT']}</p>
</body>
</html>");
$mailer->send($email);
$email = (new TemplatedEmail())
->from(new Address('random@gmail.com', 'Support Idéation Informatique'))
->bcc(new Address('random@gmail.com'))
->subject("Idéation Informatique - Votre demande a bien été enregistrée (Ticket n°" . $$p_leTI['IDTICKETINCIDENT'] . ")");
if (!empty($mail))
try {
$email->to(new Address($mail));
} catch (Exception $e) {
}
$email->htmlTemplate('emails/mail.html.twig')
->context([
'client' => $client,
'idticket' => $p_leTI['IDTICKETINCIDENT'],
'observation' => $p_leTI['OBSERVATION']
])
->text("Ouverture du ticket incident n°" . $p_leTI['IDTICKETINCIDENT'] . "\r\n" . $p_leTI['OBSERVATION']);
$mailer->send($email);
return true;
}
我的日志中有错误:
PHP Exception Symfony\Component\DependencyInjection\Exception\EnvNotFoundException: "Environment variable not found: "MAILER_DSN"."dency-injection/EnvVarProcessor.php
EnvVarProcessor.php 是一个我从未使用过的文件,所以我不明白,就像我说我是初学者,所以我可能忘记了什么。
谢谢你的帮助。
您必须设置如何通过环境变量发送邮件的参数(有很多选项,但有一些常用方法)。
最简单的 as documented 是更新 .env
文件:
MAILER_DSN=smtp://user:pass@smtp.example.com:port
评论:EnvVarProcessor.php
只是根据必须设置的不同选项在 Symfony 容器中设置环境变量的组件。