Меню

Как настроить опен сервер для отправки писем

Почта в OpenServer. Настройка почты и отправка письма по SMTP в 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. Шифрование — Авто.

Кликаем «Сохранить» и в появившемся окне, которое предупреждает нас о том, что сервер будет перезапущен, кликаем ОК.

Вроде бы все и письма должны отправляться по 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. Жмем «Сохранить» в самом низу страницы.

Но и это еще не все.

  • Переходим в наш аккаунт Google https://myaccount.google.com
  • Переходим в раздел «Безопасность» https://myaccount.google.com/security
  • В блоке «Ненадежные приложения, у которых есть доступ к аккаунту» выбираем «Вкл.»

Вот теперь все. Почта в OpenServer полностью настроена и если вы отправите в PHP письмо, то оно будет успешно доставлено на тот Email, который вы укажете.

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

Вот небольшой пример отправки письма в PHP:

Источник

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

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

Читайте также:  Как настроить обои для двух мониторов

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

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

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

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

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

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

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

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

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

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

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

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

Если возникают проблемы с гуглопочтой и письмо почему-то не отправляется, почитайте комментарии. В частности может помочь вот это решение.

Источник

Форум

Настройка почты — отправка через удалённый SMTP

Настройка почты — отправка через удалённый SMTP

Всем привет! Хочу чтобы письма реально отправлялись, потому в настройках Почта указываю: отправлять почту через удалённый SMTP сервер используя выбранные настройки

Итак что получаем:

1)Первый конфиг и ЛОГ в результате отправки

  • 12.09.20 14:44:37 ** — MESSAGE BEGIN —
    12.09.20 14:44:37 ** To: *******@********.ru
    12.09.20 14:44:37 ** Subject: РРСРРРРРРёСР РРР
    12.09.20 14:44:37 ** From: ********.ru
    12.09.20 14:44:37 ** Content-type: text/plain; charset=utf-8
    12.09.20 14:44:37 **
    12.09.20 14:44:37 ** РРРРСРР:
    12.09.20 14:44:37 ** 2222222222
    12.09.20 14:44:37 **
    12.09.20 14:44:37 ** РРС:
    12.09.20 14:44:37 ** 1111111111
    12.09.20 14:44:37 **
    12.09.20 14:44:37 ** РРРРРРСРСРёР:
    12.09.20 14:44:37 ** 3333333333
    12.09.20 14:44:37 **
    12.09.20 14:44:37 ** РСРСРРРРРР СР СССРРРёСС:
    12.09.20 14:44:37 ** http://*********.ru/
    12.09.20 14:44:37 **
    12.09.20 14:44:37 ** IP:
    12.09.20 14:44:37 ** 127.0.0.1
    12.09.20 14:44:37 ** — MESSAGE END —
    12.09.20 14:44:38 ** Connecting to smtp.gmail.com:465
    12.09.20 14:44:39 ** Disconnected.
    12.09.20 14:44:39 ** Disconnected.
    12.09.20 14:44:39 ** Disconnected.
    12.09.20 14:44:39 ** Error connecting with SSL. Error connecting with SSL. error:140943FC:SSL routines:SSL3_READ_BYTES:sslv3 alert bad record mac

Письмо не отправилось(

2)Второй конфиг и ЛОГ в результате отправки — пробуем вместо 465 порта и SSL выставить 587 и TLS

  • 12.09.20 14:55:15 ** — MESSAGE BEGIN —
    12.09.20 14:55:15 ** To: ********@*******.ru
    12.09.20 14:55:15 ** Subject: РРСРРРРРРёСР РРР
    12.09.20 14:55:15 ** From: *********.ru
    12.09.20 14:55:15 ** Content-type: text/plain; charset=utf-8
    12.09.20 14:55:15 **
    12.09.20 14:55:15 ** РРРРСРР:
    12.09.20 14:55:15 ** 72222222222
    12.09.20 14:55:15 **
    12.09.20 14:55:15 ** РРС:
    12.09.20 14:55:15 ** 11111111111
    12.09.20 14:55:15 **
    12.09.20 14:55:15 ** РРРРРРСРСРёР:
    12.09.20 14:55:15 ** 33333333333
    12.09.20 14:55:15 **
    12.09.20 14:55:15 ** РСРСРРРРРР СР СССРРРёСС:
    12.09.20 14:55:15 ** http://********.ru/
    12.09.20 14:55:15 **
    12.09.20 14:55:15 ** IP:
    12.09.20 14:55:15 ** 127.0.0.1
    12.09.20 14:55:15 ** — MESSAGE END —
    12.09.20 14:55:17 ** Connecting to smtp.gmail.com:587
    12.09.20 14:55:17 ** Connected.
    12.09.20 14:55:17
    12.09.20 14:55:17 >> EHLO PC
    12.09.20 14:55:17 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250 ENHANCEDSTATUSCODES
    12.09.20 14:55:17 ** Authenticating as ******@********.ru
    12.09.20 14:55:17 >> STARTTLS
    12.09.20 14:55:17
    12.09.20 14:55:17 >> QUIT
    12.09.20 14:55:17 ** Disconnected.
    12.09.20 14:55:17 ** Disconnected.
    12.09.20 14:55:17 ** Disconnected.
    12.09.20 14:55:17 ** Connection Closed Gracefully.
Читайте также:  Как настроить anonytun для теле2

Снова не отправилось((

3)Третий конфиг и ЛОГ в результате отправки — возвращаем 465 порта и SSL, но добавляем POP аутентификацию.

  • 12.09.20 15:01:50 ** — MESSAGE BEGIN —
    12.09.20 15:01:50 ** To: ******@********.ru
    12.09.20 15:01:50 ** Subject: РРСРРРРРРёСР РРР
    12.09.20 15:01:50 ** From: *********.ru
    12.09.20 15:01:50 ** Content-type: text/plain; charset=utf-8
    12.09.20 15:01:50 **
    12.09.20 15:01:50 ** РРРРСРР:
    12.09.20 15:01:50 ** 72222222222
    12.09.20 15:01:50 **
    12.09.20 15:01:50 ** РРС:
    12.09.20 15:01:50 ** 11111111111
    12.09.20 15:01:50 **
    12.09.20 15:01:50 ** РРРРРРСРСРёР:
    12.09.20 15:01:50 ** 33333333333
    12.09.20 15:01:50 **
    12.09.20 15:01:50 ** РСРСРРРРРР СР СССРРРёСС:
    12.09.20 15:01:50 ** http://*********.ru/
    12.09.20 15:01:50 **
    12.09.20 15:01:50 ** IP:
    12.09.20 15:01:50 ** 127.0.0.1
    12.09.20 15:01:50 ** — MESSAGE END —
    12.09.20 15:01:50 ** Authenticating with POP3 server
    12.09.20 15:02:02 ** Disconnected.
    12.09.20 15:02:11 ** Disconnected.
    12.09.20 15:02:11 ** Disconnected.
    12.09.20 15:02:11 ** Connect timed out.

Снова ошибки((

4)Четвертый конфиг и ЛОГ в результате отправки — ставим 587 порта и TLS, c POP аутентификаций.

  • 12.09.20 15:07:27 ** — MESSAGE BEGIN —
    12.09.20 15:07:27 ** To: *****@**********.ru
    12.09.20 15:07:27 ** Subject: РРСРРРРРРёСР РРР
    12.09.20 15:07:27 ** From: ********.ru
    12.09.20 15:07:27 ** Content-type: text/plain; charset=utf-8
    12.09.20 15:07:27 **
    12.09.20 15:07:27 ** РРРРСРР:
    12.09.20 15:07:27 ** 72222222222
    12.09.20 15:07:27 **
    12.09.20 15:07:27 ** РРС:
    12.09.20 15:07:27 ** 11111111111
    12.09.20 15:07:27 **
    12.09.20 15:07:27 ** РРРРРРСРСРёР:
    12.09.20 15:07:27 ** 33333333333
    12.09.20 15:07:27 **
    12.09.20 15:07:27 ** РСРСРРРРРР СР СССРРРёСС:
    12.09.20 15:07:27 ** http://*******.ru/
    12.09.20 15:07:27 **
    12.09.20 15:07:27 ** IP:
    12.09.20 15:07:27 ** 127.0.0.1
    12.09.20 15:07:27 ** — MESSAGE END —
    12.09.20 15:07:27 ** Authenticating with POP3 server
    12.09.20 15:07:39 ** Disconnected.
    12.09.20 15:07:49 ** Disconnected.
    12.09.20 15:07:49 ** Disconnected.
    12.09.20 15:07:49 ** Connect timed out.

И снова промах. Пробовал другие службы, например yandex, но тоже ничего толкового не получилось. Вопрос, в чем всетаки проблема и как можно решить? Может ещё какие логи или настройки? Забыл сказать, домен привязан к IP, IP внешний белый.

Источник

OpenServer отправка почты SMTP

Сразу к делу.

После сохранения, перезагружаем Open Server.

И используем для теста такой кусок кода:

Письмо должно придти.

Сообщение больше для себя, как памятка.

Во-первых, что пишет в логах? Есть ли ошибка и какая? Далее, во-вторых, пара предположений:
1. Во вкладке «шифрование» какие есть еще варианты? Как я понимаю, нужно указать «протокол шифрования SSL/TLS» явно.
2. В описании «мэйлов» есть текст: В настройках почтовой программы необходимо указать, что сервер исходящей почты (или сервер SMTP) требует авторизации. Мне не совсем понятно, как в настройках OpenServer’а это задается, если не во вкладке «шифрование».

P.S. Логи, очень нужны логи. Попробуйте посмотреть здесь OSPanel/userdata/logs

Запись от Tavashi размещена 01.03.2019 в 15:04

Во-первых, что пишет в логах? Есть ли ошибка и какая? Далее, во-вторых, пара предположений:
1. Во вкладке «шифрование» какие есть еще варианты? Как я понимаю, нужно указать «протокол шифрования SSL/TLS» явно.
2. В описании «мэйлов» есть текст: В настройках почтовой программы необходимо указать, что сервер исходящей почты (или сервер SMTP) требует авторизации. Мне не совсем понятно, как в настройках OpenServer’а это задается, если не во вкладке «шифрование».

Источник



Отправка почты через SMTP с локального сервера

Изменен: 9 ноября, 2020

Отправка почты через SMTP с локального сервера позволяет протестировать отправку сообщений с сайта находящемся на локальной машине, или проще говоря, локальном сервере. Для этого можно использовать любой почтовый сервис yandex, google или mail.ru.

Прежде всего, SMTP (Simple Mail Transfer Protocol) — это широко используемый сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP. И такими протоколами обладают все популярные почтовые сервисы.

С появлением локальных серверов, отпала необходимость выбора хостинг-провайдера для того чтобы проверить работоспособность отдельных скриптов или cms-систем, а тем более еще и платить за это. Гораздо проще все протестировать на компьютере, ну а затем можно и показать всем что «натворили».

Многие такие сервера имеют уже встроенное программное обеспечение и необходимый функционал по работе с почтой, нужно его только правильно настроить.

Для проверки работоспособности такой почты необходим самый минимум:

  • В качестве локального сервера можно использовать Openserver.
  • И простенький скрипт, шаблон которого можно взять чуть ниже.
  • Почтовый сервер можно использовать любой.

Отправка почты php через SMTP-настройка скрипта

Шаблон простенького скрипта который можно скопировать чуть ниже, или скачать еще на сотнях подобных сайтов, необходимо отредактировать.

Для начала нужно поменять в шаблоне скрипта некоторые значения.
to — меняем на почтовый адрес куда будет отправлено почтовое сообщение.
subject — тема письма
message — само сообщение, или тело письма.

Пример моего скрипта:

Можно конечно немного расширить функционал и сделать так, чтобы скрипт выдавал сообщение об отправки почты. Хоть на самом деле отправку производит именно SMTP-сервер, а скрипт лишь формирует сообщение.

Для примера можно написать так:

Все подставленные значения должны быть в кавычках, иначе скрипт выдаст ошибку. После этого можно сохранить скрипт в папку локального сервера.

Например: domains/send/index.php и приступать к настройке отправки почты через SMTP opensrerver.

Отправка почты через smtp яндекса

Почта будет приходить на любой адрес, который будет указан в скрипте вместо значения ‘to’, но обрабатывать и отправлять эту почту будет именно тот SMTP, который будет указан в настройках openserver.

  1. Запускаем сервер
  2. Открываем модуль openserver с настройками в меню «почта»
  3. Заполняем все поля как показано на картинке, при этом, имя пользователя, e-mail отправителя и пароль подставляем от реального почтового ящика на яндексе.

Сохраняем настройки и после того, как сервер будет перезапущен, можно обратиться к самому скрипту. Из папки «Мои сайты», открыть папку «send» в которой и находится сохраненный ранее скрипт index.php.

К стати, данный скрипт можно сохранить под любым именем, главное чтобы расширение скрипта было «php»

Как только произойдет обращение к данному скрипту, в новом окне браузера появится информация о том, что скрипт отработал.

После этого стоит проверить свой почтовый ящик, адрес которого был указан в скрипте, пришло ли письмо.

Если его нет, значит что-то настроено не правильно, либо письмо попало в папку спам.

Все остальные настройки выглядят аналогично, но на всякий случай дополнительная информация не помешает.

Отправка почты через smtp mail ru

Для того, чтобы настроить отправку почты через SMTP mail ru, необходимо просто заменить параметры яндекса на параметры mail ru.

А чтобы не перестраивать каждый раз локальные сервер, лучше всего настроить разные профили openserver. Как это сделать показано в видеоуроке Openserver настройка php с помощью профилей.

В этом случае достаточно будет просто загрузить профиль и все настройки, которые были указаны для данного профиля будут доступны после перезапуска сервера. Очень удобная штука и работает очень просто.

Для каждого профиля (совсем не важно как он будет называться), должны быть сделаны свои настройки, если конечно планируется использование разных по своим параметрам скриптов, cms-систем и приложений.
Если нет, то можно обойтись и настройками по умолчанию.

Что касается SMTP mail ru, то здесь все эдентично.

Меняются данные яндекса на данные mail ru

Oтправка почты через smtp google

Для того, чтобы настроить отправку почты через SMTP гугла, стоит чуть постараться.

Во-первых, создание самого профиля в гугле сложнее чем в других системах яндекса и mail ru
Во-вторых, система просто так не пропустит письмо, даже если указать свои данные для входа. Для начала она пришлет письмо в котором и будет вся необходимая информация о дальнейших инструкциях.

В остальном же отправка почты через SMTP для гугла настраивается точно так же. Меняются только все данные на gmail.com .

Для настройки отправки почты через другие SMTP, все данные будут примерно одинаковы.

Если у вас все получилось и письма дошли до указанного адресата, значит все сделано правильно. Будет здорово если вы поделитесь своими наработками в комментариях.

Источник