Comment obtenir un smtp via ovh pour l'utiliser avec la fonction mail (sans phpmailer)

Az17f
Invité n'ayant pas de compte PHPfrance

12 août 2018, 14:10

Salut je cherche comment obtenir son smtp sur ovh, j'ai pas mal cherché sur internet et étant débutant je ne comprends rien, c'est la dernière chose a faire sur mon site :), je ne peux pas utiliser pas utiliser phpmailer, aussi j'ai testé pas mal de code et j'en ai trouvé un qui ne renvoi pas d'erreur, le message s'envoi mais sans smtp il part directement a la poubelle donc si quelqu'un pouvait m'aiguiller j'avoue que cela m'aiderait pas mal :) merci
voici mon bout de code :

Code : Tout sélectionner

<?php $mail = '????@gmail.com'; // Déclaration de l'adresse de destination. if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues. {     $passage_ligne = "\r\n"; } else {     $passage_ligne = "\n"; } //=====Déclaration des messages au format texte et au format HTML. $message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP."; $message_html = "<html><head></head><body><b>Salut à tous</b>, voici un e-mail envoyé par un <i>script PHP</i>.</body></html>"; //==========    //=====Création de la boundary $boundary = "-----=".md5(rand()); //==========    //=====Définition du sujet. $sujet = "Hey mon ami !"; //=========    //=====Création du header de l'e-mail. $header = "From: \"AutoMailer\"<auto-mailer@????.com>".$passage_ligne; $header.= "Reply-to: \"AutoMailer\" <auto-mailer@????>".$passage_ligne; $header.= "MIME-Version: 1.0".$passage_ligne; $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne; //==========    //=====Création du message. $message = $passage_ligne."--".$boundary.$passage_ligne; //=====Ajout du message au format texte. $message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne; $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne; $message.= $passage_ligne.$message_txt.$passage_ligne; //========== $message.= $passage_ligne."--".$boundary.$passage_ligne; //=====Ajout du message au format HTML $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne; $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne; $message.= $passage_ligne.$message_html.$passage_ligne; //========== $message.= $passage_ligne."--".$boundary."--".$passage_ligne; $message.= $passage_ligne."--".$boundary."--".$passage_ligne; //==========    //=====Envoi de l'e-mail. mail($mail,$sujet,$message,$header); //========== ?>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 7624 Messages

13 août 2018, 11:02

je cherche comment obtenir son smtp sur ovh
Un serveur SMTP, c'est un serveur qui fait de l'envoi d'e-mails.
Si ton message part bien, c'est que tu as bien un serveur SMTP qui est déjà configuré correctement sur ton serveur web.
Du coup, je ne comprends pas ta question.
je ne peux pas utiliser pas utiliser phpmailer
Pour quelle raison ? Car c'est l'une des solutions les plus efficaces et simples pour envoyer un mail, et elle fonctionne bien chez OVH.
il part directement a la poubelle
Si il part à la poubelle, c'est probablement que tu as un filtre ou des règles en local sur ta boite mail.
Si il part dans ta boite de spam, alors il faut que tu mettes en place les directives SPF (et si ça ne fonctionne pas DKIM) sur le nom de domaine que tu utilises dans l'email expéditeur (il faut que tu aies un vrai nom de domaine pour le mail d'expéditeur et pas une adresse gmail ou hotmail)

En résumé, le SPF, c'est une entrée dans le DNS de ton nom de domaine qui indique quels sont les serveurs qui sont légitimes pour envoyer des emails en ton nom. Du coup il faut que tu déclares l'ip de ton serveur web et les mails envoyés par lui ne seront plus considérés comme du spam.
https://fr.wikipedia.org/wiki/Sender_Policy_Framework
Quand tout le reste a échoué, lisez le mode d'emploi...

Az17f
Invité n'ayant pas de compte PHPfrance

13 août 2018, 13:49

Salut, merci pour ta réponse
Donc tu me dis que j'ai déjà un serveur smtp
Je ne peux pas utiliser phpMailer car je suis étudiant et que d'ici quelques mois je devrais montrer mes capacités en php sans utiliser de bibliothèques tierces :/, j'ai jusqu'au 18 pour finir le site internet pour mon employeur, comme il me reste uniquement cela j'ai encore le temps de repasser vers phpMailer si je n'y arrive vraiment pas :)

Quand je dis qu'il part a la poubelle c'est que le mail est envoyé (mail renvoie true) mais rien arrive dans ma boite

Donc si j'ai bien compris le smtp c'est pas une boite mail, je me demande donc si la chaine que je rentre dans "from" ne serait pas une mauvaise, personnellement jusqu'a maintenant je rentrais une de mes adresses mail ovh que j'utilise avec le round cube, je la mets ci dessous

auto-mailer@mon-Domaine.com

J'aimerais au moins que le mail parte dans les spam ce serait déjà cool :)

Merci :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 7624 Messages

13 août 2018, 16:41

Il faut déjà que tu vérifies que tu n'aies pas de problème d'envoi alors depuis ton serveur mail.

Pars d'une page PHP vierge et copie-colle l'exemple 3 de la doc en mettant ton adresse e-mail en expéditeur et destinataire:
https://php.net/mail

Si tu ne reçois rien, teste sur une autre adresse e-mail d'un autre fournisseur (Gmail/Hotmail/Orange/Free...)
Si sur tes 2 boites mails, tu ne reçois rien, contactes OVH :)
Quand tout le reste a échoué, lisez le mode d'emploi...

Az17f
Invité n'ayant pas de compte PHPfrance

Hier, 02:36

Ok merci j'ai essayé et rien de rien nul part....... ^^ merci en tout cas pour ton aide je vais contacter mon employeur et voir avec lui pour contacter ovh :) c'est pas bien grave merci beaucoup :) a bientot, je laisse le sujet jusqu'a une résolution du problème (peut être par ovh qui sait ;) )
Merci :)