Serveurs Privés Virtuels (VPS) - Problème envoi mails vps
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

Problème envoi mails vps

Von
ArnaudF9
Erstellungsdatum 2019-07-30 07:26:08 (edited on 2024-09-04 12:23:39) in Serveurs Privés Virtuels (VPS)

Bonjour, je n'arrive pas à envoyer de mails depuis mon vps en utilisant la fonction mail() de php. J'ai fouillé et je pense qu'il me manquerait exim ou exim4. Dois-je installer exim ou exim4 (au moins dans un premier temps) ? Je n'ai besoin que d'envoyer des messages donc mon besoin reste basique. Merci d'avance.


15 Antworten ( Latest reply on 2019-07-31 08:21:55 Von
ArnaudF9
)

J'installerais Postfix, mais c'est un choix personnel.

Exim a été victime d'une grave vulnérabilité il y a un mois ou deux, qui doit être patchée, donc attention à la version d'exim. Il faut gérer ça.

Perso je ferai mes envois en SMTP en m'authentifiant sur le SMTP du provider de l'email... Parce que la fonction mail() il faut déjà avoir bien configuré son serveur mail, et de + cela peut poser tout un tas de problème sur des domaines où SPF / DKim sont configurés...

Merci pour ta réponse. Et du coup je passe par quoi, phpmailer ?


SMTP du provider de l'email


1) entre php mail() et le tuyau de sortie il faut un mailer. (typiquement postfix, exim, sendmail)
2) si tu n'as pas de mailer tu dois programmer différemment dans php et ne pas utiliser mail() mais plutôt SMTP
3) si tu t'adresses au smtp d'OVH tu es soumis aux limites par compte, par IP et par heure.
4) autre option si tes destinataires sont un peu partout: chercher un fournisseur de mass-mailing/transactional mailing selon ton besoin et utiliser leur SMTP ou leur API.


Envoyer des mails depuis son VPS impose des prérequis (nom de serveur, reverse, nom présenté lors du HELO) pour avoir une bonne "déliverabilité". SPF, DKIM et DMARC ne sont pas obligatoires mais conseillés.

Oui pour du mass mailing il faut soit savoir configurer son serveur mail comme il faut (et avoir le contrôle sur le domaine d'expédition) soit passer par un presta.
Mais même à la limite passer par sendingblue sur une formule gratuite pour quelques mails ça peut être intéressant quand on ne sait pas faire. Car ils fournissent des exemples, un suivi, etc...
Franchement quand on ne sait pas faire et qu'on n'a pas envie / le temps d'apprendre autant passer par un presta, certains ont des offres gratuites pour tester.

Merci pour vos réponses, je n'ai pas précisé mais dans mon cas les messages partent du formulaire de contact de mon site vers mon gmail.

Et quel est le mail expéditeur configuré sur le formulaire ? Ton compte gmail ?
Dans ce cas il vaudrait mieux configurer l'envoie via le smtp de gmail directement...

Oui c'est ça je vais utiliser le compte gmail si je peux car j'ai pas d'adresse autre que celle-là. Par contre j'essaie mais ça ne fonctionne pas, j'ai retouché le php.ini smtp de chez orange avec le port 465. Si vous avez un tuyau sur la marche à suivre je suis preneur.

Le smtp dans le php.ini c'est uniquement pour Windows de mémoire.
Je ne suis pas dev, mais je pense que phpmailer est ton ami pour envoyer tes mails via smtp en php.

Oui apparemment. En suivant tes conseils je suis tombé sur le sujet : https://www.hostinger.fr/tutoriels/utiliser-serveur-smtp-gmail/

Merci pour votre aide je vais suivre le tuto et je verrai bien.


php.ini smtp de chez orange avec le port 465


Orange est déjà tellement un fournisseur de spam provenant d'Europe et d'Afrique, que peut-être ils sont serré les boulons et que les login/pass d'utilisateurs résidentiels sont refusés depuis les adresses IP dans les datacentres.

Je reviens quand même sur la proposition d'installer Postfix (configurer sans relayhost/smarthost, connexion directe à internet "internet host")

Postfix ne va accepter aucun mail venant de l'extérieur sauf peut-être pour root@tonserveur.com
Pour plus de sécurité édite main.cf dans /etc/postfix, trouve la ligne contenant
"inet_interfaces= all"
et modifie-la en
"inet_interfaces=localhost"

puis postfix stop && postfix start

Tu as une installation qui envoie des mails et ne peut rien recevoir.

Dans Gmail ça risque de passer au dossier indésirables, tu n'as qu'à dire à gmail que cet expéditeur n'est pas un indésirable (non testé)

Le problème de configurer un postfix c'est que les mails risquent de passer en spam.
Qu'il va envoyer des mails en @gmail.com depuis son VPS.
Il va devoir configurer le mailname, le reverse, bcp de serveur préfèrent désormais une connexion avec SSL et non pas sur le port 25... Bref configurer son propre serveur c'est bien si on a le temps et l'envie d'apprendre à tout configurer. Et si on souhaite utiliser un domaine personnel sur lequel on peut configurer SPF / DKim / DMarc...

Utiliser SMTP c'est encore la meilleure solution quand on utilise des domaines que l'on ne contrôle pas (typiquement GMail) et qu'on préfère se concentrer sur son site plutôt que sur son serveur mail.

Après c'est sûr que le must reste de configurer un postfix comme il faut sur un domaine perso histoire d'avoir le contrôle sur ses données et de maitriser de A à Z sa "chaine de distribution".
Mais comme je l'ai dis, encore faut il avoir le temps et l'envie. Surtout qu'un serveur mal configuré ça passe vite en open relais (enfin pas si vite mais bon) avec un blocage par OVH derrière... Au début de l'IP puis du serveur...

Quand on apprend la fonction mail() on ne se doute pas qu'on peut avoir une telle complexité. Vous m'avez donné beaucoup d'infos et je m'y perds un peu (voir beaucoup). Je dois retenir comme solution l'ajout de sendmail ou de phpmailer ?


Utiliser SMTP c'est encore la meilleure solution



Je dois retenir comme solution l'ajout de sendmail ou de phpmailer ?

Dans Gmail tu actives IMAP et SMTP, tu actives l'authentification faible, ce qui te permettrait d'utiliser n'importe quel logiciel de mail (p.ex. Thunderbird pour lire et écrire ton mail Gmail.
Tu utilises exactement les mêmes paramètres SMTP pour envoyer les mails depuis ton appli web vers Gmail.

Merci encore une fois. Par contre pour aider j'ai trouvé un tuto : https://www.hostinger.fr/tutoriels/utiliser-serveur-smtp-gmail/