OVH Community, votre nouvel espace communautaire.

fonction PHP mail


Nowwhat
10/03/2011, 08h08
Citation Envoyé par movix
La seconde solution ne fonctionne pas du tout (sauf erreur de ma aprt que je ne vois pas) car la connexion au serveur relais smtp que j'ai défini ne se construit pas. Timeout de connexion se qui me laisse penser que le port 25 est interdit pour les serveurs web.


Mais non, ne frappe pas sur la porte "25" de votre serveur mail de secours ...

Constate ce qui ce passe chez votre FAI, OVH, votre serveur mail, partout quoi ....
Déjà: OVH préconise la porte 587 (+mail+mot de passe car authentification obligé) et du coup, ça marche
Autre exemple - et ça marche aujourd'hui: un mail chez gmail, on active la gestion "POP/SMTP" et on regarde le doc. Vous pouvez vous connecter en "587" aussi pour envoyer vos mails dans les mêmes conditions. N'oublie pas de vous connecter en "TLS" comme indiqué.

Mais oubli le "25" - chez vous, et ailleurs.

laurents
09/03/2011, 19h43
Bonsoir, ça n'a rien à voir avec OVH, mais comme j'ai des pbs de mail PHP, j'ai repris de petit bout de code, et j'ai beau avoir "mail envoyé", il n'y a rien dans ma boîte... Auriez-vous une explication ?

movix
27/10/2010, 09h39
je crains que je ne me suis toujours pas bien exprimé pour différentier mail() et SMTP.

Mon site dispose de deux possibilités d'envois des mails.
1) avec mail()
2) en générant un flux smtp à destination du FQDN d'un serveur SMTP pour lequel je peux aussi définir l'authentification (non TLS)

la première solution fonctionne sauf dans certains cas et m'affiche l'erreur d'envois dans mon manager OVH que j'ai relatée plus haut.

La seconde solution ne fonctionne pas du tout (sauf erreur de ma aprt que je ne vois pas) car la connexion au serveur relais smtp que j'ai défini ne se construit pas. Timeout de connexion se qui me laisse penser que le port 25 est interdit pour les serveurs web.

movix
27/10/2010, 09h33
Merci pour ces réponses rapides.

pour être un peu plus précis.
A la base j'utilise php mail.
Sauf que certains smtp destinataires rejetent le mail avec l'erreur citée plus haut. Pas tous, les mails passent bien pour certain destinataires.
Si je l'interprète bien, cela revient à dire que le serveur 82.mail-out.ovh.net n'est pas le MX pour le domaine auquel il appartient, ce qui est jugé préjudiciable par certains SMTP.

J'ai essayé de modifier les adresses mail de l'expéditeur et ai entre autre essayé rubbish@mondomaine.tld
sachant que le serveur de messagerie de mondomaine.tld n'est pas chez OVH mais chez moi.

Pour la partie SMTP, fsockopen() n'arrive pas a connecter sur le serveur que je lui indique sur le port 25, semblerait qu'il y ai du filtrage de ports.

Cela vous permet de me mettre sur la bonne piste, car la je suis au bout de mon latin.

btw: Bisous Nowwhat

Nowwhat
27/10/2010, 09h16
Mieux encore !
Soit tu travaille avec la fonction PHP qui se nomme mail(),
soit tu travaille avec ton serveur smtp.

Deux chemins différents pour accomplir la même tâche.

Gaston_Phone
27/10/2010, 09h10
Dans la fonction PHP mail(), tu n'as pas besoin de définir un serveur SMTP.

movix
27/10/2010, 08h53
Bonjour,

je rencontre aussi des soucis avec php mail.
Sur le fond mon script fonctionne bien et je n'ai pas de soucis.

J'ai régulièrement des interlocuteurs de mon site qui ne sont pas joignables car leur hébergeur de messagerie procède a un test DNS qui ne répond pas aux prérequis.

Voici le message d'erreur.
Remote host said: 554 Domain 82.mail-out.ovh.net has no MX DNS record

Existe-t-il une solution autre que d'utiliser un serveur SMTP correctement configuré ?

Est-ce une info utile pour OVH afin de faire des modification au nieau de leur DNS ?

th3squal
26/08/2010, 10h03
un accro du fofo

Gaston_Phone
25/08/2010, 11h17
Citation Envoyé par laurents
sinon, je suis impressionné par le nb de posts de gaston-phone : En un an, ça doit faire une moyenne d'environ 7 par jour...
Plus 1

laurents
25/08/2010, 10h55
Citation Envoyé par Gaston_Phone
Malheureusement, ce traitement est imbriqué dans l'administration d'un de mes sites et je n'ai pas trop le courage de tout démonter.
Moi, je suis un peu ds le même cas : j'ai fait certains trucs qui me prendraient pas mal de tps à refaire (et plusieurs trucs en js ou en PHP, qui ne sont pas de moi), mais le jour où il faudra transmettre tout ça (je ne suis pas éternel et ces sites continueront à vivre), ça posera pb.
Sinon, je suis impressionné par le nb de posts de Gaston-Phone : en un an, ça doit faire une moyenne d'environ 7 par jour...

th3squal
25/08/2010, 10h10
Zut^^ merci quand même!

Par contre si tu as des docs vers lesquelles chercher je suis tout de même preneur

Gaston_Phone
23/08/2010, 20h43
Citation Envoyé par th3squal
Ca par contre je suis preneur
Malheureusement, ce traitement est imbriqué dans l'administration d'un de mes sites et je n'ai pas trop le courage de tout démonter.

th3squal
23/08/2010, 20h38
Citation Envoyé par Gaston_Phone
J'utilise le même principe auquel j'ajoute l'analyse des rejets pour supprimer les adresses en erreur, toujours trop pleines, etc.
Ca par contre je suis preneur

Gaston_Phone
23/08/2010, 17h36
Citation Envoyé par th3squal
Aux derniers relevés, j'ai passé la barre des 25 000 mails automatiques en 3ans, sans avoir été considéré comme spammer. Petite astuce : Pour cela je met en buffer mes mails à envoyer (dans mysql), et j'ai une tâche planifiée qui tourne toutes les heures et qui envoi par série de 50mails, ainsi je ne dépasse jamais la limite des 100mails/heure par inadvertance, au pire les pics sont lissés dans les 3 ou 4 heures grand maximum.
J'utilise le même principe auquel j'ajoute l'analyse des rejets pour supprimer les adresses en erreur, toujours trop pleines, etc.

th3squal
23/08/2010, 17h26
Dans ce genre de configuration, les mails utilisé sont souvent dans le genre no-reply@mondomaine.com, afin d'avoir justement une adresse propre au domaine sur le même hébergeur.

Dans mon cas, je suis aussi sur un 90Plan, j'ai en effet une adresse mail réservée à l'envoi automatisé, ensuite on peux rediriger les réponses avec un reply-to et un return-path, mais l'expéditeur doit être une adresse mail physique de l'hébergement.

Je n'ai jamais eu aucun soucis avec le script que je t'ai donné en suivant cette configuration précise, donc tu devrais pouvoir t'en sortir en suivant l'exemple donné

Aux derniers relevés, j'ai passé la barre des 25 000 mails automatiques en 3ans, sans avoir été considéré comme spammer. Petite astuce : Pour cela je met en buffer mes mails à envoyer (dans mysql), et j'ai une tâche planifiée qui tourne toutes les heures et qui envoi par série de 50mails, ainsi je ne dépasse jamais la limite des 100mails/heure par inadvertance, au pire les pics sont lissés dans les 3 ou 4 heures grand maximum.

laurents
23/08/2010, 17h05
En gros, tu proposes de créer une adresse mail qui ne servirait qu'à ça ? Mais vu le sujet du mail, il n'y a pas ambiguïté.

th3squal
23/08/2010, 16h46
sur le 90plan on à 1000 comptes mails fournis gracieusement dans l'offre, il y à de quoi créer un certains nombres de comptes OVH pour faire fonctionner un envoi automatique^^ Donc en théorie avec un FROM ovh dédié sans s'amuser à utiliser des adresses exotiques ça devrait fonctionner! Actuellement nous ne sommes plus à un compte pop près vu toutes les possibilité de synchro qu'on à entre les divers hébergeurs!

laurents
23/08/2010, 16h41
90plan, et j'ai choisi de tout le tps mettre la même adresse pour l'envoi (celle du propriétaire du compte) et d'indiquer l'adresse du vrai émetteur ds le msg...

th3squal
23/08/2010, 16h30
Je n'ai jusque la pas eu de soucis de ce genre, tout dépends de l'environnement de lecture du mail je pense.

La solution la plus propre serait dans tous les cas d'utiliser des adresses mails OVH pour envoi et réception.

Quel plan possède tu précisément?

laurents
22/08/2010, 21h52
Je viens de faire un essai avec
Code:
 $headers .= "From: ".$nomexp."<".$from.">  \n";
, ce qui revient au même qu'avec ton script et l'adresse du postmaster n'était pas si cachée que ça, vu qu'au début, on ne voit qu'elle, et le "$nomexp" n'apparaît que si on clique sur le mail, à moins que je n'ai rien compris...

th3squal
22/08/2010, 19h30
Dans mon script il y à la variable "Nom de l'expediteur" et la variable "Mail de l'expediteur"

Il suffi de mettre un nom "parlant" et l'adresse postmaster sera masquée dans les webmails et logiciels de mail (bon si on fouille on verra toujours postmaster).

Si on rajoute le return-path et un reply-to vers l'adresse physique à utiliser (exemple free), les notifications et réponses partirons vers l'adresse mentionnée dans ces deux zones

laurents
20/08/2010, 21h26
Même si j'aimerais comprendre d'où viennent ces .htaccess pour arrêter ce processus, ta solution m'intéresse ; mais comment faire un alias du nom de l'émetteur ?

th3squal
20/08/2010, 18h52
Au final la solution est de faire un script qui envoi via une adresse OVH (le postmaster par exemple), un alias de nom afin de ne pas afficher l'adresse "postmaster" et de faire un return-path vers l'adresse sur laquelle tu souhaite les réponse et le tour est joué

Ainsi, on utilise bien le chemin "OVH envoi de l'OVH" donc pas de soucis de bloquage, et les réponses se font sur l'adresse que tu souhaite

laurents
20/08/2010, 18h41
Aucun ; je n'y avais pas pensé avant. Cela dit, le support OVH m'a dit que normalement, ça devrait marcher, à moins qu'il y ait des .htaccess chez moi ; j'ai vérifié, et en effet, ils y en avaient (une dizaine), mais pas de moi ; c'est de l'intrusion ; il y a des chances qu'un script introduit qq part les génère, mais il faut trouver ce script (je dis ça, car ça m'est déjà arrivé sur un site chez 1&1 ; les .htaccess rendaient le site inaccessible (et à l'origine, le script qui les généraient avait été introduit par un virus (ou un trojan) !). Cela dit, après avoir enlevé les htaccess, ça ne marche pas mieux, mais comme je crois qu'il y a qd même un rapport, j'attends que le support me dise ce que je dois faire.

Gaston_Phone
20/08/2010, 18h25
Citation Envoyé par laurents
Sinon, je pourrais tjs virer le From et mettre le nom de l'émetteur ds le texte du mail (au moins, le mail arriverait et on pourrait savoir de qui il vient).
Oui et alors quel en serait le problème ?

laurents
20/08/2010, 09h44
Citation Envoyé par Gaston_Phone
Ce serait un travail de cochon!
Oui, si tu as plus propre... Sinon, je pourrais tjs virer le From et mettre le nom de l'émetteur ds le texte du mail (au moins, le mail arriverait et on pourrait savoir de qui il vient).

Gaston_Phone
19/08/2010, 23h15
Ce serait un travail de cochon!

laurents
19/08/2010, 23h07
Citation Envoyé par Gaston_Phone
Conclusion : garde mon script de test.
et sans rire, y a pas d'autre solution ?
J'avais pensé à mettre l'envoi de mail chez Free (gratuit), puis de mettre un iframe, mais je n'arrive pas à coller
Code:
?>


laurents
19/08/2010, 22h59
ouaf, mais à condition de mettre tout le tps la même adresse ds le From...

Gaston_Phone
19/08/2010, 22h55
Conclusion : garde mon script de test.

laurents
19/08/2010, 21h44
Au fait, la réponse que m'a fait aujourd'hui le support de OVH ne fonctionnait pas : ils conseillaient de mettre un return-path et un reply-to ds le header. Mais je les soupçonne d'être un peu légers en technique, car c'est la deuxième fois qu'ils font référence à ce forum (ils ont au moins le mérite de garder en mémoire les posts intéressants).

laurents
19/08/2010, 20h52
Bien vu, ça a marché (ce n'est pas mon adresse, car je ne suis pas le détenteur du compte, mais je fais dessus des développements (html, PHP, js) pour rendre service)(et qd je faisais des tests, je le faisais tjs avec mon adresse ; mais supposons que ce ne soit pas l'adresse du propriétaire du compte, ça va sûrement merder ?)

Gaston_Phone
19/08/2010, 19h35
Alors essaie en mettant dans le FROM une adresse MAIL OVH liée à ton hébergement.
Et reviens en nous dire le résultat.

laurents
19/08/2010, 19h18
Citation Envoyé par th3squal
J'ai une question bête, est-ce que l'adresse mail utilisée dans le FROM est une adresse ou redirection que tu as créé dans ton hébergement OVH?

Si oui, tu ne devrais pas avoir de problème.
Non
Citation Envoyé par th3squal
Si non, tu risque d'avoir été considéré comme émetteur SPAM, et il se peut que tes envois soient bloqués dans ton manager (ca m'est arrivé)
Pour tester, j'ai mis mon adresse professionnelle, et c'est pareil...donc, à moins que cette adresse soit aussi considérée comme du SPAM (douteux), ce n'est pas ça.

th3squal
19/08/2010, 18h18
J'ai une question bête, est-ce que l'adresse mail utilisée dans le FROM est une adresse ou redirection que tu as créé dans ton hébergement OVH?

Si oui, tu ne devrais pas avoir de problème.

Si non, tu risque d'avoir été considéré comme émetteur SPAM, et il se peut que tes envois soient bloqués dans ton manager (ca m'est arrivé)

laurents
18/08/2010, 22h41
Je suis d'accord avec toi et j'ai interrogé là-dessus le support de OVH et espère une réponse demain.

Gaston_Phone
18/08/2010, 22h30
Citation Envoyé par laurents
Oui, c'est évident, mais le mail n'arrive que si je ne mets pas le from...
C'est vraiment curieux ton histoire.

laurents
18/08/2010, 22h11
Oui, c'est évident, mais le mail n'arrive que si je ne mets pas le from...

laurents
18/08/2010, 21h49
Oui, évident, et c'est pour ça que je dis que ça ne marche pas, car le mail n'arrive que si je ne mets pas le from...

Gaston_Phone
18/08/2010, 21h10
Bien sûr qu'il faut le "from" dans le headers.

laurents
18/08/2010, 20h58
Gaston-phone : ton script marche bien si je commente le "from" ds le headers, sinon, ça ne marche pas (mais ça marche si je l'essaie sur un autre compte OVH (donc peut-être un autre serveur)).

Paca : j'ai downloadé rgraph, mais 1) je n'ai pas vu comment l'installer et 2) ça ne parle que de graphes...

Gaston_Phone
18/08/2010, 20h03
Si tu n'as pas de pièces jointes --> utiliser mon script.

Paca
18/08/2010, 19h41
j'ai eu quelque problème pour envoyé des mails avec pièce jointe.

J'ai découvert Rmail de phpguru.org

Depuis je n'utilise que lui.

Il fonctionne à merveille sur mon hebergement perso(60gp).

Voila bon mailing

laurents
18/08/2010, 19h30
Ca ne marche plus (et je ne sais pas pourquoi) et j'ai repris ton code,
th3squal, en commentant ce qui ne me servait pas (la copie et le SMTP) et en définissant les 2 constantes utiles pour moi
Code:
define ('_MAIL_EXPEDITEUR', 'mail@ext);
define ('_MAIL_EXPEDITEUR_NOM', '"lolo"');
, mais ça n'envoit plus de mail. Que puis-je tenter ?

th3squal
13/08/2010, 10h05
J'ai eu pas mal de soucis pour mettre un script d'envoi de mail fiable, et surtout qui ne génère pas de le flag "SPAM" chez les destinataires.

Si cela te conviens, c'est nickel

laurents
12/08/2010, 21h42
Citation Envoyé par Gaston_Phone
Autant prendre un marteau-pilon pour enfoncer un clou.
C'est peut-être un marteau-pilon, mais ça a le mérite de marcher, alors qu'avec la méthode traditionnelle, c'est aléatoire (mais bizarrement, pas chez un autre hébergeur, ni sur un autre compte de OVH). (et j'ai tenu compte de ta réponse n°119 )

th3squal
11/08/2010, 13h59
Citation Envoyé par Gaston_Phone
---> voir ma réponse #19

Gaston_Phone
11/08/2010, 12h48
Citation Envoyé par laurents
Je compte essayer ton script car j'ai qq soucis avec l'autre (parfois, ça marche, puis, un peu plus tard, sans rien avoir changé, ça ne marche plus ). Par contre, j'ai besoin d'une explication : ds la constante _MAIL_SMTP, je mets quoi ?
---> voir ma réponse #19

th3squal
11/08/2010, 10h33
Code PHP:
 ini_set('SMTP',_MAIL_SMTP); 
  
ini_set('sendmail_from',_MAIL_EXPEDITEUR); 
Chez OVH on peux supprimer cela, personnellement je le laisse car j'ai 2 serveurs, un de test, et un de production, et sur les deux mes configs ne sont pas les mêmes

Si tu souhaite le garder tu peux mettre : smtp.tondomaine.com


Code PHP:
 $boundary "-----=".md5(uniqid(rand())); 
 
" . . . " . . . " . . . " . . . " . . . " 
  
$Z_Message .="--$boundary\n"
 
" . . . " . . . " . . . " . . . " . . . " 
  
$Z_Message .="\n\n--$boundary--\n"
J'ai eu beaucoup de soucis avec les mails HTML, et j'ai souvent tendance à les faire passer ainsi afin de rajouter le texte alternatif. Qui peux le plus, peux le moins!

laurents
11/08/2010, 10h28
Je compte essayer ton script car j'ai qq soucis avec l'autre (parfois, ça marche, puis, un peu plus tard, sans rien avoir changé, ça ne marche plus ). Par contre, j'ai besoin d'une explication : ds la constante _MAIL_SMTP, je mets quoi ?

Gaston_Phone
11/08/2010, 10h26
Citation Envoyé par th3squal
J'ai retrouvé le post, mais tu n'étais pas l'auteur...
Autant prendre un marteau-pilon pour enfoncer un clou.

Je vois que ce script utilise :
Code PHP:
  $boundary "-----=".md5(uniqid(rand()));
 
" . . . " . . . " . . . " . . . " . . . "
  
$Z_Message .="--$boundary\n";
 
" . . . " . . . " . . . " . . . " . . . "
  
$Z_Message .="\n\n--$boundary--\n"
Cela n'est utilisé que dans le cas où il faut envoyer des pièces jointes. Ce qui n'est pas le cas pour ce test.

Je vois aussi que ce script utilise :
Code PHP:
  ini_set('SMTP',_MAIL_SMTP);
  
ini_set('sendmail_from',_MAIL_EXPEDITEUR); 
Ce qui ne sert à rien chez OVH avec la fonction mail(...);

th3squal
11/08/2010, 10h16
j'ai pas mal fouiné pour faire du mailing via les serveurs ovh, j'ai reussi non sans mal à faire un script qui fonctionne bien, celui-ci à permis d'envoyer plusieurs millier de mails et il fonctionne encore tous les jours

attention ces mots clés sont des constantes que j'ai paramétré par un fichier "param.php" :
_MAIL_EXPEDITEUR_NOM
_MAIL_EXPEDITEUR
_MAIL_COPIE
_MAIL_SMTP

Code PHP:
function fct_mail($Z_HTML,$Z_Objet,$Z_Destinataire)
{
  

  
$boundary "-----=".md5(uniqid(rand()));
  
  
$headers ='From: '._MAIL_EXPEDITEUR_NOM.' <'._MAIL_EXPEDITEUR.">\n"
  
  if(
_MAIL_COPIE!="")
  {
    
$headers .='Bcc: '._MAIL_COPIE."\n"
  }
  
  
$headers .= 'Sender: '._MAIL_EXPEDITEUR."\n";
  
$headers .= 'Reply-To: '._MAIL_EXPEDITEUR."\n"
  
$headers .= 'Return-Path: '._MAIL_EXPEDITEUR."\n";
  
$headers .= 'X-Sender: '._MAIL_EXPEDITEUR."\n"
  
$headers .= 'X-Confirm-Reading-To: '._MAIL_EXPEDITEUR."\n";
  
$headers .= "X-Mailer: PHP/5.2.2\n";
  
$headers .= 'Disposition-Notification-To:'._MAIL_EXPEDITEUR."\n"
  
$headers .= "MIME-Version: 1.0\n";
  
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
  
  
$Z_Message .="\n";
  
$Z_Message .="--$boundary\n";

  
$Z_Message .='Content-Type: text/html; Charset="iso-8859-1"'."\n"
  
$Z_Message .='Content-Transfer-Encoding: 8bit'."\n"."\n"

  
$Z_Message.="".$Z_HTML."";
  
$Z_Message .="\n\n--$boundary--\n";

  
ini_set('SMTP',_MAIL_SMTP);
  
ini_set('sendmail_from',_MAIL_EXPEDITEUR);
  
  return 
mail($Z_Destinataire$Z_Objet$Z_Message$headers);



laurents
10/08/2010, 23h07
J'ai retrouvé le post, mais tu n'étais pas l'auteur...

Gaston_Phone
10/08/2010, 20h23
Si maintenant, le support OVH prend mes tests en référence, où allons nous ?

laurents
10/08/2010, 17h27
Citation Envoyé par Gaston_Phone
Question : Quel script de test le support d'OVH t'avait-il conseillé ?
Exactement le même que toi et justement, ils avaient cité un post de ce forum.

Gaston_Phone
10/08/2010, 16h45
Citation Envoyé par laurents
Mon éditeur non texte, c'est Notepad++...
Sinon, je viens de refaire l'essai et...ça a marché. Donc, je crois que sans s'en rendre compte, on tape des caractères qu'il n'aime pas (et invisible). Donc, si ça se reproduit, j'insisterai.
Tu es sur le bon chemin.

Question : Quel script de test le support d'OVH t'avait-il conseillé ?

Daniel60
10/08/2010, 09h51
Effectivement, le problème doit se situer entre le clavier et la chaise

laurents
10/08/2010, 09h16
Mon éditeur non texte, c'est Notepad++...
Sinon, je viens de refaire l'essai et...ça a marché. Donc, je crois que sans s'en rendre compte, on tape des caractères qu'il n'aime pas (et invisible). Donc, si ça se reproduit, j'insisterai.

Gaston_Phone
10/08/2010, 08h52
Tu es le premier pour lequel ce script ne fonctionne pas.
Tu dois faire une erreur de recopie ou utiliser un éditeur de texte NON TEXTE.

laurents
10/08/2010, 08h17
Déjà essayé hier sur les conseils du support de OVH, mais rien à faire...mais il marche sur un autre compte chez OVH...Ca dépend peut-être du serveur...

Gaston_Phone
09/08/2010, 23h11
Peux-tu essayer ce petit script :

Code PHP:
   // Test fonction mail();

   // *** A configurer

   
$to    "Adresse_Mail_Destinataire";  
   
$from  "Adresse_Mail_Contact_site";     // adresse MAIL OVH liée à ton hébergement.

   // *** Laisser tel quel

   
$JOUR  date("Y-m-d");
   
$HEURE date("H:i");

   
$Subject "Test Mail - $JOUR $HEURE";

   
$mail_Data "";
   
$mail_Data .= " \n";
   
$mail_Data .= " \n";
   
$mail_Data .= " Subject  \n";
   
$mail_Data .= " \n";
   
$mail_Data .= " \n";

   
$mail_Data .= "Mail HTML simple  :  $Subject    
 \n"
;
   
$mail_Data .= "
 \n"
;
   
$mail_Data .= "bla bla bla bla 
 \n"
;
   
$mail_Data .= "Etc.
 \n"
;
   
$mail_Data .= " \n";
   
$mail_Data .= " \n";

   
$headers  "MIME-Version: 1.0 \n";
   
$headers .= "Content-type: text/html; charset=iso-8859-1 \n";
   
$headers .= "From: $from  \n";
   
$headers .= "Disposition-Notification-To: $from  \n";

   
// Message de Priorité haute
   // -------------------------
   
$headers .= "X-Priority: 1  \n";
   
$headers .= "X-MSMail-Priority: High \n";

   
$CR_Mail TRUE;

   
$CR_Mail = @mail ($to$Subject$mail_Data$headers);
 
   if (
$CR_Mail === FALSE)   echo " ### CR_Mail=$CR_Mail - Erreur envoi mail 
 \n"
;
   else                      echo 
" *** CR_Mail=$CR_Mail - Mail envoyé
 \n"

Vous trouverez des compléments d'informations sur :
http://a-pellegrini.developpez.com/tutoriels/php/mail/
http://www.siteduzero.com/tutoriel-3...il-en-php.html (Envoi de MAIL avec Pièce-Jointe)

laurents
09/08/2010, 22h45
Rebelote : la ligne
Code:
$headers .= "From: ".$from." \n";
fait que le mail n'est pas envoyé, alors que ça marche chez 1&1. Solution ?

Daniel60
18/07/2010, 19h11
Edite le premier post et mets l'icône "réglé"

laurents
18/07/2010, 15h54
C'est résolu, et le pb ne venait pas de OVH, mais de moi : je passe le mail de l'émetteur ds l'URL (normalement), et ce n'était pas le cas, alors que je le croyais !

PS : comment faire pour noter ce post comme "résolu" ? (je ne suis pas un habitué de ce forum)

Daniel60
18/07/2010, 09h18
Normalement le $from que tu as renseigné devrait fonctionner. Si le résultat n'est pas satisfaisant c'est probablement du au codage (remplacer les \r\n par des \n).
Le reply-to est visible dans la partie technique du message affiché intégralement (ctrl-u).
Vérifie aussi que la variable est bien assignée !

laurents
17/07/2010, 21h04
D'accord, mais c'est où ce "reply to" sachant que c'est l'adresse mail de l'utilisateur, qui la renseigne précemment dans un formulaire (pour l'instant, ça dit que le mail vient du site (!)) ?

Daniel60
17/07/2010, 19h38
Dans le $from tu peux mettre ce que tu veux ( et même ne rien mettre !), c'est le reply-to mis par OVH qui importe.

Tr@nquille
17/07/2010, 18h37
salut,
moi j'y mets comme ça:

Code:
$headers = 'From: '.$nom.' '.$prenom.' <'.$email.'>'."\r\n";
je pense que c'est peut-être le \r\n à la place du \n

à tester

laurents
17/07/2010, 17h14
J'ai fait un petit test comparatif : ayant aussi un compte chez 1&1, j'ai une page qui tourne chez 1&1 et pas chez OVH, avec la fonction PHP mail. Le code de la page est le suivant :
Code:
 headers="";
$headers .= "MIME-Version: 1.0 \n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1 \n"; 
$headers .= "From: ".$from." \n"; 

 mail($to, 'test de sujet', 'test de message',$headers);
Si je commente la ligne
Code:
$headers .= "From: ".$from." \n";
, ça marche aussi chez OVH. Comment, donc, indiquer l'émetteur du mail chez OVH ?