justify"> Слід звернути увагу на те, що для розділення рядків заголовка повинні використовуватися символи r n (хоча в Unix для позначення кінця рядка традиційно використовується тільки символ n). Лістинг демонструє розширену форму для відправки листа і відрізняється тим, що в ньому присутні поля для додаткових заголовків. [20]
Форма для введення e-mail з додатковими заголовками, hpemailheaders.html
Відправка e-mail за кількома адресами
lt;/TITLE gt;
lt;/HEAD gt;
lt; BODY gt;
lt; CENTER gt;
lt; Н1 gt; 0тправка e-mail за кількома адресами lt;/Н1 gt;
lt; FORM METHOD=POST ACTION= phpemailheaders. php gt;
Введіть повідомлення і натисніть OK: lt; BR gt;
Кому: lt; INPUT TYPE= text NAME= to gt; lt; BR gt ;: lt; INPUT TYPE= text NAME= CG gt; lt; BR gt ;: lt; INPUT TYPE= text NAME= bcc gt; lt; BR gt;
Тема: lt; INPUT TYPE= text NAME= subject gt; lt; BR gt;
lt; TEXTAREANAME= message COLS=_0 R0WS= 5" x/TEXTAREA gt;
lt; BR gt;
lt; INPUT TYPE= SUBMIT VALUE= OK gt;
lt;/FORM gt;
lt;/CENTER gt;
lt; BODY gt;
lt;/HTML gt;
У лістингу при заповненні полів форми сс і be з формується рядок заголовка, яка передається як параметр функції mail. Для перевірки наявності даних у полі використовується функція isset.
Лістинг відправки по декільком адресатам, phpemailheaders. Php
lt; HTML gt;
lt; HEAD gt;
lt; TITLE gt; Відправка e-mail за кількома адресами lt;/TITLE gt;
lt;/HEAD gt;
lt; BODY gt;
lt; CENTER gt;
lt; Н1 gt; 0тправка e-mail за кількома адресами lt;/Н1 gt;
lt; BR gt;
lt ;? php
$ headers= raquo ;; (isset ($ _REQUEST [ cc ]))
{
$ headers= cc: raquo ;. $ _REQUEST [ Laquo; cc ]. r n raquo ;;
} (isset ($ _REQUEST [ bcc ]))
{
$ headers= bcc: raquo ;. $ _REQUEST [ Laquo; bcc ]. r n raquo ;;
} ($ _ REQUEST [ to ], $ _REQUEST [ subject ],
$ _ REQUEST [ message ], $ headers);
? gt;
Лист надіслано.
lt;/CENTER gt;
lt; BODY gt;
lt;/HTML gt;
З вкладеними файлами
За допомогою РНР можна відправляти і листи з вкладеними файлами, але для цього доведеться докласти трохи більше зусиль. Припустимо, потрібно відправити файл image, jpg. Перш за все, слід визначити MIME-тип файлу, в даному випадку це image/jp eg (якщо відправляється файл буде мати інший тип, слід вказати коректний MIME-тип.):
$ attachment= image.jpg raquo ;;
$ attachment_MIME_type= image/jpeg raquo ;;
Далі слід прочитати файл і зберегти його вміст в змінної:
$ handle=fopen ($ attachment, rb );
$ data=fread ($ handle, filesize ($ attachment));
fclose ($ handle);
Так як електронні листи передаються в семібітной кодуванні, потрібно перетворити вміст файлу в кодування base64 і вказати в заголовку листа, що воно складається з декількох частин. Перетворення здійснюється за допомогою функцій chunksplit Hbase64_encode:
$ boundary= Multipart_Boundary raquo ;;
$ headers= nMIME-Version: 1.0 n
Content-Type: multipart/mixed, n .
boundary=" raquo ;. $ boundary. " raquo ;;
$ data=chunk_split (base64_encode ($ data));
Скрипт демонструє відправку листа з вкладеним файлом. Він може використовуватися в якості обробника форми.
Лістинг відправка e-mail з вкладеним файлом, phpemailattachment. php
Відправка e-mail з вкладеним файлом
lt;/TITLE gt;
lt;/HEAD gt;
lt; BODY gt;
lt; CE...