Як зробити форму відправки повідомлень на сайті

37

Від автора: вітаю вас, друзі. Дана стаття буде продовженням статті, в якій ми реалізовували відправку форми на email з допомогою PHP функції mail(). У цій статті ми дізнаємося, як зробити форму відправки повідомлень з сайту через SMTP популярних поштових сервісів. Приступимо?.

Вихідні файли поточної статті ви можете завантажити за посиланням.

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

Саме з цих причин і рекомендується використовувати для відправки листів сторонні SMTP сторонніх популярних сервісів: gmail.com, yandex.ru, mail.ru і т. п. Ну а відправити листа нам допоможуть різні бібліотеки, наприклад чудова бібліотека PHPMailer. Ця бібліотека досить проста у використанні і універсальна. PHPMailer дозволяє відправляти не тільки прості листи, але і листи у форматі HTML, листи з вкладеннями, загалом, бібліотека вміє все, що необхідно для відправки повідомлень з сайту.

Почнемо зі скачування архіву з бібліотекою та підключення його до обробника форми, у нас це файл mail.php:

require ‘phpmailer/PHPMailerAutoload.php’;

Тепер нам необхідно створити об’єкт підключається класу бібліотеки і зробити його необхідну настройку. Тут нам знадобиться реальну поштову скриньку, який буде використаний для відправки листів. Я використовую тестовий поштову скриньку, зареєстрований в mail.ru. За запитом в Гуглі mail.ru smtp можна знайти необхідні налаштування, які ми використовуємо. Точно таким же чином ми можемо знайти налаштування smtp інших поштових сервісів.

Підсумковий код обробника буде виглядати наступним чином: