Чат Telegram
Группа ВКонтакте
Отправка email в PHP на OpenServer через SMTP

Отправка email в PHP: настройка OpenServer

В этом уроке мы научимся отправлять почту средствами PHP в рамках сервера OpenServer. О том, чем хорош этот сервер и о том, как его установить, я писал в статье "Установка и настройка OpenServer".

Самый понятный курс PHP
Онлайн-уроки в удобное время!
Начать бесплатно

Начнем с того, что в PHP отправить email – очень просто. Для этого используется функция mail(). Чтобы отправить письмо нужно указать адрес получателя, тему письма и текст сообщения, а также специальный заголовок From, с указанием отправителя вот так:

<?php
mail('receiver@example.com', 'Тема письма', 'Текст письма', 'From: sender@example.com');

Однако, вот незадача – если этот код выполнить на хостинге, то письмо будет отправлено и придёт получателю, а вот если мы используем OpenServer, то по умолчанию все наши письма будут просто записываться в специальный лог-файл. Убедиться в этом вы можете, заглянув во вкладку «Почта» настроек OpenServer.

Путь до логов с почтой

И действительно, перейдя по этому пути, мы увидим наше письмо.

Логи писем

Но как же быть, если мы хотим на самом деле отправлять письма? Для этого нам нужен SMTP-сервер. Если кто не знает – электронная почта отправляется по специальному протоколу SMTP, а принимается по протоколу POP3. SMTP-сервер можно поднять самому, привязать к нему свой домен, и использовать свои адреса вроде x@myproject.ru. Мы же в рамках данного урока будем использовать SMTP-сервер Google.

Первым делом вам нужно создать новый аккаунт Google – просто перейдите в режиме инкогнито на https://gmail.com/ и создайте новую учетную запись. Я создал для примера kek777cheburek@gmail.com.

После этого переходим в настройки OpenServer и заполняем поля:

Самый понятный курс PHP
Онлайн-уроки в удобное время!
Начать бесплатно
  • способ отправки почты: отправлять почту через удаленный SMTP сервер
  • SMTP сервер: smtp.gmail.com
  • порт: 465
  • email отправителя: почта, которую вы зарегали ранее
  • имя пользователя: та же почта
  • пароль: пароль от почты
  • шифрование: авто

Настройки SMTP в OpenServer

После этого жмем кнопку «Сохранить» и перезапускаем сервер.

Изменяем наш код:

<?php
mail('тут@ваша.почта', 'Тема письма', 'Текст письма', 'From: kek777cheburek@gmail.com');

После чего запускаем скрипт и проверяем свой ящик.

Входящее письмо

Мне письмо пришло мгновенно, так как в моём случае и отправитель и получатель были на gmail.com. Если у вас по-другому - возможно, придется подождать.

Стоит отметить, что данная инструкция является универсальной и данные настройки можно задать не только в OpenServer, но и в любом другом месте, где требуется конфигурация SMTP-сервера.

Присоединяйтесь к нам в ВКонтакте и в Facebook, чтобы не пропустить новые уроки. А также вступайте в наш чат PHP-разработчиков в Telegram.
Об авторе
Артём Ивашкевич
Артём Ивашкевич
Занимаюсь программированием более трех лет. В свободное время обучаю программированию на PHP других людей, потому что мне это нравится. Если вы интересуетесь темой IT и хотели бы стать разработчиком, рекомендую прочитать статью о том, как я стал программистом.
Онлайн-курсы PHP и MySQL
Обучение с полного нуля до уровня джуниора!
Начать бесплатно
Самый понятный курс PHP
Онлайн-уроки в удобное время!
Начать бесплатно
Комментарии (2)
Онлайн-курсы PHP и MySQL
Обучение с полного нуля до уровня джуниора!
Начать бесплатно
loader
Есть вопрос по программированию?
Здесь быстро ответят!
Задать вопрос
Курс программирования на PHP
Подготовка до уровня устройства на работу!
Начать бесплатно
loader
Форум веб-разработчиков
Здесь все!
Перейти
loader
Логические задачи с собеседований