Outils pour utilisateurs

Outils du site


php:mail

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
php:mail [17/10/2012 00:59] – créée danielphp:mail [17/10/2012 01:14] (Version actuelle) daniel
Ligne 1: Ligne 1:
 ====== Envoi de mail ====== ====== Envoi de mail ======
 +
 +===== Pb et pistes =====
  
 Envoyer un mail en texte brut en php semble simple, pourtant après pas mal de recherches et de creusage de méninges je n'ai pas réussi à trouver de système passe partout. Envoyer un mail en texte brut en php semble simple, pourtant après pas mal de recherches et de creusage de méninges je n'ai pas réussi à trouver de système passe partout.
Ligne 18: Ligne 20:
 La classe ci-dessous marche, sauf avec les sujets avec accents si on utilise windows mail sur un serveur qmail (free.fr par exemple). La classe ci-dessous marche, sauf avec les sujets avec accents si on utilise windows mail sur un serveur qmail (free.fr par exemple).
  
 +
 +
 +===== Exemple de solution (partielle) =====
 <code php> <code php>
-<?php 
 /** /**
  * Une classe pour envoyer des mails en texte brut correctement encodés (avec accents   * Une classe pour envoyer des mails en texte brut correctement encodés (avec accents 
Ligne 27: Ligne 31:
    
  * marche pas si on cumule sujets avec accents, windows mail et adresse @free.fr.  * marche pas si on cumule sujets avec accents, windows mail et adresse @free.fr.
 + * Code sous licence GPL
 + * @author daniel.caillibaud@sesamath.net
  */  */
  
Ligne 309: Ligne 315:
     return mail($this->to, $this->subject, $this->message, $this->getHeaders());     return mail($this->to, $this->subject, $this->message, $this->getHeaders());
   } // send   } // send
-   
- 
      
   /**   /**
Ligne 459: Ligne 463:
  
 } }
 +</code>
 +
 +
 +===== Exemples =====
 <code> <code>
 +print(mb_encode_mimeheader("un truc évident mais pénible à la longue","UTF-8","Q"));'
 +=>
 +un truc =?UTF-8?Q?=C3=83=C2=A9vident=20mais=20p=C3=83=C2=A9nible=20=C3=83?=
 + =?UTF-8?Q?=C2=A0=20la=20longue?=
 +
 +print(iconv_mime_encode("From", "un truc évident mais pénible à la longue",
 +   array("scheme" => "Q", "input-charset" => "UTF-8", "output-charset" => "UTF-8")));
 +=>
 +From: =?UTF-8?Q?un=20truc=20=C3=A9vident=20ma?==?UTF-8?Q?is=20p?=
 + =?UTF-8?Q?=C3=A9nible=20=C3=A0=20la=20longue?=
 +
 +print(quoted_printable_encode("From: un truc évident mais pénible à la longue"));
 +=>
 +From: un truc =C3=A9vident mais p=C3=A9nible =C3=A0 la longue
 +</code>
 +
 +Et ensuite, y'a deux écoles
 +  un truc =?UTF-8?Q?=C3=A9vident?=
 +ou
 +  ?UTF-8?Q?un=20truc=20=C3=A9vident?=
 +
 +Tous les mailers observés utilisent le 1er pour le sujet (idem mb_encode_mimeheader) et le 2e (comme iconv_mime_encode) pour les adresses comme
 +  From: ?ISO-8859-1?Q?un=20truc=20=E9vident?= <uneadresse@example.com>
 +
 +
php/mail.1350428394.txt.gz · Dernière modification : 17/10/2012 00:59 de daniel