Поради по php відправлення листів за допомогою php

Відправка листів за допомогою PHP

загальні можливості

Рано чи пізно кожен власник сайту стикається з необхідністю відправки листів безпосередньо з сайту через скрипт, а не через поштові програми. Це можуть бути листи, що відправляються скриптом гостьової книги, що повідомляє власнику сайту що у нього в гостьовий з'явилося нове повідомлення, або на форумі, для оповіщення про новий питанні.

У всіх цих випадках необхідна саме автоматична відправка листів минаючи різноманітні поштові програми і утиліти. Зробити це можна за допомогою функції mail (). яку ми зараз і будемо вивчати.

Синтаксис функції mail ():

Саме повідомлення може бути багаторядковим. Для переходу на новий рядок поставте знак переходу на новий рядок "\ n" в кінці кожного рядка.

Або той самий саме можна записати так:

У четвертому необов'язковий параметр $ header можна вказати заголовки нашого повідомлення.

Щоб було зрозуміліше, що з себе представляють заголовки, і де вони знаходяться в листі, відкрийте поштовий клієнт і подивіться на будь-який лист в тому вигляді, як воно прийшло (Для Outlook це можна зробити натиснувши правою клавішею миші на повідомлення-> Властивості-> Подробно-> Оригінал тексту).

Як ми бачимо, лист представляє простий текстовий файл, що складається з двох загальних розділів: Вгорі йдуть заголовки листи, потім через два рядки йде сам лист.

Заголовків листа досить багато, але не всі вони використовуються при написанні скрипта відправки пошти.

Ось деякі найбільш часто використовувані:

Рішення проблеми кодувань

Я не дарма вище навів приклад відправлення листа зі словами латинського алфавіту. Їх будь-яку поштову клієнт прочитає без праці. Але ось з українським алфавітом важче. українських кодувань існує величезна безліч. І від того, наскільки вміло Ви перекодіруете лист, буде залежати прочитає чи одержувач його,, чи не буде возитися з установкою потрібної кодування і просто видалить його в кошик.

Кодування листи задає заголовок Content-type.

У заголовку ми вказали, що тип письма буде простий текст, а кодування - Windows.

Тепер наш лист прийде в зрозумілою для поштового клієнта кодуванні.

Але варто відзначити, що в деяких випадках в правильному кодуванні буде відображено тільки сам лист. Тема ж так і залишиться нечитабельним. Пов'язано це з тим, де розташований заголовок Content-type щодо заголовка Subject. який і містить тему листа. Справа в тому, що існують поштові програми, які розуміють заголовок Content-type. але не розуміють українську текст в поле Subject. якщо це поле варто до Content-type. У той же час, інші поштові програми зобов'язують нас ставити Content-type останнім заголовком в списку. Щоб обійти ці перешкоди, можна розмістити поле Content-type відразу на початку і в кінці списку заголовків:

Тепер цей лист прочитає будь-яка поштова програма!

Заголовки містять не ACSII символи повинні бути закодовані за допомогою base64 або mime кодування, для цього потрібно їх офроміть спеціальним чином - наприклад для utf8 так:

Для windows-1251 потрібно "windows-1251" замість utf-8

Відправлення листа в HTML-вигляді

Для відправлення листа в HTML-вигляді досить в заголовку Content-type вказати тип документу не text / plain (простий текст), а text / html (html-текст).

А сам лист записати в html-вигляді:

дивитися також

Схожі статті