PHPNET Assistance

Support et Entraide PHPNET => Serveur dédié et virtuel => Discussion démarrée par: Lebanner le 18 mars 2008 à 17:29:33

Titre: [RESOLU] ...Fonction mail ()
Posté par: Lebanner le 18 mars 2008 à 17:29:33
Salut,

J'ai regardé la FAQ, j'ai fais une recherche sur les topics du forum là dessus et j'ai vu que plein de personne ont le même problème que moi :

J'utilise la fonction mail et ça marche 1 fois sur 15 ???

Je comprends qu'il ne faut pas en abuser mais bon quand on fait des tests on s'en sert du coup pas mal pendant le temps des tests.....

Mon code est le suivant (je récupère les infos d'un autre fichier) :

<?php

// Creation du message du mail
$msg "Bonjour,\n\n";
$msg .= "$prenom $nom pose la question suivante (Site Mariage / BB) \n\n";
$msg .= "$message";

// Expediteur du mail
$expediteur "$mail";
// Destinataire du mail
$to "nicolas.ravanel@free.fr";
// Moi en copie cachee
$copiecache "nicolas.ravanel@free.fr";
// Objet du mail
$objet "Question site Mariage / BB";

// Construction de l'header contenant l'expediteur et le destinataire pour la reponse au mail
$mailheaders "From: $expediteur \r\n";
$mailheaders .= "Bcc: $copiecache \r\n";
$mailheaders .= "Reply-To: $mail \r\n";

// Verifier que l' adresse mail est valide
$regex "/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i";
$courriel "$mail";
if (!
preg_match($regex$courriel)) {
    echo 
"L'adresse $courriel n'est pas valide";
} else {

// Fonction mail() qui envoi le mail
mail($to$objet$msg$mailheaders);

}

?>


Quelqu'un peut il m'expliquer quelles sont les règles car à part avoir vu qu'il ne faut pas utiliser cette fonction 100 fois par heure avec le même domaine, j'ai rien vu d'autre.

Merci d'avance
Titre: Re : ...Fonction mail ()
Posté par: lussah le 19 mars 2008 à 13:07:29
Bonjour,

j'ai presque le même problème que toi...

Chez moi, les mails arrivent mais sont considéré comme des spams. Sauf 1 fois sur 15 où il passe correctement.

// composition du message
$entete = "Content-Type: text/html; charset=iso-8859-1\n"; // Type MIME
$entete .= "From: $Nom_Envoyeur <$Adr_Envoyeur>\n";
$entete .= "Reply-To: $Adr_Envoyeur\n";
$entete .= "Return-Path: $Adr_Envoyeur\n";
$entete .= "Message-ID: <".time().".site@cutaia.be>\n";
$entete .= "X-Mailer: PHP v".phpversion()."\n";
$entete .= "X-Sender: $Adr_Envoyeur\n";
$entete .= "X-auth-smtp-user: $Adr_Envoyeur \n";
$entete .= "X-abuse-contact: abuse@cutaia.be\n ";

J'ai trouvé une solution alternative : je mets www-data@195-144-11-21.phpnet.fr\n dans le $entete .= "From: "; et ça marche à tous les coups. Mes messages ne sont plus considérés comme des spams.

Ma questions est la suivante :
Comment faire pour pouvoir avoir une adresse mail dont je suis propriétaire comme expéditeur ($entete .= "From: ";)?
Car quand j'envoi le mail, j'ai www-data@195-144-11-21.phpnet.fr comme expéditeur du mail.
Je voudrais pouvoir le choisir.

Merci.
Lussah

Titre: Re : ...Fonction mail ()
Posté par: Vephil le 19 mars 2008 à 22:50:38
J'ai eu le même problème depuis le passage en PHP  5.

Résolu grâce à l'aide du support technique PHPNET  -_-

Il faut le champ "Return-path:"  dans les headers

Vephil
Titre: Re : ...Fonction mail ()
Posté par: lussah le 20 mars 2008 à 21:10:23
mais j'ai déjà le champ "Return-path:"  dans les headers (cf. message précédent).
Titre: Re : Re : ...Fonction mail ()
Posté par: Vephil le 20 mars 2008 à 22:34:07
mais j'ai déjà le champ "Return-path:"  dans les headers (cf. message précédent).

Je répondais à Lebanner  -_-
Titre: Re : ...Fonction mail ()
Posté par: lussah le 20 mars 2008 à 23:20:12
n'aurais-tu pas une solution pour moi aussi?
merci
Titre: Re : Re : Re : ...Fonction mail ()
Posté par: Lebanner le 21 mars 2008 à 16:03:38
mais j'ai déjà le champ "Return-path:"  dans les headers (cf. message précédent).

Je répondais à Lebanner  -_-

Yes, ça marche nickel!!
Merci beaucoup
Titre: Re : Re : ...Fonction mail ()
Posté par: Vephil le 21 mars 2008 à 23:46:09
n'aurais-tu pas une solution pour moi aussi?
merci

Non désolé.

Mais je ne comprends pas pourquoi tu n'as pas d'adresse email perso à mettre. Si tu as un hébergement avec un nom de domaine tu as bien tes adresses email correspondantes.