|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
yannouk WRInaute accro

Inscrit le: 11 Oct 2003 Messages: 2124 Localisation: Verdon, 83
|
Posté le : Ven Jan 07, 2005 18:02 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
Au vu du nombre de personnes demandeuses des bons headers pour envoyer un mail en php qui ne passe pas pour du courrier indesirable, voici le code que j'utilise.
teste dans:
-le webmail de OPERA
-Hotmail
-Gmail
-Yahoo Mail
A noter que le script gere les mails HTML et TEXTE brut. Il choisit automatiquement 1 des 2 messages en fonction de la configuration du webmail du receveur (pour des raisons de compatibilite)
| Code: |
$boundary = "-----=" . md5( uniqid ( rand() ) );
$headers = "Reply-to: \"Votresite.com\" <contact@votresite.com>\n";
$headers .= "From: \"Votresite.com\"<contact@votresite.com>\n";
//NOTE: l'adresse email indiquée dans le header From doit etre l'adresse absolue du serveur qui envoie les messages, et peut etre differente de votre adresse de contact si vous etes par exemple sur un serveur dedié partagé. dans mon cas l'adresse specifiee ici est <webusers@mail.nomduserveur.com>
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
$destinataire = "destinataire@du.msg";
$subject = "Sujet de mail";
$message_txt = "Salut Alphonse\n\n";
$message_txt .= "Ca va ?\n";
$message_txt .= "C'était juste pour savoir..\n\n";
$message_txt .= "A plus\n";
$message_txt .= "toto";
$message_html = "<html>\n";
$message_html .= "<body>\n";
$message_html .= "<b>Salut Alphonse</b><br><br>";
$message_html .= "Ca va ?<br>";
$message_html .= "<font color=\"red\">C'était juste pour savoir..</font><br><br>";
$message_html .= "A plus<br>";
$message_html .= "<u>toto</u>";
$message_html .= "</body>\n";
$message_html .= "</html>\n";
$message = "This is a multi-part message in MIME format.\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= $message_txt;
$message .= "\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= $message_html;
$message .= "\n\n";
$message .= "--" . $boundary . "--\n";
mail($destinataire, $subject, $message, $headers); |
Voila Normalement tout fonctionne faites moi part de vos tentatives.
Au passage, les mails envoyés par wri partent en courrier indesirable sur hotmail...La solution est peut etre ici?
A+++
Dernière édition par yannouk le Sam Oct 15, 2005 19:16; édité 3 fois |
|
| |
|
 |
fredsoft WRInaute occasionnel

Inscrit le: 26 Jan 2003 Messages: 242
|
Posté le : Ven Jan 07, 2005 18:11 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
Salut
a tester ta solution mais la question n'est pas de faire fonctionner cela avec opera mail ou autre mais que cela soit pas considéré comme du spam par aol wanadoo club internet et autre....
et la nous sommes tous preneur d'une solution |
|
| |
|
 |
Stellvia WRInaute impliqué

Inscrit le: 28 Déc 2004 Messages: 318
|
Posté le : Ven Jan 07, 2005 18:33 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
Oui alors la votre sujet m'interesse beaucoup car j'ais de gros probleme avec tiscalie et aol (((((
Je crois qu'il faudrais vraiment faire une mise au point avec ce probleme de mail() avec php car a mona vis beaucoup de webmaster ( dont moi ) ont des problemes avec ca.
Dernière édition par Stellvia le Ven Jan 07, 2005 18:35; édité 1 fois |
|
| |
|
 |
yannouk WRInaute accro

Inscrit le: 11 Oct 2003 Messages: 2124 Localisation: Verdon, 83
|
Posté le : Ven Jan 07, 2005 18:33 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
je pense que le plus restrictif a ce niveau la doit etre hotmail. Et avec eux, ca passe. A mon avis pas de probleme avec les wanadoo et compagnie. Donnez moi votre adresse mail chez un de ces fournisseurs et je vous envoie un mail, on verra bien.
YAN |
|
| |
|
 |
Stellvia WRInaute impliqué

Inscrit le: 28 Déc 2004 Messages: 318
|
Posté le : Ven Jan 07, 2005 18:37 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
Qu'est ce qu'il faut garder dans ton script dans le cas ou l'on envois que des mails en texte brute ?
J'ais pas compris a quel endrois il choisis un des 2. |
|
| |
|
 |
fredsoft WRInaute occasionnel

Inscrit le: 26 Jan 2003 Messages: 242
|
Posté le : Ven Jan 07, 2005 18:38 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
| yannouk a écrit: |
je pense que le plus restrictif a ce niveau la doit etre hotmail. Et avec eux, ca passe. A mon avis pas de probleme avec les wanadoo et compagnie. Donnez moi votre adresse mail chez un de ces fournisseurs et je vous envoie un mail, on verra bien.
YAN |
envoie moi un mail sur webmaster@fredsoftwares.com j'ai un anti spam serveur qui aime pas php !!!
sinon j'ai mis un nos dev sur ton script pour tester je te dirai... |
|
| |
|
 |
yannouk WRInaute accro

Inscrit le: 11 Oct 2003 Messages: 2124 Localisation: Verdon, 83
|
Posté le : Ven Jan 07, 2005 18:38 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
pour le texte brut, enleve ca:
| Code: |
$message_html = "<html><body><b>Salut Alphonse</b><br><br>";
$message_html .= "Ca va ?<br>";
$message_html .= "<font color=\"red\">C'était juste pour savoir..</font><br><br>";
$message_html .= "A plus<br>";
$message_html .= "<u>toto</u>";
$message = "This is a multi-part message in MIME format.\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= $message_txt;
$message .= "\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= $message_html;
$message .= "\n\n";
$message .= "--" . $boundary . "--\n"; |
et renomme "message_txt" en "message" |
|
| |
|
 |
yannouk WRInaute accro

Inscrit le: 11 Oct 2003 Messages: 2124 Localisation: Verdon, 83
|
Posté le : Ven Jan 07, 2005 18:42 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
| @fredsoft : ,le mail a été envoyé |
|
| |
|
 |
Stellvia WRInaute impliqué

Inscrit le: 28 Déc 2004 Messages: 318
|
Posté le : Ven Jan 07, 2005 18:42 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
Ok ca donne :
<?php
$boundary = "-----=" . md5( uniqid ( rand() ) );
$headers = "Reply-to: \"Votresite.com\" <contact@votresite.com>\n";
$headers .= "From: \"Votresite.com\"<contact@votresite.com>\n";
//NOTE: l'adresse email indiquée dans le header From doit etre l'adresse absolue du serveur qui envoie les messages, et peut etre differente de votre adresse de contact si vous etes par exemple sur un serveur dedié partagé. dans mon cas l'adresse specifiee ici est <webusers@mail.nomduserveur.com>
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
$destinataire = "destinataire@du.msg";
$subject = "Sujet de mail";
$message_txt = "Salut Alphonse\n\n";
$message_txt .= "Ca va ?\n";
$message_txt .= "C'était juste pour savoir..\n\n";
$message_txt .= "A plus\n";
$message_txt .= "toto";
mail($destinataire, $subject, $message_txt, $headers);
?>
Je test merci
Par contre tu précise qu'il faut utilisé l'adresse absolus du serveur ,ca voudrais dire que pour plus de chance que le mail arrive il ne faut pas donner d'email style webmaster@sddsds.com .
Je suis chez sivit et chez moi c est webusers@sdXXX.sivit.org , faudrais voir si y a pas moyen de changer ca sur le dédié car c'est vraiment moche j'ais peur que les gens efface direct le mail en voyant un expediteur pareil :/ |
|
| |
|
 |
yannouk WRInaute accro

Inscrit le: 11 Oct 2003 Messages: 2124 Localisation: Verdon, 83
|
Posté le : Ven Jan 07, 2005 18:44 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
| si tu specifies From: \"Votresite.com\"<webusers@sdXXX.sivit.org> , c'est bien Votresite.com qui apparait et non webusers@sdXXX.sivit.org ... Donc c'est a peu pres transparent, sauf si on affiche les entetes |
|
| |
|
 |
yannouk WRInaute accro

Inscrit le: 11 Oct 2003 Messages: 2124 Localisation: Verdon, 83
|
Posté le : Ven Jan 07, 2005 18:48 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
fredsoft vient de me confirmer que ca fonctionne sur son domaine avec antispam activé  |
|
| |
|
 |
Stellvia WRInaute impliqué

Inscrit le: 28 Déc 2004 Messages: 318
|
Posté le : Ven Jan 07, 2005 18:51 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
| chez moi le mail est bien recu , sujet et headers ok , par contre aucun message apparait c'est bisard ca. |
|
| |
|
 |
Stellvia WRInaute impliqué

Inscrit le: 28 Déc 2004 Messages: 318
|
Posté le : Ven Jan 07, 2005 18:54 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
le message apparais quand je supprime
$boundary = "-----=" . md5( uniqid ( rand() ) );
A quoi sert cette ligne ? :/ |
|
| |
|
 |
fredsoft WRInaute occasionnel

Inscrit le: 26 Jan 2003 Messages: 242
|
Posté le : Ven Jan 07, 2005 19:03 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
| yannouk a écrit: |
fredsoft vient de me confirmer que ca fonctionne sur son domaine avec antispam activé  |
effectivement...reste d'autres pb avec outlook en ce qui me concerne... |
|
| |
|
 |
Stellvia WRInaute impliqué

Inscrit le: 28 Déc 2004 Messages: 318
|
Posté le : Ven Jan 07, 2005 19:19 Sujet du message: [SOLUTION] Mail via fonction PHP mail() |
|
|
fredsoft > t'as pas eu de probleme avec le message il apparait ?
Chez moi j'ais rien a moins de supprimer la ligne qui fait un espece de truc aleatoire $boundary = "-----=" . md5( uniqid ( rand() ) ); |
|
| |
|
 |
| |
|
|