Відправка e-mail в php

Відправка e-mail в PHP

Зазвичай я пишу вступ про те, чому дана тема так важлива для вивчення. Але не цього разу, тому що тут, впевнений, ні в однієї людини не виникне питання: "Навіщо відправляти e-mail в PHP?". Тому пропоную відразу приступити до справи і дізнатися про це більш детально, тим більше, що простіше реалізації відправки e-mail через PHP і придумати не можна, так що зрозуміють навіть ті, хто не знайомий з PHP взагалі.

Для початку давайте з Вами розберемося трохи з теорією. Нудно, але повірте важливо. для відправки e-mail необхідний SMTP-сервер. На більшості платних хостингах він обов`язково є. Однак, якщо такої можливості немає (припустимо, хостинг безкоштовний або дуже дешевий), то тоді можна скористатися стороннім SMTP-сервером (Наприклад, mail.ru). Тобто головне: для відправки необхідний SMTP-сервер.

По-друге, щоб приймати e-mail необхідний POP-сервер. До чого я все це говорю. А до того, що дуже часто люди запитують на форумах: "Чому у мене не працює відправка e-mail в PHP?". А при цьому люди намагаються відправити листа з сервера, на якому взагалі немає SMTP. Дуже важливо: PHP e-mail не надсилає! Відправляє e-mail додаток sendmail, яке є на операційних системах Unix, на яких і стоять більшість серверів. А PHP просто передає команди цієї програми. Сподіваюся, пояснив зрозуміло. Тому перше, що необхідно зробити - це роздобути додаток sendmail. Але порадую тих, хто користується пакетом Denwer, так як у них це додаток вже вбудовано. Правда, з однією особливістю. Реальною відправки листів не відбувається - вони всі складаються в директорію "tmp /! sendmail". Але якщо лист, яке Ви відправили в PHP, там виявилося, то можете бути впевнені, що на 99% на реальному хостингу все буде працювати. Хоча, якщо Вам дуже хочеться по-справжньому відправляти e-mail, то Ви можете завантажити sendmail, налаштувати його на який-небудь SMTP-сервер, наприклад, mail.ru, потім змінити шлях до sendmail в php.ini (настройки PHP) І далі вже радіти життю.




А тепер переходимо до PHP. для відправки e-mail використовується всього одна функція - mail (). Приймає ця функція чотири параметри, три з яких є обов`язковими:

lt ;?php
$ to
="[email protected]"-
$ subject
="Robot - Робот"-
$ message
="Message, повідомлення!"-
mail
($ to, $ subject, $ message) -
?gt;

Як бачите, все інтуїтивно зрозуміло: кому відправляти, яка тема і саме повідомлення. Якщо Ви використовуєте пакет Denwer, то після запуску скрипта, Ви зможете знайти файл в директорії "tmp /! sendmail", В якому і містяться дані Вашого листа. Відкрити ці файли можна або в блокноті, але краще відкрити їх в якій-небудь поштовій програмі (наприклад, The Bat або Microsoft Outlook).




Я не дарма написав упереміш російська та англійська текст, щоб перевірити кодування. Дуже часто вона розпізнається неправильно, і в результаті, користувачі бачать "абракадабру". Щоб цього уникнути необхідно задати кодування. І як раз для кодування, а також для інших особливих параметрів і існує четвертий аргумент функції mail ():

lt ;?php
$ to
="[email protected]"-
$ subject
="Robot - Робот"-
$ message
="Message, n повідомлення!"-
$ headers
="From: MyRusakov.ru r nContent-type: text / plain- charset = windows-1251 r n"-
mail
($ to, $ subject, $ message, $ headers) -
?gt;

Тепер давайте Не гарячкуй те, що тут написано. В змінної headers ми задали наступні параметри: в поле "Від кого"Буде стояти"[email protected]"(Тобто повідомлення можна відправляти далеко не від свого імені). Повідомлення також є звичайним текстовим (text / plain) В кирилиці (windows-1251), Тобто в нашій з Вами рідної кодуванні, в якій є російська мова та англійська. Доречі, " n"- це перехід на новий рядок (аналог в HTML).

Також повідомлення можна відправляти в HTML-форматі. Для цього достатньо всього лише замінити "text / plain"На"text / html". І Ви зможете в повідомленні використовувати HTML-теги. Тільки не забувайте, що будь-які теги, на зразок: "", ""Та інші, - фільтруються будь-якої поважаючої себе поштовою системою. Однак, використовувати теги оформлення ("","",""Та інші) Ви можете. І давайте, наостанок, відправимо e-mail з використанням HTML-тегів:

lt ;?php
$ to
="[email protected]"-
$ subject
="Robot - Робот"-
$ message
="Hello World!
Цей лист надіслано роботом
і відповідати на нього не потрібно!
"
-
$ headers
="From: MyRusakov.ru r nContent-type: text / html- charset = windows-1251 r n"-
mail
($ to, $ subject, $ message, $ headers) -
?gt;

От і все. Як бачите, тема дуже проста, а відправляти e-mail в PHP дуже важливо вміти.

До зустрічі.

Поділися в соціальних мережах:

Схожі
Пошта mail.ruПошта mail.ru
Агент mail.ruАгент mail.ru
Захист e-mail на сайті від спамерівЗахист e-mail на сайті від спамерів
AquamailAquamail
Як переглянути avi-файл на сайтіЯк переглянути avi-файл на сайті
Як створити свій api на сайтіЯк створити свій api на сайті
Клас для відправки e-mail на phpКлас для відправки e-mail на php
Як налаштувати пошту на iphone?Як налаштувати пошту на iphone?
K-9 mailK-9 mail
Скорочення url-адреси на phpСкорочення url-адреси на php
» » Відправка e-mail в php