J'ai un problème depuis quelques temps pour envoyer des mails. Je suis sur Worpress sur un hébergement Performance 1 et j'utilise WP Mail SMTP. Quand je test d'envoyer un mail, via l'extension, j'ai cette erreur là :
Versions: WordPress: 6.8 WordPress MS: No PHP: 8.4.1 WP Mail SMTP: 4.4.0
Params: Mailer: mailjet Constants: No
Server: OpenSSL: OpenSSL 1.1.1n 15 Mar 2022
Debug: Source de l’e-mail : WP Mail SMTP
Mailer: Mailjet
http_request_failed: ["cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to api.mailjet.com:443 "]
Que ce soit avec l'option Mailjet ou autre smtp.
Il y a quelques jours j'ai cru avoir régler le problème en désactivant le firewall sur OVH, via le multisite mais finalement non.
Qu'elle peut-être la source du problème et comment le corriger ?
Justement dans une autre conversation à propos de copieurs Ricoh il était question de négociation échouée entre des machines qui doivent trouver un protocole commun de cryprographie.
Sur les serveurs SMTP d'OVH seuls 2 algorithmes sont supportés à ce jour.
Je me suis demandé si api.mailjet.com aurait les mêmes problèmes.
C'est hébergé sur Google.
Les protocoles suivants sont supportés. On va dire que mailjet n'est probablement pas le coupable.
Pour OVH voici leur réponse : Comme cela concerne principalement des configurations internes à votre serveur ou des éléments externes à votre service, cela dépasse le cadre de notre support.
L'erreur est presque instantanée à apparaitre.
L'hébergement est sur une offre mutualisée Performance 1, j'ai donc un accès ssh mais pas beaucoup de contrôle dessus.
Si la réponse est immédiate ce n'est pas un timeout mais probablement un problème de négociation.
Soit un problème de certificat (mais j'en doute: voici le certificat présenté:) | ssl-cert: Subject: commonName=mailjet.com/organizationName=MAILJET SAS/countryName=FR | Subject Alternative Name: DNS:mailjet.com, DNS:*.mailjet.com, DNS:*.mailjet.de, DNS:mailjet.de, DNS:blog.fr.mailjet.com, DNS:blog.es.mailjet.com, DNS:blog.de.mailjet.com | Issuer: commonName=DigiCert Global G2 TLS RSA SHA256 2020 CA1/organizationName=DigiCert Inc/countryName=US | Public Key type: rsa | Public Key bits: 2048 | Signature Algorithm: sha256WithRSAEncryption | Not valid before: 2025-03-17T00:00:00 | Not valid after: 2026-04-15T23:59:59
soit un problème de protocole (par exemple vous demandez TLS1.3 et rien d'autre, mais OVH ne propose que TLS1.1 et TLS1.2)
soit un problème de "cipher" où les deux partenaires doivent s'entendre sur un cipher commun à utiliser.
Voyez la complexité de la problématique, par exemple ici: https://maulwuff.de/research/ssl-debugging.html
Pour vous donner une idée, voyez des recommandations de Mozilla pour configurer un serveur web Apache https://ssl-config.mozilla.org -> choisir Apache -> et voyez la différence entre Modern et Old. Avec Modern:
# modern configuration SSLProtocol -all +TLSv1.3 SSLOpenSSLConfCmd Curves X25519:prime256v1:secp384r1 SSLHonorCipherOrder off SSLSessionTickets off
Avec Old:
# old configuration SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2 +TLSv1.3 SSLOpenSSLConfCmd Curves X25519:prime256v1:secp384r1 SSLCipherSuite @SECLEVEL=0:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA SSLHonorCipherOrder on SSLSessionTickets off