calmip / gramc3

GNU General Public License v3.0
0 stars 2 forks source link

SMTP service requirements #5

Open vignemail1 opened 3 years ago

vignemail1 commented 3 years ago

Description du problème

Afin de valider la configuration de la partie envoi de mail depuis l'application, il faut définir des paramètres MAILER_* qui permettent au module symfony/mailer d'utiliser le transport smtp. Le service DOIT avoir TLS d'activé sinon le test d'envoi de mail échoue sur une erreur OpenSSL.

Fichier config/services.yaml :

...
    mailer_transport: '%env(MAILER_TRANSPORT)%'
    mailer_host: '%env(MAILER_HOST)%'
    mailer_user: '%env(MAILER_USER)%'
    mailer_password: '%env(MAILER_PASSWORD)%'
...

Fichier .env.local :

MAILER_RECIPIENT=contact+gramc@domain.tld
MAILER_TRANSPORT=smtp
MAILER_HOST=localhost
MAILER_USER=null
MAILER_PASSWORD=null
root@gramc:/var/www/html/gramc3# ./bin/console app:send-a-mail toto@titi.fr

In SocketStream.php line 154:

  Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error mess
  ages:
  error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

app:send-a-mail [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] <command> <dest>

Proposition de solutions

Une commande Symfony ./bin/console cache:clear peut être nécessaire pour valider les changements avant de refaire un essai d'envoi de mail ./bin/console app:send-a-mail toto@titi.fr.

Regénérer le snake-oil local

testé sous Ubuntu 20.04

Par défaut postfix vient avec un certificat snake-oil self-signed ayant pour CN=<short_hostname> et le module s'attend à un CN=localhost. Un contournement est de :