Я пытаюсь отправить электронное письмо, когда пользователь подписывается на моем веб-сайте.Чтобы сэкономить время ... Я использую Swift_Mailer с Symfony .
Сначала я попытался отправить письмо с консоли:
php .\bin\console swiftmailer:email:send
И это работает, письмо было отправлено, и клиент получил его.
Итак, теперь я сказал себе, что смогу отправлять электронные письма с кодом.Это мой код контроллера:
public function register(Request $request, \Swift_Mailer $mailer)
{
// Here saving new user in the database
$this->sendMail($user->getEMail(), $mailer);
$content = $this->renderView("register.html.twig");
return new Response($content);
}
private function sendMail($email, \Swift_Mailer $mailer)
{
$message = (new \Swift_Message('Hello Email'))
->setFrom(['my.email@gmail.com' => "my name"])
->setTo($email)
->setBody('Here is the message itself');
$mailer->send($message);
}
И это мой файл .env:
MAILER_URL=gmail://my.email@gmail.com:myPasswordHere@localhost
Когда я пытаюсь отправить письмо, нет ошибок, я пытался этот StackOverflowссылка , но не проблема, эхом «Успешно», но в почтовом ящике Gmail ничего нет и ничего в почтовом ящике моего клиента.
Не могли бы вы помочь мне ... сэкономить мне время ^^
------------------------------------------------------------- РЕДАКТИРОВАТЬ 1 ------------------------------------------------------------
Я никогда не редактировал файл config/packages/swiftmailer.yaml
, вот его содержимое:
swiftmailer:
url: '%env(MAILER_URL)%'
spool: { type: 'memory' }
------------------------------------------------------------- РЕДАКТИРОВАТЬ 2 ------------------------------------------------------------
Я также попытался создать новый транспортер с этим кодом:
$transport = (new \Swift_SmtpTransport('smtp.gmail.com', 465))
->setUsername('my.email@gmail.com')
->setPassword('myPasswordHere');
$mailer = new \Swift_Mailer($transport);
И вот ошибка, которую я получаю: Connection could not be established with host smtp.gmail.com [php_network_getaddresses: getaddrinfo failed: Unknown host. #0]
------------------------------------------------------------- РЕДАКТИРОВАТЬ 3 ------------------------------------------------------------
У меня есть swiftmailer.yaml
файл в папке config/packages/dev
, и это содержимое по умолчанию:
# See https://symfony.com/doc/current/email/dev_environment.html
swiftmailer:
# send all emails to a specific address
#delivery_addresses: ['me@example.com']
Я попытался поместить то же содержимое, что и в config/packages/swiftmailer.yaml
,но без результата.