Dans mon environnement de développement je veux utiliser mailhog pour attraper les emails. J'ai installé et configuré mon php.ini pour installer la propriété sendmail. Si dans la ligne de commande je lance ceSymfony 3 et Mailhog: les mails ne sont pas mis en cache par mailhog
php -r "mail(......);"
le courrier est capturé par mailhog. Le problème est avec Symfony et Swiftmailer. Pour faire un test j'ai créé un contrôleur très simple avec ceci:
/**
* @return Response
*/
public function homeAction() : Response
{
mail('[email protected]', 'tasest', 'aaaa');
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
->setFrom('[email protected]')
->setTo('[email protected]')
->setBody(
'aaaaa',
'text/html'
);
$this->get('mailer')->send($message);
return $this->render('::base.html.twig');
}
Maintenant, l'e-mail envoyé par la fonction mail est capturé par mailhog. Mais pas le mail envoyé par SwiftMailer.
Dans mon config_dev j'ai ceci:
# Swiftmailer Configuration
swiftmailer:
transport: "sendmail"
que je pense devrait être suffisant.
Ai-je raté quelque chose ici?
PS: Si j'utilise une adresse réelle (au lieu de [email protected]) l'e-mail est envoyé et reçu
Mise à jour: J'ai essayé aussi de configurer mailhog pour smtp, parameters.yml:
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_port: 1025
mailer_user: null
mailer_password: null
config.yml:
swiftmailer:
transport: "%mailer_transport%"
host: "%mailer_host%"
port: "%mailer_port%"
username: "%mailer_user%"
password: "%mailer_password%"
spool: { type: memory }
Mais le résultat était le même résultat.
problème résolu, un problème avec le cache – petekaner