(044) 362 48 16 (098) 294 41 60
|
|
|
Якщо Вам потрібно надіслати повідомлення адміністратору, користувачеві, зробити розсилку, відправити звіт електронною поштою, то простіше за все це зробити за допомогою вбудованої функції mail (). Для того, щоб вона працювала повинні бути встановлені:
- На Unix платформе - встановлений і налаштований sendmail. Якщо його шлях
не в змінної оточення, то в php.ini потрібно вказати sendmail_path = / path / to / sendmail -t-i в розділі [mail function].
- На платформі Windows - мати SMTP сервер. Його параметри треба вказати в
php.ini в розділі [mail function]:
SMTP = 192.168.1.1
sendmail_from = admin@example.com
Функція викликається як <font color="#0000CC"> mail </ font> <font color="#006600"> (</ font> <font color = "# CC0000 "> кому </ font>, <font color="#CC0000"> тема </ font>, <font color="#CC0000"> тіло </ font>, [<font color="#CC0000"> додаткові заголовки </ font>, [<font color="#CC0000"> параметри </ font>]] <font color = "# 006600 ">)</ font> Все що потрібно - це правильно сформувати всі рядкові параметри.
- Кому (копії та приховані копії вказуються в додаткових заголовках):
- nobody@example.com
- John Smith<nobody@example.com>
- nobody@example.com, pupkin@example.com
- John Smith <nobody@example.com>, Ivan Pupkin <pupkin@example.com>
- Тема - будь-який текст без символів нового рядка
- Тіло - будь-який текст, у т.ч. HTML або MIME
- Заголовки - тут можна вказувати такі заголовки: From: Cc: Bcc: MIME-Version:
Content-type: Reply-To: X-Mailer: X-Priority: Date: Content-Transfer-Encoding:
- From - Від: "pupkin@example.com" або "Ivan Pupkin <pupkin@example.com>"
- Cc - Копія: також як і "кому"
- Bcc - Прихована копія: також як і "Кому"; працює тільки на
Unix
Reply-To - якщо при відповіді потрібно підставляти адресата іншого ніж відправника
- X-Priority - важливість повідомлення (за замовчуванням 3)
Заголовки розділяються <font color="#0000CC"> \ r \ n </ font> (На Unix можна тільки <font color = & quot; # 0000CC "> \ n </ font>)
Якщо надсилається лист у форматі HTML, потрібно обов'язково поставити наступні 2 рядки в заголовках: <br> <blockquote> MIME-Version: 1.0 \ r \ n; <br> Content-Type: text / html; charset = & quot; windows-1251 "</ blockquote>
Хочу послати листа з аттачментом (ми) (наприклад, HTML з малюнками) Потрібно використовувати MIME (RFC1896,45.html "> RFC2045, RFC2046, RFC2047, RFC2048, RFC2049). Для цього потрібноспочатку вважати файл у змінну і закодувати його на безпечну base64 кодування за допомогою функції base64_encode (). У заголовку потрібно вказати:
MIME-Version: 1.0 \ r \ n <br> Content-Type: multipart / mixed; boundary = "$ delimiter" Де $ delimiter - будь-яка рядок, можна випадкова. multipart / mixed можна замінити на multipart / alternative.
$ delimiter ="----=_ Разделітель_Блоков_ =----" А в тілі розділити різні типи даних boundary ($ delimiter) та вказати їх Content-Type:
<? php $ body = "This is a multi-part message in MIME format."; <br> $ body .= "\ r \ n \ r \ n". $ delimiter; <br> $ body .= "Content-Type: text / plain; charset = \" windows-1251 \ "\ r \ n \ r \ n"; <br> $ body .= "Content-Transfer-Encoding: quoted-printable "; <br> $ body .= "Привіт Іван! Шлю тебе як і обіцяв фотку і реферат"; <br> $ body .= "\ r \ n \ r \ n". $ delimiter; <br> $ body .= "Content-Type: image / jpeg; name = \" meeting.jpg \ ""; <br> $ body .= " Content-Transfer-Encoding: base64 "; <br> $ body .= "Content-Disposition: attachment; filename = \" meeting.jpg \ "\ r \ n \ r \ n"; <br> $ body .= base64_encode ($ file1); <br> $ body .= "\ r \ n \ r \ n". $ delimiter; <br> $ body .= "Content-Type:application / msword; name = \ "referat.doc \" "; <br> $ body .= "Content-Transfer-Encoding: base64"; <br> $ body .= "Content-Disposition: attachment; filename = \" referat.doc \ "\ r \ n \ r \ n"; <br> $ body .= base64_encode ($ file2); <br> <br /> $ body .= "\ r \ n \ r \ n". $ delimiter; ?> |
|