Php відправка пошти phpmailer smtp google

При роботі моїх скриптів відбуваються різні події про які я б хотів би знати. Один з варіантів таких оповіщень це відправка повідомлення на електронну пошту. У цій замітці я б хотів би розповісти як відбувається засобами php відправка пошти.

У моїх скриптах засобами php відправка email відбувається за допомогою всім відомого класу phpmailer і віддаленого smtp сервера. Я використовую smtp сервер google. Ну а тепер про все по порядку.

Smtp google

Нічого складного в налаштуванні і підключенні smtp сервер google немає. Що б отримати до нього доступ досить створити ящик електронної пошти в gmail. Логін і пароль доступу до ящика буде підходити і до сервера. Важливо тільки знати основні google smtp настройки, які ми будемо використовувати в phpmailer.

Phpmailer це всім відомий php клас для відправки email. Завантажити його можна c github тут. Зазвичай я скачую файли class.phpmailer.php, class.pop3.php, class.smtp.php і складаю їх в корінь сайту. Тепер поговоримо про підключення та налаштування Phpmailer. Створимо в корені сайту файл index.php, в ньому ми створимо підключення і налаштування.

З лістингу я думаю все зрозуміло. Якщо правильно прописати всі налаштування і запустити файл index.php, то ми відправимо на вказаний email повідомлення "привіт від Phpmailer". В принципі мені цього функціоналу вистачає, для того що б силами php відправити email. так що далі копатися в класі не став. Ось напевно і все, за традицією написав невеличкий приклад, і розібрав його.

У прикладі маємо файл index.php. У ньому є поле з зазначенням email, куди треба відправити лист і поле з текстом листа. Через ajax проіскодіт відправка даних з полів у файл send.php. У send.php підключається phpmailer і відбувається засобами php відправка email. Так само до index.php підключається файл myjs.js. У ньому відбувається перевірка правильності заповнення полів форми, а так само відправка даних ajax в send.php і отримання відповіді про відправлення листа або помилку. Приклад я писав використовуючи bootstrap для верстки. Класи бутстрап я прибрав з лістингу що б було менше коду. І так основний шматок index.php.

Будемо вважати що myjs.js підключений до index.php. лістинг myjs.js

І нарешті send.php

Ось такий от не хитрий приклад як робиться відправка повідомлення на пошту php.