В этой статье мы расскажем о быстрой и простой настройке SMTP сервера в вашем окружении Jelastic. SMTP расшифровывается как Simple Mail Transfer Protocol. Это стандарт для передачи электронной почты через интернет. SMTP используется, когда электронная почта доставляется от клиента электронной почты серверу или от одного email сервера другому. Общение между отправителем и получателем происходит в текстовом виде с использованием надежного канала (обычно TCP). SMTP — надежный и простой протокол.
В этой статье мы расскажем, как использовать Jelastic PHP для SMTP. Будут рассмотрены 2 варианта: используя PHPMailer или собственную форму для отправки email.
Создание окружения
1. Если у вас еще нет аккаунта Jelastic в InfoboxCloud – создайте его.
2. Нажмите «Создать окружение» и выберите тип окружения PHP.
3. Выберите сервер Apache и установите границы вертикального масштабирования. Добавьте публичный IP адрес к Apache ноде. Введите название окружения, например phpmailer и нажмите «Создать».
Теперь можно настраивать SMTP. Сначала рассмотрим настройки PHPMailer.
PHPMailer для отправки электронной почты
PHPMailer – классический полнофункциональный класс для отправки почты в PHP, совместимый с PHP v.5 и выше. Давайте посмотрим, как это делается в Jelastic на платформе InfoboxCloud.
1. Скачайте скрипт PHPMailer. (по ссылке модифицированная версия, включающая все настройки и предназначающаяся только для SMTP).
2. Откройте «Диспетчер дистрибутивов» и загрузите скрипт в Jelastic.
3. Когда загрузка закончится, разверните PHPmailer в окружение, которое вы создали раньше.
Далее, нажмите кнопку «Настройки» в вашем сервере приложений и перейдите в webroot/{context_name}/config.php
В этом файле конфигурации вы можете настроить данные отправки почты:
- через localhost
- через специфичный аккаунт email
Отправка с Localhost
Вы можете отправлять письма напрямую из вашего приложения без указания реального аккаунта электронной почты. В этом случае у вас нет каких-либо ограничений на частоту и количество отправляемых писем, но почта может легко попасть в спам.
Для использования этой конфигурации вам нужно установить следующие параметры:
- host: значение «localhost»
- auth: значение «false»
- username: имя отправителя
- addreply : адрес электронной почты, который будет использован для ответов на письма. Это обязательный параметр.
- replyto : установите то же значение, что и в addreply.
Сохраните сделанные изменения. После этого вы можете нажать на кнопку «Открыть в браузере».
Вы увидите форму для отправки email.
Введите информацию в поля формы и нажмите «Submit». Через несколько минут письмо будет доставлено по указанному адресу почты.
Если вы через несколько минут так и не получили письмо — проверьте «Спам».
Отправка с реального аккаунта электронной почты
Можно использовать этот способ если у вас есть зарегистрированный аккаунт в существующей электронной почте. В этом случае письмо скорее всего не попадет в спам, но вы можете столкнуться с ограничениями по количеству отправляемых писем в единицу времени. Ниже преведен пример настройки с gmail:
- host: ssl://smtp.gmail.com
- port: 465 (порт вашего email провайдера)
- auth: значение «true»
- username: ваш логин от почтового сервиса
- password: ваш пароль от почтового сервиса
- addreply : ваш адрес электронной почты
- replyto : ваш адрес электронной почты
Сохраните изменения. Затем нажмите на кнопку «Открыть в браузере» в вашем окружении.
Введите тестовые данные и нажмите «Submit». Письмо будет отправлено.
Это все, что необходимо для успешной отправки писем с PHPMailer. Используя это руководство можно попробовать настроить и другие email–системы.
Теперь давайте посмотрим, как создать собственную форму для отправки писем.
Использование произвольной формы для отправки электронной почты
Вы можете сделать свою собственную форму для отправки email.
1. Нажмите «Конфигурация» на веб-сервере окружения.
2. Перейдите в webroot/ROOТ (или в другую контекстную папку) и создайте новый файл: например mailtest.php.
3. Напишите код формы в mailtest.php, например такой:
<form method=POST ation=#> From <input type=text name=from><br /> To <input type=text name=to><br /> Subject <input type=text name=subj><br /> Type your message <input type=text name=text><br /> <input type=submit name=sub value=Send> </form> <?php if ($_POST['sub']){ system ("echo {$_POST['text']} | mail -s {$_POST['subj']} -r {$_POST['from']} {$_POST['to']}");} ?>
Сохраните изменение. Теперь откройте в браузере наше окружение и добавьте к пути имя файла.
Вы можете использовать и localhost (просто введите localhost в поле From) и настоящий адрес электронной почты для отправки.
В итоге мы получаем письмо на email.
Вот так все просто. Вы можете отправлять письма и напрямую из вашего приложения, развернутого в Jelastic.
Успешного использования Jelastic в облаке InfoboxCloud.
Автор: infobox