Courrier | |
---|---|
PHP 4+ |
Syntaxe
function mail($to,$subject,$message); |
function mail($to,$subject,$message,$additional_headers); |
function mail($to,$subject,$message,$additional_headers,$additional_parameters); |
Paramètres
Nom | Description | |||
---|---|---|---|---|
$to | Ce paramètre permet d'indiquer l'adresse de boite de courriel du ou des destinataires : | |||
Format | Description | |||
destinataire@domaine.ext | Ce format est utilisé pour indiquer un adresse de courriel destinataire. | |||
destinataire1@domaine.ext, destinataire2@domaine.ext | Ce format est utilisé pour indiquer deux adresses de courriel destinataire. | |||
Nom <destinataire@domaine.ext> | Ce format est utilisé pour indiquer un adresse de courriel destinataire avec son nom. | |||
Nom <destinataire1@domaine.ext>, Nom <destinataire2@domaine.ext> | Ce format est utilisé pour indiquer deux adresses de courriel destinataire avec deux noms différents. | |||
... | ... | |||
$subject | Ce paramètre permet d'indiquer le sujet (titre) du courriel. | |||
$message | Ce paramètre permet d'indiquer le corps (message) du courriel. | |||
$additional_headers | Ce paramètre permet d'indiquer les données brutes envoyés dans l'entête du courriel. Ces données brutes sont en faites une chaine de caractères dans lequel on retrouve au début de chaque ligne, un champs avec une fonctionnalité particulière : | |||
Champs | Description | |||
Bcc: <courriel> | Ce champs permet d'indiquer un ou plusieurs courriel d'envoi en copie mais caché au autre. | |||
Cc: <courriel> | Ce champs permet d'indiquer un ou plusieurs courriel d'envoi en copie. | |||
Content-type: typemime; charset=ensemblecaractere | Ce champs permet d'indiquer le format MIME du corps du message suivit par le jeu de police de caractères. Voici les entêtes «typemime» les plus communs : | |||
Valeur | Description | |||
application/acad | Cette valeur permet d'indiquer que la page retourner est un fichier AutoCAD | |||
application/applefile | Cette valeur permet d'indiquer que la page retourner est un fichier AppleFile | |||
application/astound | Cette valeur permet d'indiquer que la page retourner est un fichier Astound | |||
application/clariscad | Cette valeur permet d'indiquer que la page retourner est un fichier ClarisCAD | |||
application/csv-tab-delimited-table | Cette valeur permet d'indiquer que la page retourner est un fichier de tableur CSV (chiffrier électronique) | |||
application/drafting | Cette valeur permet d'indiquer que la page retourner est un fichier MATRA Prelude drafting | |||
application/dsptype | Cette valeur permet d'indiquer que la page retourner est un fichier TSP | |||
application/dxf | Cette valeur permet d'indiquer que la page retourner est un fichier AutoCAD | |||
application/futuresplash | Cette valeur permet d'indiquer que la page retourner est un fichier Flash Futuresplash | |||
application/gzip | Cette valeur permet d'indiquer que la page retourner est un fichier GNU Zip | |||
application/hdf | Cette valeur permet d'indiquer que la page retourner est un fichier de données | |||
application/i-deas | Cette valeur permet d'indiquer que la page retourner est un fichier SDRC I-deas | |||
application/iges | Cette valeur permet d'indiquer que la page retourner est un fichier de format d'échange CAO IGES | |||
application/listenup | Cette valeur permet d'indiquer que la page retourner est un fichier Listenup | |||
application/mac-binhex40 | Cette valeur permet d'indiquer que la page retourner est un fichier binaires Macintosh | |||
application/mbedlet | Cette valeur permet d'indiquer que la page retourner est un fichier Mbedlet | |||
application/mif | Cette valeur permet d'indiquer que la page retourner est un fichier FrameMaker Interchange Format | |||
application/msexcel | Cette valeur permet d'indiquer que la page retourner est un fichier Microsoft Excel | |||
application/mshelp | Cette valeur permet d'indiquer que la page retourner est un fichier d'aide Microsoft Windows | |||
application/mspowerpoint | Cette valeur permet d'indiquer que la page retourner est un fichier Microsoft Powerpoint | |||
application/msword | Cette valeur permet d'indiquer que la page retourner est un fichier Microsoft Word | |||
application/octet-stream | Cette valeur permet d'indiquer que la page retourner est un fichier binaires non interprétés | |||
application/oda | Cette valeur permet d'indiquer que la page retourner est un fichier ODA | |||
application/pdf | Cette valeur permet d'indiquer que la page retourner est un fichier Adobe Acrobat | |||
application/postscript | Cette valeur permet d'indiquer que la page retourner est un fichier PostScript | |||
application/pro_eng | Cette valeur permet d'indiquer que la page retourner est un fichier ProEngineer | |||
application/rtc | Cette valeur permet d'indiquer que la page retourner est un fichier RTC | |||
application/rtf | Cette valeur permet d'indiquer que la page retourner est un fichier de format de texte enrichi | |||
application/set | Cette valeur permet d'indiquer que la page retourner est un fichier CAO SET | |||
application/sla | Cette valeur permet d'indiquer que la page retourner est un fichier stéréolithographie | |||
application/solids | Cette valeur permet d'indiquer que la page retourner est un fichier MATRA Solids | |||
application/step | Cette valeur permet d'indiquer que la page retourner est un fichier de données STEP | |||
application/studiom | Cette valeur permet d'indiquer que la page retourner est un fichier Studiom | |||
application/toolbook | Cette valeur permet d'indiquer que la page retourner est un fichier Toolbook | |||
application/vda | Cette valeur permet d'indiquer que la page retourner est un fichier de surface | |||
application/vnd.wap.wmlc | Cette valeur permet d'indiquer que la page retourner est un fichier WMLC (WAP) | |||
application/vnd.wap.wmlscriptc | Cette valeur permet d'indiquer que la page retourner est un fichier script C WML (WAP) | |||
application/vocaltec-media-desc | Cette valeur permet d'indiquer que la page retourner est un fichier Vocaltec Mediadesc | |||
application/vocaltec-media-file | Cette valeur permet d'indiquer que la page retourner est un fichier Vocaltec Media | |||
application/x-authorware-bin | Cette valeur permet d'indiquer que la page retourner est un Macromedia Authorware | |||
application/x-authorware-map | Cette valeur permet d'indiquer que la page retourner est un Macromedia Authorware | |||
application/x-authorware-seg | Cette valeur permet d'indiquer que la page retourner est un Macromedia Authorware | |||
application/x-bcpio | Cette valeur permet d'indiquer que la page retourner est un fichier BCPIO | |||
application/x-bittorrent | Cette valeur permet d'indiquer que la page retourner est un Bittorrent | |||
application/x-compress | Cette valeur permet d'indiquer que la page retourner est un fichier compressé | |||
application/x-cpio | Cette valeur permet d'indiquer que la page retourner est un CPIO binaire | |||
application/x-cpio | Cette valeur permet d'indiquer que la page retourner est un CPIO Posix | |||
application/x-csh | Cette valeur permet d'indiquer que la page retourner est un Script C-Shell (UNIX) | |||
application/x-director | Cette valeur permet d'indiquer que la page retourner est un fichier répertoire | |||
application/x-dvi | Cette valeur permet d'indiquer que la page retourner est un fichiers texte dvi | |||
application/x-envoy | Cette valeur permet d'indiquer que la page retourner est un fichier Envoy | |||
application/x-gtar | Cette valeur permet d'indiquer que la page retourner est un Tar GNU | |||
application/x-httpd-php | Cette valeur permet d'indiquer que la page retourner est un fichier script PHP | |||
application/x-javascript | Cette valeur permet d'indiquer que la page retourner est un fichier JavaScript côté serveur | |||
application/x-latex | Cette valeur permet d'indiquer que la page retourner est un fichier d'application d'un source LaTEX | |||
application/x-macbinary | Cette valeur permet d'indiquer que la page retourner est un fichier d'application binaires Macintosh | |||
application/x-mif | Cette valeur permet d'indiquer que la page retourner est un fichier d'application Framemaker | |||
application/xml | Cette valeur permet d'indiquer que la page retourner est un fichier d'application XML. | |||
application/xml-external-parsed-entity | Cette valeur permet d'indiquer que la page retourner est un fichier d'application XML à l'analyse syntaxique externe | |||
application/xml-dtd | Cette valeur permet d'indiquer que la page retourner est un fichier d'application XML DTD | |||
application/x-netcdf | Cette valeur permet d'indiquer que la page retourner est un fichier netCDF | |||
application/x-nschat | Cette valeur permet d'indiquer que la page retourner est un fichier NS Chat | |||
application/x-sh | Cette valeur permet d'indiquer que la page retourner est un fichier Bourne Shell | |||
application/x-shar | Cette valeur permet d'indiquer que la page retourner est un fichier d'archives Shell | |||
application/x-shockwave-flash | Cette valeur permet d'indiquer que la page retourner est un fichier Flash Shockwave | |||
application/x-sprite | Cette valeur permet d'indiquer que la page retourner est un fichier Sprite | |||
application/x-stuffit | Cette valeur permet d'indiquer que la page retourner est un fichier Stuffit | |||
application/x-supercard | Cette valeur permet d'indiquer que la page retourner est un fichier Supercard | |||
application/x-sv4cpio | Cette valeur permet d'indiquer que la page retourner est un fichier CPIO SVR4n | |||
application/x-sv4crc | Cette valeur permet d'indiquer que la page retourner est un fichier CPIO SVR4 avec CRC | |||
application/x-tar | Cette valeur permet d'indiquer que la page retourner est un fichier compressé tar | |||
application/x-tcl | Cette valeur permet d'indiquer que la page retourner est un fichier script Tcl | |||
application/x-tex | Cette valeur permet d'indiquer que la page retourner est un fichier Tex | |||
application/x-texinfo | Cette valeur permet d'indiquer que la page retourner est un fichier eMacs | |||
application/x-troff | Cette valeur permet d'indiquer que la page retourner est un fichier Troff | |||
application/x-troff-man | Cette valeur permet d'indiquer que la page retourner est un fichier Troff/macro man | |||
application/x-troff-me | Cette valeur permet d'indiquer que la page retourner est un fichier Troff/macro ME | |||
application/x-troff-ms | Cette valeur permet d'indiquer que la page retourner est un fichier Troff/macro MS | |||
application/x-ustar | Cette valeur permet d'indiquer que la page retourner est un fichier compressé tar Posix | |||
application/x-wais-source | Cette valeur permet d'indiquer que la page retourner est un fichier Source Wais | |||
application/x-www-form-urlencoded | Cette valeur permet d'indiquer que la page retourner est un fichier de données de formulaire HTML à CGI | |||
application/zip | Cette valeur permet d'indiquer que la page retourner est un fichier compressé ZIP | |||
audio/basic | Cette valeur permet d'indiquer que la page retourner est un fichier audio basiques | |||
audio/echospeech | Cette valeur permet d'indiquer que la page retourner est un fichier Echospeed | |||
audio/tsplayer | Cette valeur permet d'indiquer que la page retourner est un fichier TS-Player | |||
audio/voxware | Cette valeur permet d'indiquer que la page retourner est un fichier Vox | |||
audio/x-aiff | Cette valeur permet d'indiquer que la page retourner est un fichier audio AIFF | |||
audio/x-dspeeh | Cette valeur permet d'indiquer que la page retourner est un fichier parole | |||
audio/x-midi | Cette valeur permet d'indiquer que la page retourner est un fichier MIDI | |||
audio/x-mpeg | Cette valeur permet d'indiquer que la page retourner est un fichier MPEG | |||
audio/x-pn-realaudio | Cette valeur permet d'indiquer que la page retourner est un fichier RealAudio | |||
audio/x-pn-realaudio-plugin | Cette valeur permet d'indiquer que la page retourner est un fichier plugin RealAudio | |||
audio/x-qt-stream | Cette valeur permet d'indiquer que la page retourner est un fichier QuickTime Audio | |||
audio/x-wav | Cette valeur permet d'indiquer que la page retourner est un fichier audio Wave | |||
drawing/x-dwf | Cette valeur permet d'indiquer que la page retourner est un fichier Drawing | |||
image/cis-cod | Cette valeur permet d'indiquer que la page retourner est un fichier CIS-Cod | |||
image/fif | Cette valeur permet d'indiquer que la page retourner est un fichier FIF | |||
image/gif | Cette valeur permet d'indiquer que la page retourner est un fichier d'image gif | |||
image/ief | Cette valeur permet d'indiquer que la page retourner est un fichier d'image exchange format | |||
image/jpeg | Cette valeur permet d'indiquer que la page retourner est un fichier d'image Jpeg | |||
image/tiff | Cette valeur permet d'indiquer que la page retourner est un fichier d'image Tiff | |||
image/vasa | Cette valeur permet d'indiquer que la page retourner est un fichier Vasa | |||
image/vnd.wap.wbmp | Cette valeur permet d'indiquer que la page retourner est un fichier Bitmap (WAP) | |||
image/x-cmu-raster | Cette valeur permet d'indiquer que la page retourner est un fichier Raster cmu | |||
image/x-freehand | Cette valeur permet d'indiquer que la page retourner est un fichier Freehand | |||
image/x-portable-anymap | Cette valeur permet d'indiquer que la page retourner est un fichier Anymap PBM | |||
image/x-portable-bitmap | Cette valeur permet d'indiquer que la page retourner est un fichier Bitmap PBM | |||
image/x-portable-graymap | Cette valeur permet d'indiquer que la page retourner est un fichier Graymap PBM | |||
image/x-portable-pixmap | Cette valeur permet d'indiquer que la page retourner est un fichier Pixmap PBM | |||
image/x-rgb | Cette valeur permet d'indiquer que la page retourner est un fichier d'image RGB | |||
image/x-xbitmap | Cette valeur permet d'indiquer que la page retourner est un fichier d'image XBM | |||
image/x-xpixmap | Cette valeur permet d'indiquer que la page retourner est un fichier d'image XPM | |||
image/x-xwindowdump | Cette valeur permet d'indiquer que la page retourner est un fichier d'image dump X-Windows | |||
message/external-body | Cette valeur permet d'indiquer que la page retourner est un fichier de nouvelle avec contenu externe | |||
message/http | Cette valeur permet d'indiquer que la page retourner est un fichier de nouvelle à entête HTTP | |||
message/news | Cette valeur permet d'indiquer que la page retourner est un fichier de nouvelle de Newsgroup | |||
message/partial | Cette valeur permet d'indiquer que la page retourner est un fichier de nouvelle avec contenu partiel | |||
message/rfc822 | Cette valeur permet d'indiquer que la page retourner est un fichier de nouvelle d'après RFC 1822 | |||
model/vrml | Cette valeur permet d'indiquer que la page retourner est un fichier de visualisation de mondes virtuels | |||
multipart/alternative | Cette valeur permet d'indiquer que la page retourner est un fichier de données composites mélangées | |||
multipart/byteranges | Cette valeur permet d'indiquer que la page retourner est un fichier de données composites avec mentions d'octets | |||
multipart/digest | Cette valeur permet d'indiquer que la page retourner est un fichier de données composites / choix | |||
multipart/encrypted | Cette valeur permet d'indiquer que la page retourner est un fichier de données composites cryptées | |||
multipart/form-data | Cette valeur permet d'indiquer que la page retourner est un fichier de données composites de formulaire HTML | |||
multipart/mixed | Cette valeur permet d'indiquer que la page retourner est un fichier de données composites mélangées | |||
multipart/parallel | Cette valeur permet d'indiquer que la page retourner est un fichier de données composites parallèles | |||
multipart/related | Cette valeur permet d'indiquer que la page retourner est un fichier de données composites / liées | |||
multipart/report | Cette valeur permet d'indiquer que la page retourner est un fichier de données composites / rapport | |||
multipart/signed | Cette valeur permet d'indiquer que la page retourner est un fichier de données composites / signées | |||
multipart/voice-message | Cette valeur permet d'indiquer que la page retourner est un fichier de données composites / message vocal | |||
multipart/x-gzip | Cette valeur permet d'indiquer que la page retourner est un fichier d'archive GNU zip | |||
multipart/x-zip | Cette valeur permet d'indiquer que la page retourner est un fichier d'archive zip | |||
text/comma-separated-values | Cette valeur permet d'indiquer que la page retourner est un fichier de données séparées par des virgules | |||
text/css | Cette valeur permet d'indiquer que la page retourner est un fichier de feuilles de style CSS | |||
text/html | Cette valeur permet d'indiquer que la page retourner est un fichier HTML | |||
text/javascript | Cette valeur permet d'indiquer que la page retourner est un fichier JavaScript | |||
text/plain | Cette valeur permet d'indiquer que la page retourner est un fichier texte sans mise en forme | |||
text/richtext | Cette valeur permet d'indiquer que la page retourner est un fichier texte enrichis | |||
text/tab-separated-value | Cette valeur permet d'indiquer que la page retourner est un fichier texte avec séparation des valeurs | |||
text/vnd.abc | Cette valeur permet d'indiquer que la page retourner est un fichier Surge Runtime Environment | |||
text/vnd.wap.wml | Cette valeur permet d'indiquer que la page retourner est un fichier WML (WAP) | |||
text/vnd.wap.wmlscript | Cette valeur permet d'indiquer que la page retourner est un fichier script WML (WAP) | |||
text/x-setext | Cette valeur permet d'indiquer que la page retourner est un fichier texte Struct | |||
text/x-sgml | Cette valeur permet d'indiquer que la page retourner est un fichier SGML | |||
text/x-speech | Cette valeur permet d'indiquer que la page retourner est un fichier Speech | |||
text/xml | Cette valeur permet d'indiquer que la page retourner est un fichier de texte XML | |||
text/xml-external-parsed-entity | Cette valeur permet d'indiquer que la page retourner est un fichier XML à l'analyse syntaxique externe | |||
video/animaflex | Cette valeur permet d'indiquer que la page retourner est un fichier de vidéos AnimaFlex | |||
video/mpeg | Cette valeur permet d'indiquer que la page retourner est un fichier de vidéo MPEG | |||
video/msvideo | Cette valeur permet d'indiquer que la page retourner est un fichier de vidéos de Microsoft Windows | |||
video/quicktime | Cette valeur permet d'indiquer que la page retourner est un fichier de vidéo QuickTime | |||
video/vnd.vivo | Cette valeur permet d'indiquer que la page retourner est un fichier Vivo | |||
video/x-msvideo | Cette valeur permet d'indiquer que la page retourner est un fichier Microsoft AVI | |||
video/x-sgi-movie | Cette valeur permet d'indiquer que la page retourner est un fichier vidéo MoviePlayer | |||
workbook/formulaone | Cette valeur permet d'indiquer que la page retourner est un fichier FormulaOne | |||
x-world/x-3dmf | Cette valeur permet d'indiquer que la page retourner est un fichier DMF | |||
x-world/x-vrml | Cette valeur permet d'indiquer que la page retourner est un fichier VRML | |||
Le second paramètre (ensemblecaractere) indiquer le jeu de police de caractères qu'aura le corps du corps : | ||||
Valeur | Description | |||
EBCDIC | Cette valeur indique un jeu de police de caractères de Mainframe IBM de 8 bits | |||
EUC-JP | Cette valeur indique un jeu de police de caractères Unix étendue pour le Japonais | |||
EUC-KR | Cette valeur indique un jeu de police de caractères Unix étendue pour la Corée | |||
HZ-GB2312 | Cette valeur indique un jeu de police de caractères pour le Chinois simplifié | |||
ISO-2022-CN | Cette valeur indique un jeu de police de caractères Chinois | |||
ISO-8859-1 | Cette valeur indique un jeu de police de caractères Latin-1 de l'ouest européen | |||
ISO-8859-2 | Cette valeur indique un jeu de police de caractères Latin-2 pour l'Europe | |||
ISO-8859-3 | Cette valeur indique un jeu de police de caractères Latin-3 du sud européen | |||
ISO-8859-4 | Cette valeur indique un jeu de police de caractères Latin-4 du nord européen | |||
ISO-8859-5 | Cette valeur indique un jeu de police de caractères Cyrillic | |||
ISO-8859-6 | Cette valeur indique un jeu de police de caractères Arabe | |||
ISO-8859-7 | Cette valeur indique un jeu de police de caractères Grecque | |||
ISO-8859-8 | Cette valeur indique un jeu de police de caractères Hébreu | |||
ISO-8859-9 | Cette valeur indique un jeu de police de caractères Latin-5 ou Turque | |||
ISO-8859-10 | Cette valeur indique un jeu de police de caractères Latin-6 ou les langages nordiques | |||
ISO-8859-11 | Cette valeur indique un jeu de police de caractères la langue thaïlandaises | |||
ISO-8859-13 | Cette valeur indique un jeu de police de caractères Latin-7 ou «Baltic Rim» | |||
ISO-8859-14 | Cette valeur indique un jeu de police de caractères Latin-8 ou Celtique | |||
ISO-8859-15 | Cette valeur indique un jeu de police de caractères Latin-9 | |||
ISO-8859-16 | Cette valeur indique un jeu de police de caractères Latin-10 du sud-est européen | |||
SHIFT_JIS | Cette valeur indique un jeu de police de caractères pour le Japonais | |||
US-ASCII | Cette valeur indique un jeu de police de caractères ASCII américain de 7 bits | |||
UTF-8 | Cette valeur indique un jeu de police de caractères Unicode de 8 bits | |||
UTF-16 | Cette valeur indique un jeu de police de caractères Unicode de 16 bits | |||
UTF-16BE | Cette valeur indique un jeu de police de caractères Unicode de 16 bits d'ordre «big-endian» | |||
UTF-16LE | Cette valeur indique un jeu de police de caractères Unicode de 16 bits d'ordre «little-endian» | |||
Windows-1251 | Cette valeur indique un jeu de police de caractères Windows pour l'alphabet Cyrillic | |||
Windows-1252 | Cette valeur indique un jeu de police de caractères Windows pour l'ouest | |||
Windows-1253 | Cette valeur indique un jeu de police de caractères Windows pour le grecque | |||
Windows-1254 | Cette valeur indique un jeu de police de caractères Windows pour le turque | |||
Windows-1255 | Cette valeur indique un jeu de police de caractères Windows pour l'hébreu | |||
Windows-1256 | Cette valeur indique un jeu de police de caractères Windows pour l'arabe | |||
Windows-1257 | Cette valeur indique un jeu de police de caractères Windows pour les langages baltiques | |||
Windows-1258 | Cette valeur indique un jeu de police de caractères Windows pour les Vietnamien | |||
X-EUC-TW | Cette valeur indique un jeu de police de caractères Unix étendue pour le chinois traditionnel | |||
... | ... | |||
Content-Transfer-Encoding: format | Ce champs permet d'indiquer le format d'encodage du courriel : | |||
Format | Description | |||
binary | Cette valeur permet d'indiquer que le corps du message a un encodage binaire. | |||
... | ... | |||
Disposition-Notification-To: <courriel> | Ce champs permet d'indiquer un ou plusieurs courriel en réponse de confirmation de lecture. | |||
From: <courriel> | Ce champs permet d'indiquer un ou plusieurs courriel de l'envoyeur. | |||
Reply-To: <courriel> | Ce champs permet d'indiquer un ou plusieurs courriel de réponse. | |||
X-Priority: <niveau> | Ce champs permet d'indiquer un niveau de priorité entre 1 et 5. Le 1 représente une priorité très élevé. | |||
$additional_parameters | Ce paramètre permet d'indiquer les paramètres de bas niveau et de configuration du sendmail_path. |
Retour
Valeur | Description |
---|---|
FALSE | Cette valeur indique que le courriel n'a pas été envoyé. |
TRUE | Cette valeur indique que le courriel a été envoyer. |
Description
Cette fonction permet d'effectuer l'envoi d'un courriel (courrier électronique).
Remarques
- Si vous souhaitez effectuer un décodage pour le sujet d'un courriel en ISO-8859-1, UTF-8,... (avec un format ressemblant à ceci «=?iso-8859-1?Q?sujet?=») vous devriez envisager d'utiliser la fonction «imap_utf8» ou «iconv_mime_decode».
- On peut forcer l'utilisation d'un nom de domaine de serveur et le port du serveur SMTP pour la fonction «mail» en utilisant les variables suivantes dans le code PHP :
- Sinon, vous pouvez directement l'indiquer dans le fichier de configuration «php.ini».
Exemples
Voici un exemple montrant formulaire permettant d'envoyer un simple courriel avec un sujet et un message :
- <?php
- if(isset($_REQUEST["cmdAction"])) switch($_REQUEST["cmdAction"]) {
- case "SendMail":
- if(mail($_REQUEST["email"],str_replace("\\","",$_REQUEST["subject"]),str_replace("\\","",$_REQUEST["message"]))) {
- echo "Courriel envoyé";
- } else {
- echo "Impossible d'envoyé le courriel";
- }
- break;
- }
- ?>
- <form name="currMail">
- <input type="hidden" name="cmdAction" value="SendMail" />
- <table>
- <tr>
- <td>Envoyé à :</td>
- <td><input name="email" /></td>
- </tr>
- <tr>
- <td>Sujet :</td>
- <td><input name="subject" /></td>
- </tr>
- <tr>
- <td>Message :</td>
- <td><textarea name="message" rows="10"></textarea></td>
- </tr>
- </table>
- <input type="submit" value="Envoyer">
- </form>
et voici l'apparence du formulaire :
|
Voici un exemple montrant formulaire permettant d'envoyer un courriel avec un fichier en attachement :
- <?php
- if(isset($_REQUEST["cmdAction"])) switch($_REQUEST["cmdAction"]) {
- case "SendMail":
- $random_hash = md5(date('r', time()));
- if($_FILES["attachment1"]['name'] != "") {
- $FileName = $_FILES["attachment1"]['name'];
- $Extension = pathinfo($_FILES["attachment1"]['name'], PATHINFO_EXTENSION);
- $Handle = fopen($_FILES["attachment1"]["tmp_name"],"rb");
- $s_array = fstat($Handle);
- $FileSize = $s_array["size"];
- $Binary = chunk_split(base64_encode(fread($Handle,$FileSize)));
- fclose($Handle);
- }
- $mail = "support@gladir.com";
- $maili = $mail;
- $headers = "";
- $headers .= "From: $maili <$maili>\n";
- $headers .= "Date: ".date("r")."\n";
- $headers .= "Message-ID: <".date("YmdHis")."gladir@".$_SERVER['SERVER_NAME'].">\n";
- $headers .= "Subject: $strSujet\n";
- $headers .= "Return-Path: $maili <$maili>\n";
- $headers .= "Delivered-to: $maili <$maili>\n";
- $headers .= "MIME-Version: 1.0\n";
- $headers .= "Content-Type: multipart/mixed; boundary=\"HP-mixed-".$random_hash."\"n";
-
- $beginmessage = "--PHP-mixed-".$random_hash."\n".
- "Content-Type: multipart/alternative; boundary=\"HP-alt-".$random_hash."\"n\n".
- "--PHP-alt-".$random_hash."\n".
- "Content-Type: text/html; charset=\"SO-8859-9\"n\n";
- $endmessage = "\n--PHP-alt-".$random_hash."\n".
- "Content-Type: text/plain; charset=\"so-8859-9\"n\n ".
- str_replace("\\","",$message).
- "\n".
- "--PHP-alt-".$random_hash."--\n\n";
- $endmessage .= "--PHP-mixed-".$random_hash."\n".
- "Content-Type: ";
- switch(strtoupper($Extension)) {
- case "DOC":
- $endmessage .= "application/msword";
- break;
- case "GIF":
- $endmessage .= "image/gif";
- break;
- case "JPG":case "JPEG":case "JPE":
- $endmessage .= "image/jpeg";
- break;
- case "PDF":
- $endmessage .= "application/pdf";
- break;
- case "RTF";
- $endmessage .= "application/msword";
- break;
- case "TGZ":
- $endmessage .= "application/x-compressed";
- break;
- default:
- $endmessage .= "application/zip";
- break;
- }
- $endmessage .= "; name=\".$FileName."\" \n".
- "Content-Transfer-Encoding: base64 \n".
- "Content-Disposition: attachment \n\n".
- $Binary."\n".
- "--PHP-mixed-".$random_hash."-- \n\n";
-
- $headers .= "X-Sender: $mail <$mail>\n";
- $headers .= "X-Priority: 1\n";
- $headers .= "Importance: High\n";
- $headers .= "X-MSMail-Priority: High\n";
- $headers .= "X-Mailer: Gladir.com Mailler With PHP!\n";
-
- if(mail($_REQUEST["email"],str_replace("\\","",$_REQUEST["subject"]),$beginmessage.str_replace("\\","",$_REQUEST["message"]).$endmessage,$headers)) {
- echo "Courriel envoyé";
- } else {
- echo "Impossible d'envoyé le courriel";
- }
- break;
- }
- ?>
- <form name="currMail" method="post" enctype="multipart/form-data">
- <input type="hidden" name="cmdAction" value="SendMail" />
- <table>
- <tr>
- <td>Envoyé à :</td>
- <td><input name="email" /></td>
- </tr>
- <tr>
- <td>Sujet :</td>
- <td><input name="subject" /></td>
- </tr>
- <tr>
- <td>Attachement :</td>
- <td><input type="file" name="attachment1" /></td>
- </tr>
- <tr>
- <td>Message :</td>
- <td><textarea name="message" rows="10"></textarea></td>
- </tr>
-
- </table>
- <input type="submit" value="Envoyer" />
- </form>
et voici l'apparence du formulaire :
Références
PHP 4 - Guide du développeur, Edition First Interactive, Blake Schwendiman, 2002, ISBN: 2-84427-283-5, page 556
Dernière mise à jour : Vendredi, le 10 avril 2015