Microsoft Office Solutions - PHPMailer : envoi en SMTP avec smtp.office365.com depuis OVH
... / PHPMailer : envoi en SMTP...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

PHPMailer : envoi en SMTP avec smtp.office365.com depuis OVH

Von
OlivierP3
Erstellungsdatum 2023-04-13 07:21:03 (edited on 2024-09-04 14:01:31) in Microsoft Office Solutions


Bonjour à toutes et à tous,

J'utilise OVHCloud perf2014x1 et la fonction Scripts e-mail.

Je rencontre la problématique suivante / Je souhaiterais mettre en place :

J'aimerais utiliser l'envoi par PHPMailer avec authentification SMTP smtp.office365.com. J'obtiens l'erreur suivante :

> 2023-04-12 13:01:35 Connection: opening to smtp.office365.com:587, timeout=300, options=array()
> 2023-04-12 13:01:35 Connection failed. Error #2: stream_socket_client(): unable to connect to smtp.office365.com:587 (Connection refused)


La configuration est la suivante :

> $mail->SMTPDebug = 2; // Enable verbose debug output
> $mail->isSMTP(); // Set mailer to use SMTP
> $mail->Host = 'smtp.office365.com'; // Specify main and backup SMTP servers
> $mail->SMTPAuth = true; // Enable SMTP authentication
> $mail->Username = 'noreply@monadresse.com'; // SMTP username
> $mail->Password = '123210989'; // SMTP password
> $mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
> $mail->Port = 587; // TCP port to connect to
> $mail->SMTPDebug = SMTP::DEBUG_LOWLEVEL ;


Pour information, **j'ai utilisé ce même script chez Infomaniak et l'envoi s'effectue normalement sans erreur**.

J'ai contacté le support OVH qui m'informe qu'il faut des autorisations supplémentaires chez Microsoft. J'ai contacté la société qui gère le compte Office365 qui m'informe que tout est configuré convenablement.

J'ai testé avec du ssl port 465 ou 25 (mais bloqué je suppose) sans succès.

Ainsi, où est le blocage? Quelqu'un peut m'aider?

Merci d'avance.


21 Antworten ( Latest reply on 2023-04-18 15:35:52 Von
janus57
)


Ainsi, où est le blocage?


Bonjour,

Demandez au support OVH car l'adresse smtp.office365.com:587 est bien un serveur SMTP qui répond.


Si OVH vous a fermé cette connexion sans le documenter, demandez à l'ouvrir, ou bien invoquez une rupture de contrat pour fonctionnement non conforme.

Bonjour,
Avez vous contrôlé que l'option "Enable SMTP AUTH for specific mailboxes" est bien activée ?
https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission

Bonjour,

Aux dernières nouvelles OVH autorisé seulement MailJet sur le 587 sur les hébergements mutus.

Cordialement, janus57


Aux dernières nouvelles OVH autorisé seulement MailJet sur le 587


ouh là c'est un truc historique, quand Mailjet était encore français.

Quoi qu'il en soit, un client doit pouvoir faire ouvrir ses connexions sortantes légitimes.
Je maintiens mon conseil de faire appel au support. Ces restrictions ne sont documentées nulle part dans la fiche produit.

Bonjour,

Merci pour votre retour. J'ai eu contact avec le support par téléphone et la personne en charge m'affirme que rien n'est bloqué chez eux.

Ils m'ont informé qu'il fallait utiliser une double authentification. J'ai argumenté avec le fonctionnement chez Infomaniak sans double authentification, et ils m'ont répondu qu'Infomaniak était autorisé chez Microsoft.

Ainsi je ne comprends pas trop cette réponse car, selon le prestataire qui fournit Office365, OVH n'est pas bloqué chez Microsoft.

Est-ce qu'il y aurait tout de même une autorisation à demander chez Microsoft pour l'envoi d'emails par le biais de ce serveur OVH précis?

> Avez vous contrôlé que l'option "Enable SMTP AUTH for specific mailboxes" est bien activée ?

En partant du principe que c'est fonctionnel chez Infomaniak et que cela semble une configuration générale, je pense que cela est bien activé.

Est-ce qu'il faut autoriser l'IP du serveur OVH précisément?

Quelqu'un a déjà eu ce problème sur le forum OVH :
https://community.ovhcloud.com/community/fr/phpmailer-office-365?id=community_question&sys_id=afa5b144b59a0ad0f078da7e5576c914

Il n'y a malheureusement jamais eu de retour et le sujet est clos.


En partant du principe que c'est fonctionnel chez Infomaniak et que cela semble une configuration générale, je pense que cela est bien activé.


Oui. ça semble logique.
C'est bien le même compte mail qui est utilisé ? (l'activation du SMTP peut se faire sur chaque compte et générale pour tous les comptes).


Est-ce qu'il faut autoriser l'IP du serveur OVH précisément?


Non, juste l'activation du SMTP.

En plus, votre premier post signale bien une connexion refusée (désolé pour mon HS).

Bonjour,

Perso je dirais que le blocage est toujours en place et que seule mailjet est autorisé à sortir sur le 587.

Si Office365 bloque c'est soit avec un code SMTP soit avec un "no delivery" (déjà eu le cas).

Après test très simple à faire : utiliser un autre SMTP et voir si ça passe (un gmail ou laposte.net par exemple), si cela ne passe pas mieux c'est que la personne du support a pas bien regardé.

Cordialement, janus57


Perso je dirais que le blocage est toujours en place et que seule mailjet est autorisé à sortir sur le 587.


Y-a un incident justement avec mailjet :
https://web-cloud.1ovhcloud.com/incidents/tjf4pxpp604vovhcloud.com/incidents/tjf4pxpp604v


Si OVH vous a fermé cette connexion sans le documenter, demandez à l'ouvrir, ou bien invoquez une rupture de contrat pour fonctionnement non conforme.


Je vais faire encore un test avec le SMTP Gmail et voir si le problème se produit également.

Je vais également étudier un éventuel changement chez Infomaniak.

Chez OVH, c'est une semaine minimum avant d'avoir une réponse du support (souvent totalement hors-sujet) et le fonctionnement, l'interface et le support sont beaucoup mieux chez Infomaniak.

Pour l'instant, seuls les tarifs me retiennent mais au bout d'un moment, tant pis s'il faut payer plus pour un fonctionnement meilleur.

J'ai fait un test avec Gmail et le serveur smtp.gmail.com:587 (tls). Même erreur que le serveur smtp.office365.com :

> Connection failed. Error #2: stream_socket_client(): unable to connect to smtp.gmail.com:587 (Connection refused)

J'ai fait un test depuis chez Infomaniak et voici le résultat en sachant que je me suis trompé de mot de passe apparemment :

> SMTP INBOUND: "535-5.7.8 Username and Password not accepted. Learn more at"
> SMTP INBOUND: "535 5.7.8 https://support.google.com/mail/?p=BadCredentials hr33-20020a1709073fa100b0094f71c73d35sm2817142ejc.145 - gsmtp"
> CLIENT: 535-5.7.8 Username and Password not accepted. Learn more at535 5.7.8 https://support.google.com/mail/?p=BadCredentials hr33-20020a1709073fa100b0094f71c73d35sm2817142ejc.145 - gsmtp
> SMTP ERROR: Password command failed: 535-5.7.8 Username and Password not accepted. Learn more at535 5.7.8 https://support.google.com/mail/?p=BadCredentials hr33-20020a1709073fa100b0094f71c73d35sm2817142ejc.145 - gsmtp
> SMTP Error: Could not authenticate.

**C'est bien chez OVH que c'est bloqué.**

Seulement le support OVH ne veut pas en démordre. Que dois-je faire à part changer d'hébergeur?

Encore un petit détail avec un nouvel essai :

Avec smtp.gmail.com:465 (ssl) chez OVH, la connexion s'établit...

**C'est donc bien ce port 587 qui est bloqué.**

Le problème c'est que selon les infos de Office 365, il n'y pas possibilité d'utiliser le port 465 (ssl), seulement le 587 (tls).

https://support.microsoft.com/fr-fr/office/param%C3%A8tres-pop-imap-et-smtp-8361e398-8af4-4e97-b147-6c6c4ac95353

Je ne sais pas comment sont gérés les mutualisés mais fermer un port comme le 587 qui est très utilisé me parait gros.
Tous les sites de ce cluster ne pourraient pas envoyer de mail via des SMTP ?

Si vous avez un accès SSH et qu'il dispose de la commande telnet, que donne

`ping smtp.gmail.com`
->
PING smtp.gmail.com (173.194.76.109) 56(84) bytes of data.
64 bytes from 1f109.1e100.netf109.1e100.net (173.194.76.109): icmp_seq=1 ttl=99 time=8.35 ms
64 bytes from 1f109.1e100.netf109.1e100.net (173.194.76.109): icmp_seq=2 ttl=99 time=8.45 ms

`telnet smtp.gmail.com 587`
->
Trying 64.233.167.109...
Connected to smtp.gmail.com.
Escape character is '^]'.
220 smtp.gmail.com ESMTP d14-20020a5d538e000000b002f81b4227cesm8429889wrv.19 - gsmtp
^C
quit
Connection closed by foreign host.

```text Dernière remarque, en suivant ce lien, il y a un message en bas de page :

https://help.ovhcloud.com/csm/fr-web-hosting-monitoring-automatic-emails?id=kb_article_view&sysparm_article=KB0052902#:~:text=Les%20e%2Dmails%20%C3%A9mis%20avec,smtp.

> Si vous utilisez une adresse mail OVHcloud et uniquement dans ce cas, vous pouvez également utiliser le SMTPSecure "starttls" ou "tls" avec le Port 587. Toutefois, le SMTPSecure "ssl" avec le Port 465 restent à privilégier.

J'ai donc bien ma réponse... ```

Bonjour,


Si vous avez un accès SSH et qu'il dispose de la commande telnet, que donne

Bridé sur les mutu -> inutilisable pour du diagnostique réseau.


Je ne sais pas comment sont gérés les mutualisés mais fermer un port comme le 587 qui est très utilisé me parait gros.

Pourtant des dernières informations que j'ai en tête c'est bien le cas.

Cordialement, janus57


Si vous avez un accès SSH et qu'il dispose de la commande telnet, que donne

ping smtp.gmail.com


L'environnement ssh est tout à fait différent de l'environnement d'exécution des serveurs web. On ne peut pas tirer de conclusion.

Je vous fais juste part de la volonté du support OVH pour résoudre mon problème :

**Réponse du support OVH :**

> Bonjour,

> Si je comprends bien le résultat suivant est celui retourné par Infomaniak :

> SMTP INBOUND: "535-5.7.8 Username and Password not accepted. Learn more at"
> SMTP INBOUND: "535 5.7.8 https://support.google.com/mail/?p=BadCredentials hr33-20020a1709073fa100b0094f71c73d35sm2817142ejc.145 - gsmtp"
> CLIENT: 535-5.7.8 Username and Password not accepted. Learn more at535 5.7.8 https://support.google.com/mail/?p=BadCredentials hr33-20020a1709073fa100b0094f71c73d35sm2817142ejc.145 - gsmtp
> SMTP ERROR: Password command failed: 535-5.7.8 Username and Password not accepted. Learn more at535 5.7.8 https://support.google.com/mail/?p=BadCredentials hr33-20020a1709073fa100b0094f71c73d35sm2817142ejc.145 - gsmtp
> SMTP Error: Could not authenticate.

> Dans ce cas, le serveur Infomaniak n'établit pas non plus la connexion au serveurs SMTP :

> SMTP Error: Could not authenticate.

> Le message d'erreur semble toutefois apporter des informations complémentaires :
> SMTP INBOUND: "535-5.7.8 Username and Password not accepted. Learn more at"
> SMTP INBOUND: "535 5.7.8 https://support.google.com/mail/?p=BadCredentials hr33-20020a1709073fa100b0094f71c73d35sm2817142ejc.145 - gsmtp"
> CLIENT: 535-5.7.8 Username and Password not accepted. Learn more at535 5.7.8 https://support.google.com/mail/?p=BadCredentials hr33-20020a1709073fa100b0094f71c73d35sm2817142ejc.145 - gsmtp

> Je vous invite obtenir des informations complémentaires sur l'erreur retourné par Infomaniak.

> Dans le cas d'une éventuelle erreur de mot de passe, je vous invite à vérifier ce dernier voir à éventuellement modifier le mot de passe du compte e-mail avant de réitérer vos tests.


Je vous fais juste part de la volonté du support OVH


pffffffff c'est nul comme réponse, mais pour être pragmatique il faut juste dire: je souhaite me connecter depuis cet hébergement xyzt vers smtp.office365.com port 587 et il semble que ce soit bloqué en sortie de l'hébergement.

Tout ce que vous dites en plus n'apportera que confusion chez un interlocuteur qui doit souvent lire des proses trop touffues pour comprendre la question.

Je n'ai pas mis la totalité de l'échange. J'ajuste les éléments au fur et à mesure comme je le fais dans cette conversation. Ici, tout le monde me comprend j'ai l'impression ce qui n'est pas le cas du support OVH.

La base est bien le problème smtp.office365.com port 587 mais je leur ai fait part de mes différents tests dans la suite de la conversation.

Bonjour,

De manière générale il faut être simple et direct avec les échanges de support et faut se limiter au tests fait chez le prestataire ou se trouve vraisemblablement le problème.

Cordialement, janus57