Envoi de mail via PHP avec exim4 : Authentification SMTP

Bonjour,

Suite à une réinstallation de mon serveur, j'essaie de refaire marcher mes scripts php envoyant des mails aux utilisateurs de mon site

J'ai installé exim4 sur le serveur, et je l'ai configuré avec le SMTP OVH (ssl0.ovh.net, port 587). Hélas, je récupère dans les logs l'erreur suivante, puis le mail part dans la liste des messages "frozen" d'exim4 :
R=smarthost T=remote_smtp_smarthost H=ssl0.ovh.net [193.70.18.144] X=TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256 CV=yes DN="OU=Domain Control Validated,OU=PositiveSSL Multi-Domain,CN=ns0.ovh.net": SMTP error from remote mail server after MAIL FROM: SIZE=2640: 530 5.7.1 Client was not authenticated

Comment faire pour m'authentifier sur le serveur SMTP d'OVH? Je doute qu'il faille rentrer les identifiants de mon espace client, mais du coup je n'ai aucune idée de quel login/pass utiliser, ni de comment procéder pour les envoyer avec mon mail

Toute aide serait appréciée ! Merci d'avance

Bonjour,

non vous devez vous authentifier avec votre adresse mail + mot de passe du compte mail (et surtout pas de l'espace client).

Ce que vous essayer de faire s’appel "smarthost with authentication" (petit indice pour chercher).

Cordialement, janus57

Bonjour,

Le soucis est que je n'ai pas de mail… J'en avais un quand j'ai commandé ce serveur, il y a des années, mais actuellement OVH m'affirme que je n'ai aucune offre mail actuellement active



Cependant, en début de mois, mon offre était la même, et mes scripts étaient capable d'envoyer des emails (en recevoir m'importe peu tant que je peux en envoyer), c'est bien la preuve que même sans offre mail OVH, le serveur était capable de se débrouiller

J'en déduis que soit on peut configurer un serveur pour envoyer des mails, soit contrairement à ce qu'ils m'annoncent, j'ai bien un vieux mail qui se promène quelque part sur OVH, et dont j'ai oublié le mot de passe depuis bien longtemps… Je devrais donc leur faire un ticket pour voir s'ils la retrouvent?

Dans tous les cas, il va falloir que je trouve comment configurer tout ça, et jusqu'à présent je ne suis arrivé à rien, je tenterai votre suggestion d'intégrer "smarthost" dans mes recherche !

Bonjour,


c'est bien la preuve que même sans offre mail OVH, le serveur était capable de se débrouiller

non pas possible, OVH rejette les mails si vous n'avez pas d'offre mail, alors soit vous aviez un hébergement web (avec mail inclus) que vous avez résilié en cours de route, soit cela ne sortait pas par OVH.

Regardez dans votre compte OVH la liste des service pour voir vous avez quoi exactement comme services auprès de OVH, si vous avez un MX Plan c'est que vous avez une offre mail.

Cordialement, janus57

Bonjour,

J'ai bien un MX Plan pour chacun de mes domaines, mais j'ai beau cliquer partout, il persiste à me dire que je n'ai aucun mail existant, ou à m'afficher ce genre de message



Je suppose que je vais devoir leur demander où mon mail a bien pu passer

Bonjour,

J'ai finalement trouvé une option pour activer l'hébergement d'un email gratuit chez OVH, et j'ai paramétré exim grâce à https://www.deltasight.fr/utiliser-ovh-smarthost-exim4/ ce tuto assez bien fait

Cependant, l'envoi de mail me renvoie maintenant l'erreur suivante :
H=ssl0.ovh.net [193.70.18.144] TLS error on connection (gnutls_handshake): An unexpected TLS packet was received.
R=smarthost T=remote_smtp_smarthost defer (-37) H=ssl0.ovh.net [193.70.18.144]: failure while setting up TLS session

J'ai cherché sur google, et aucune des rares solutions que j'ai trouvé n'ont eu le moindre effet… Savez-vous de quoi cela pourrait venir, ou si on a la moindre piste que je pourrais explorer?

Bonjour,

vous utilisez bine le port 587 pour le SMTP ?

Cordialement, janus57

Bonjour,

Normalement oui, j'ai bien dc_smarthost='ssl0.ovh.net::587' dans update-exim4.conf.conf
Je viens de faire la chasse à tout fichier qui parlerait encore d'un port 25, et j'ai mis à jour php.ini, à tout hasard… Un reboot d'apache plus tard, l'erreur est maintenant celle-ci :

mail@expéditeur U=www-data P=local S=1573 id=57f70227a541ae1d61efc2e9902985a0@[l'ip de mon pc perso à la maison]
mail@destinataire R=smarthost T=remote_smtp_smarthost defer (-53): retry time not reached for any host for 'gmail.com'

L'astuce étant que cette erreur "retry time not reached", je l'ai eue toute l'après-midi quand exim essayait de renvoyer les mails en attente (vu que je n'ai pas pu trouver de commande pour les purger et que le "exim -qff" que j'ai vu n'a aucun effet), parfois cumulée à l'erreur de mon post précédent…
Je commence à me demander si ces logs sont bien fiables…

Bon, je viens de remettre localhost:25 dans php.ini, et j'ai toujours l'erreur "retry time not reached" et pas "unexpected TLS packet"… C'est vraiment de la magie noire tout ça pour moi…

Trouvé !

En désespoir de cause, j'ai opté pour la désobéissance civile, et j'ai copié/collée bêtement le port 465 du tutorial dont j'ai mis le lien plus haut, au lieu du port 587 que tout le monde me recommandait, la doc OVH en premier

C'était bien ça. Avec le port 465, les mails arrivent à bon port