代码不起作用(.它给我error
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
require_once 'vendor/autoload.php';
use Symfony\Component\Mailer\Exception\TransportExceptionInterface;
use Symfony\Component\Mailer\Transport;
use Symfony\Component\Mailer\Mailer;
use Symfony\Component\Mime\Email;
$transport = Transport::fromDsn('smtp://mymail@gmail.com:MYPASS@smtp.gmail.com:587');
$mailer = new Mailer($transport);
$email = (new Email());
$email->from('mymail@gmail.com');
$email->to('mymail@gmail.com');
$email->subject('Some subject');
$email->text('test-message');
$mailer->send($email);
?>
我试着用这些类“要求”文件,但是没有用。我还检查了我的composer.json。有Symfony,所以我肯定,我有它安装在我的 composer 。
1条答案
按热度按时间wvt8vs2t1#
代码的问题是为传输对象指定的DSN(数据源名称)不正确。
Gmail的正确DSN应为
smtp:mymail%40gmail.com:MYPASS@smtp.gmail.com:587(DSN的用户名部分中的电子邮件地址应采用URL编码)。此外,不建议在代码中对密码进行硬编码,因为这会带来安全风险。相反,密码应存储在安全的环境变量中。