Пошта в OpenServer. Налаштування пошти і відправка листа по SMTP в OpenServer

Пошта OpenServer

Привіт, друзі.

У цьому уроці я покажу вам як налаштувати пошту в OpenServer.

Справа в тому, що коли ми тестуємо сайт на локальному сервері, і намагаємося відправити лист через форму зворотного зв'язку, то на пошту сайту (потрібний нам E-Mail) листи не приходять.

Така ж ситуація, коли ми намагаємося реалізувати відправку пошти в PHP. На реальний Email пошта не приходить.

Справа в тому, що за замовчуванням, налаштування OpenServer виставлені так, що всі листи зберігаються в папку userdata / temp / email /. Вони записуються в спеціальний лог-файл, який можна відкрити звичайним блокнотом.

І ось для того, щоб листи зберігалися не в лог-файл, а відправлялись на потрібний нам Email, потрібно змінити налаштування OpenServer. Давайте я покажу вам, де подивитися вже відправлені вами листи в OpenServer, і як зробити так, щоб вони відправлялися по SMTP протоколу.

І так про все по порядку.

  1. Запускаємо OpenServer;
  2. Клікаємо по прапорцю програми (іконці в треї) правою кнопкою миші;
  3. У контекстному меню вибираємо «Налаштування»;
  4. Переходимо на вкладку «Пошта».

Ось в цьому вікні нам і потрібно буде зробити певні налаштування, щоб пошта, яку ми відправляємо в PHP доставлялася на потрібний Email.

Як подивитися відправлені листи в OpenServer

За замовчуванням, спосіб відправки пошти у нас обраний «Зберігати листи в папку userdata/temp/email/». Давайте перейдемо в цю папку і переконаємося в тому, що відправлені раніше нами листи знаходяться саме в ній. Відкриваємо папку програми OpenServer, в ній є папка userdata, в ній — temp, а в папці temp — знаходиться папка email.

Відкрийте файл, що там знаходиться за допомогою блокнота, і ви переконаєтеся в тому, що відправка листів у вас працює. Просто вони не відправляються на вказаний в PHP email, а зберігаються ось тут.

Як налаштувати відправку пошти в OpenServer по SMTP

Щоб листи реально відправлялися, нам потрібно змінити налаштування OpenServer. Як приклад я буду використовувати обліковий запис Google і відповідно пошту Gmail.

Дуже важливо! Для тестування і розробки сайтів я рекомендую створити окремий акаунт Google (пошту).

І так. Заповнюємо поля у вкладці «Пошта» налаштувань програми OpenServer покроково:

  1. Вибираємо Спосіб відправки пошти — Відправляти пошту через віддалений SMTP сервер;
  2. SMTP сервер вказуємо smtp.gmail.com;
  3. Порт: 465, або 587 (у мене відмінно працює 587);
  4. Email відправника — це наша реальна пошта Gmail;
  5. Ім'я користувача — вказуємо ту ж пошту, що і Email відправника;
  6. Пароль — вказуємо пароль від пошти;
  7. Шифрування — Авто.

Клікаємо «Зберегти» і у вікні, яке попереджає нас про те, що сервер буде перезапущений, натискаємо ОК.

Пошта OpenServer

Начебто все і листи повинні відправлятися по SMTP. Але не все так просто.

Ми налаштували OpenServer, але не Google аккаунт. А в обліковий запис Google за замовчуванням, доступ сторонніх додатків заборонений і тому листи у вас поки все одно не будуть відправлятися.

Нам залишилася сама малість — налаштувати обліковий запис Google і зараз я покажу як це зробити.

Налаштовуємо SMTP сервер від Google

За замовчуванням, в Google з метою забезпечити максимальну безпеку аккаунта, доступ сторонніх додатків відключений. А також, в налаштуваннях пересилання відключений протокол IMAP (доступ до Gmail інших додатків з цього протоколу).

Ось про те, як включити доступ інших додатків по протоколу IMAP до вашої пошти Gmail, а також як дозволити цим програмам доступ до вашого профілю, я зараз і розповім покроково:

  1. Заходимо в Gmail акаунт і з нього входимо в розділ Налаштування (іконка шестерні в правому верхньому куті).
  2. Переходимо на вкладку «Пересилання та POP/IMAP» і в блоці «Доступ по протоколу IMAP» вибираємо «Включити IMAP» https://mail.google.com/mail/u/0/?tab=wm1#settings/fwdandpop
  3. Тиснемо «Зберегти» в самому низу сторінки.

Але і це ще не все.

Ось тепер все. Пошта в OpenServer повністю налаштована і якщо ви відправите в PHP лист, то він буде успішно доставлений на той Email, який ви вкажете.

Відеоурок по даній темі

Ось невеликий приклад відправлення листа в PHP:

<?php mail('email отримувача', 'Тема листа', 'Текст листа', 'From: email відправника'); ?>

АВТОРИЗАЦІЯ