Envoi mail avec PHP 7 [Résolu]

cs_eli42 113 Messages postés mardi 24 décembre 2002Date d'inscription 12 juillet 2018 Dernière intervention - 25 juin 2018 à 17:10 - Dernière réponse : cs_eli42 113 Messages postés mardi 24 décembre 2002Date d'inscription 12 juillet 2018 Dernière intervention
- 12 juil. 2018 à 14:19
Bonjour

J'ai un gros problème ma fonction pour envoyer des mails beaucoup de destinaire ne recoivent pas mes mail que ce soit en mode test chez moi apache + php 7 + php.ini smtp=smtp.free.fr et depuis OVH

Par contre l'adresse expéditeur c'est une adresse mail@gmail.

J'ai essaye avec PHPMailer ca ne marche pas en $mail->IsSMTP(); mais ca marche en $mail->IsMail();
Mais le résultat est le même la moitié des destinataire ne reçoivent pas les mails.
Vous avez uns astuce ?
Beau Temps Belle Mer
Jorgio


 <?php
function ligne($str)
{
$rn = preg_match("#^[a-z0-9._-]+@(hotmail|live|msn|gmail).[a-z]{2,4}$#", $str) ? "\n" : "\r\n";
return $rn;
}
//----- DECLARE LES VARIABLES
$site = 'monsite.fr';
$from = 'expediteur@gmail.fr';
$nom = 'mon nom';
$to = 'destinataire@fr';
$sujet = 'Sujet test message';
$sujet = html_entity_decode($sujet);
$from = $nom . ' <' . $from . '>';
$message = 'coucou<br>Test';
$message_html = $message;
//----- GENERE LA FRONTIERE DU MAIL
//$eol = PHP_EOL;
$eol = ligne($to);
$limite = md5(uniqid(microtime(), TRUE));
//----- HEADERS DU MAIL
$header = 'Reply-to: ' . $from . $eol;
$header .= 'From: ' . $from . $eol;
$header .= 'Return-Path: ' . $from . $eol;
$header .= 'X-Confirm-Reading-To: ' . $from . $eol;
$header .= 'X-Sender: <' . $site . '>' . $eol;
$header .= 'X-Mailer: PHP/5.3.2' . $eol;
$header .= 'X-auth-smtp-user: ' . $from . $eol;
$header .= 'X-abuse-contact: ' . $from . $eol;
$header .= 'X-Spam-Status: No' . $eol;
$header .= 'Date: ' . date('D, j M Y G:i:s O') . $eol;
$header .= 'MIME-Version: 1.0' . $eol;
$header .= 'Content-Type: multipart/mixed; boundary=' . $limite . $eol;
//----- MESSAGE HTML
$message_ = "";
$message_ .= '--' . $limite . $eol;
$message_ .= 'Content-type: text/html; charset=utf-8' . $eol . $eol;
$message_ .= $message_html . $eol . $eol;
$message_ .= '--' . $limite . '--' . $eol;
//----- ENVOIYER
if (mail($to, $sujet, $message_, $header))
echo 'Envoyé';
else
echo 'Erreur';
?>
 

--
Afficher la suite 

Votre réponse

6 réponses

NHenry 14229 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 14 juillet 2018 Dernière intervention - 25 juin 2018 à 18:13
0
Merci
Si c'est GMail, il faut aussi vérifier les autres dossiers/onglets, car Google s'arroge le droit de trier les mails à la place de l'utilisateur.
cs_eli42 113 Messages postés mardi 24 décembre 2002Date d'inscription 12 juillet 2018 Dernière intervention - 25 juin 2018 à 18:30
Salut henry
J'ai eu les clients au téléphone ils ont bien cherché surtout dans span introuvable

j'ai continuer a faire des test j'ai ouvert plusieurs compte a droite et a gauche :
en modifiant par :

function ligne($str)
{
$rn = preg_match("#^[a-z0-9._-]+@(yahoo).[a-z]{2,4}$#", $str) ? "\n" : "\r\n";
return $rn;
}

J'ai bien recu tous mes mails, mais je doute de la stabilité de cette function sur le serveur OVH

Je pense que je vais déplacer le site chez 1and1

Beau Temps Belle Mer
Commenter la réponse de NHenry
cs_eli42 113 Messages postés mardi 24 décembre 2002Date d'inscription 12 juillet 2018 Dernière intervention - 25 juin 2018 à 19:37
0
Merci
Ben je suis dans la merde en phase de test cela marchait chez ovh, j'ai mis en production :
et pour ne pas pertuber j'ai mis l'adresse expediteur qui correspond au site hebergé chez OVH et plus l'expediteur mail@gmail.com
et paf les yahoo ne passe plus j'en ai marre.
je cherche une function qui marche a 100% quitte a payer car la ca commence a me gaver grave

Beau temps belle mer
jordane45 21674 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 juillet 2018 Dernière intervention - 25 juin 2018 à 19:50
Bonjour,
Pour la gestion des mails il existe des API comme sendinblue ou mailjet qui fonctionnent très bien.
Tu peux t'en servir gratuitement (jusqu'à une certaine limite).
L'avantage de ces api ... c'est que tu peux avoir un historique/traçabilité des mails envoyés.
Tu peux aussi gérer des templates de mail si tu le souhaites depuis leur backoffice (ce qui t'évite de devoir les coder dans ton site directement).
cs_eli42 113 Messages postés mardi 24 décembre 2002Date d'inscription 12 juillet 2018 Dernière intervention - 25 juin 2018 à 20:35
Salut Jordan

Je vais contacter SendinBlue car il font aussi sms donc j’envoie un mail plus un sms par mesure de sécurité

Car mes mails ce ne sont pas du spam c'est des clients qui viennent de chez Groupon tu comprends bien il vient sur le site partenaire pour inscrire son bon cadeau et il ne reçois pas de confirmation et le service clientèle pète un câble et a moi aussi du coup lol

je vais de ce pas leur envoyer un mail je croise les doigts
je vous tiens au courant

Beau temps belle mer
Commenter la réponse de cs_eli42
cs_eli42 113 Messages postés mardi 24 décembre 2002Date d'inscription 12 juillet 2018 Dernière intervention - 12 juil. 2018 à 14:19
0
Merci
Re,

Après des test finalement $mail->IsMail(); marche vers free.fr et yahoo.com

Par contre j'ai du enlever les liens et les images dans le body
Mais mon client est en pour parlé avec 1and1 pour passer sur un serveur dédié.

Beau temps belle mer

--
Commenter la réponse de cs_eli42

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.