Відправка 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 дуже важливо вміти.
До зустрічі.
- Aquamail
- Blue mail
- Пошта mail.ru
- K-9 mail
- K- @ mail pro
- Серверні настройки joomla
- Кращі поштові сервери linux
- Як переглянути avi-файл на сайті
- Як налаштувати пошту на iphone для gmail, yandex, rambler і mail.ru
- Навіщо потрібен платний хостинг
- Як створити свій api на сайті
- Як налаштувати пошту на ipad
- Як відновити mail.ru
- Як налаштувати пошту на iphone?
- Відправлення файлу по e-mail на php
- Клас для відправки e-mail на php
- Скорочення url-адреси на php
- Онлайн-семінар "5 кроків і професійний сайт готовий"
- Обробка помилок в php
- Використання cron
- Агент mail.ru