mail() poste automatiquement le message message à destination de to. Les destinataires multiples doivent être séparés par des virgules. Les emails avec pièces jointes ou contenus particuliers (comme les emails en HTML, par exemple), peuvent être réalisés avec cette fonction. Il faut respecter l'encodage MIME. Pour plus de détails, voyez http://www.zend.com/zend/spotlight/sendmimeemailpart1.php et les classes PEAR MIME.
Les RFC suivantes peuvent aussi se révéler utiles : RFC 1896, RFC 2045, RFC 2046, RFC 2047, RFC 2048 et RFC 2049.
mail() retourne TRUE si le mail est envoyé, et FALSE sinon.
Avertissement |
L'implémentation de la fonction mail() sur les systèmes Microsoft Windows est différentes en plusieurs points par rapport à celle des système Unix. Premièrement, mail() n'utilise pas un binaire local pour composer le message mais opère uniquement sur les sockets directement, ce qui signifie qu'un MTA (Mail Transfert Agent) doit écouté un socket réseau (qui peut être local ou distant). Deuxièmement, les entêtes personnalisées comme From:, Cc:, Bcc: et Date: ne sont pas par le MTA dans un premier temps, mais sont parsées par PHP. Seul les versions de PHP inférieures à la version 4.3 supporte l'entête Cc: (et est sensible à la casse). Les versions de PHP >= 4.3 supportent toutes les entêtes mentionnées et ne sont pas sensibles à la casse. |
Le quatrième argument passé sera inséré à la fin de l'en-tête. Typiquement, cela permet d'insérer des en-têtes supplémentaires. Les en-têtes multiples doivent être séparées par des retours chariots et des caractères de nouvelles lignes (\r\n).
Note : Vous devez utilisé les caractères \r\n pour séparer les entêtes bien que quelques MTA Unix fonctionne avec uniquement un caracètre de nouvelle ligne (\n).
Le paramètre additional_parameters peut être utilisé pour passer un paramètre additionnel au programme défini lorsqu'il envoie le mail en utilisant le paramètre de configuration sendmail_path. Par exemple, celà peut être utilisé pour définir l'adresse d'expédition lorsque le logiciel sendmail est utilisé avec l'option -f. Vous devriez sûrement ajouter l'utilisateur sous lequel tourne votre serveur web à votre configuration sendmail afin d'éviter qu'une entête 'X-Warning' ne soit ajoutée à votre message lorsque vous utilisez cette méthode pour définir l'adresse d'expédition.
Note : Le cinquième paramètre a été ajouté depuis la version 4.0.5 de PHP. Depuis la version 4.2.3 de PHP, ce paramètre est désactivé dans le safe_mode et la fonction mail() affichera un message d'avertissement et retournera FALSE si vous tentez de l'utiliser.
Vous pouvez aussi utiliser des techniques simples de concaténations de chaînes pour construire des messages complexes :
Note : Assurez-vous qu'il n'y ait aucune nouvelle ligne (ou d'autres espaces ou caractères blancs) dans les paramètres to ou subject, car cela peut avoir des effets secondaires irrationnels.
Note : Le paramètre to ne peut pas être une adresse de la forme "Quelqu'un <quidam@exemple.com>". La commande mail ne traitera pas correctement ce format vers le MTA (tout particulièrement sur les systèmes Microsoft Windows).
Voir aussi imap_mail().
Précédent | Sommaire | Suivant |
ezmlm_hash | Niveau supérieur | Traitement de email |