Меню

Настройка сервера smtp для отправки сообщений



Установка и настройка SMTP сервера на Windows Server 2016 / 2012 R2

Вы можете установить SMTP сервер с помощью встроенных средств во всех версиях Windows Server. Такой SMTP сервер внутри организации может работать в качестве почтового релея, который должен принимать и пересылать через себя SMTP сообщения от различных устройств (к примеру, сендеров, сканеров, устройств СКД и пр.) и приложений (веб приложения, SQL Reporting Services, SharePoint), которым необходимо иметь возможность отправлять почту через SMTP сервер. Такой релей может пересылать сообщения на полноценные Exchange сервер или на публичные почтовые сервисы в Интернет типа Gmail, Mail.ru, Office 365 и т.д (ведь не всегда целесообразно разворачивать полноценную внутреннюю почтовую инфраструктуру на базе Microsoft Exchange Server или других почтовых служб).

В этой статье мы покажем, как установить, настроить и протестировать работу SMTP сервера на Windows Server 2012 R2, 2016 и 2019, который будет функционировать в качестве mail релея. Такой SMTP сервер не хранит почтовые сообщения и на нем отсутствуют почтовые ящики, он сможет только отправлять или пересылать почту.

Установка службы SMTP на Windows Server 2016/2012 R2

SMTP сервер – это один из компонентов Windows Server, который можно установить через Server Manager. Для этого откройте консоль Server Manager Dashboard (servermanager.exe), перейдите в режим Add roles and features и на этапе выбора функций отметьте чекбокс у пункта SMTP Server. Для управления службой SMTP нужно установить консоли управления, которые входят в комплект роли Web Server IIS (вам будет предложено установить IIS Management Tools).

Оставьте все предлагаемые опции роли Web Server (IIS) и запустите установку.

Также вы можете установить компонент SMTP сервера с помощью одной команды PowerShell:

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

Настройка SMTP сервера на Windows Server

Управляется SMTP сервер консоль управления Internet Information Services (IIS) Manager 6. Открыть эту консоль можно через Server Manager: Tools-> Internet Information Services (IIS) 6.0 Manager или командой inetmgr6.exe.

В консоли IIS 6 Manager разверните ветку с именем сервера, щёлкните ПКМ по SMTP Virtual Server и откройте его свойства.

На вкладке General, если необходимо, выберите IP адрес, на котором должен отвечать SMTP сервер (если у сервера несколько IP адресов), и включите ведение логов Enable logging (чтобы сохранялась информация обо всех полученных письмах).

Затем перейдите на вкладку Access.

Здесь нажмите на кнопку Authentication и убедитесь, что разрешен анонимный доступ (Anonymous access).

Вернитесь на вкладку Access и нажмите кнопку Connection. Здесь вы можете указать IP адреса устройств, которым разрешено отправлять почту через наш SMTP релей. Нужно выбрать опцию Only the list below и указать список IP адресов, не забыв самого себя (127.0.0.1).

Аналогичным образом настройте список разрешенных IP в настройках Relay (нажмите соответствующую кнопку). В этой секции указано каким IP адресам (или подсетям) можно пересылать почту через ваш SMTP сервер.

Перейдите на вкладку Messages. Здесь указывается email, на который будут отправляться копии всех NDR отчетов (Send copy of Non-Delivery Report to:). Также здесь можно указать ограничения на максимальный размер писем (Limit message size KB) и количество получателей (Limit number of recepients per message).

Перейдите на вкладку Delivery:

Затем нажмите на кнопку Outbound Security. Здесь указывается, как нужно авторизоваться на почтовом сервере, на который ваш SMTP-сервере будет пересылать (relay) всю почту. К примеру, если вся почта будет отправляться на почтовый сервер Gmail и уже с него пересылаться адресатам, вам нужно выбрать тип аутентификации Basic authentication, указав в качестве пользователя и пароля данные для доступа к почтовому ящику на сервисе Gmail (в настройках аккаунта Google нужно разрешить отправку через smtp сервера gmail).

Затем нажмите на кнопку Advanced.

Здесь указывается FQDN имя вашего SMTP сервера. Нажмите кнопку Check DNS, чтобы проверить корректность записи в DNS.

Если сервер должен пересылать почту внешнему smtp серверу, нужно указать его имя в поле Smart host (к примеру smtp.gmail.com или smtp.office365.com).

Сохраните настройки SMTP сервера и перезапустите ваш виртуальный SMTP сервер для применения изменений.

  1. Настройки DNS критичны с точки зрения работоспособности почтовой системы. Если ваш SMTP сервер не может корректно разрешить DNS имена доменов, на которые он пытается отправить письма, доставка не удастся.
  2. Если ваш сервер сам будет отправлять почту в другие домены, важно, чтобы для вашего адреса была сформирована правильная PTR запись для разрешения обратных DNS запросов. PTR запись для белого IP адреса должна указывать на FQDN имя. В противном случае большинство внешних smtp серверов не будут принимать от вас почту, считая ваш сервер спамерским.
Читайте также:  Настройка рейтов сервера для css v34

Автозапуск службы SMTPSVC

Осталось настроить автозапуск службы SMTP сервера. Быстрее всего это сделать из командной строки PowerShell:

set-service smtpsvc -StartupType Automatic

Проверим, что запущена служба SMTPSVC :

Проверка работы SMTP сервера на Windows Server

Ну и последнее, что осталось сделать, проверить работу созданного SMTP сервера. Проще всего это сделать, создав на рабочем столе текстовый файл smtp-test-email.txt и скопировав в него следующий текст, заменив имя отправителя и получателя на ваши.

From: server@localdomain.com
To: admin@localdomain.com
Subject: Email test
This is the test email

Скопируйте файл smtp-test-email.txt в каталог C:\inetpub\mailroot\Pickup. SMTP сервер следит за появлением файлов в этой каталоге и при обнаружении файла прочтет его содержимое и попытается отправить письмо с данной темой и текстом адресату, указанному в разделе To:.

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

Send-MailMessage -SMTPServer localhost -To admin@localdomain.com -From server@localdomain.com -Subject «Email test» -Body «This is the test email sent via PowerShell»

Если вы хотите, чтобы вы включили Basic Authentication (Обычная проверка подлинности) для авторизации всех ваших SMTP клиентов (вместо анонимной аутентификации), вы можете отправить письмо с smtp-аутентификацией через telnet следующим образом.

Также убедитесь, что на вашем SMTP сервере не блокируется порт TCP 25 при удаленном подключении (локальным файерволом, антивирусом или межсетевым экраном). Проще всего это сделать с компьютера Windows, IP адрес которого добавлен в разрешенные. Проверку доступности порта можно выполнить с помощью командлета Test-NetConnection:

Test-NetConnection smtpsrv1.name.local –port 25

Если 25 порт блокируется, проверьте настройки Windows Firewall, антивируса и аппаратных межсетевых экранов.

Итак, вы настроили собственный почтовый SMTP релей на Windows Server 2016/2012 R2 и протестировали отправку писем через него.

Источник

Как использовать бесплатный SMTP Сервер от Google

Введение

Не все знают, что они могут использовать бесплатный SMTP сервер от Google для отправки электронной почты. Это может стать хорошим решением для тех, кто не может использовать SMTP сервер предоставленный провайдером или хостингом, а также тем, кто испытывает проблемы с доставкой электронной почты. В этом руководстве вы узнаете, как использовать бесплатный SMTP сервер от Google. Вы также найдёте подробную информацию по его использованию для отправки электронных сообщений через почтовую программу PHP.

Выгоды использования внешней службы SMTP

Несмотря на то, что большинство хостингов и интернет-провайдеров (например, Hostinger) предоставляет свою поддержку SMTP, существует несколько выгодных моментов в использовании внешнего SMTP сервера:

  • Он может обеспечить лучшую доставку электронной почты.
  • Вам не надо будет настраивать ваш собственный сервер (если вы используете VPS).
  • Их сервера с меньшей вероятностью попадают в чёрный список, это означает, что ваше письмо с большей вероятностью не будет отмечено как спам.

Ограничения на отправку SMTP Сервера от Google

Google ограничивает количество исходящих электронных сообщений до 100 штук в день. При достижении лимита, вы не сможете отправлять письма в течение следующих 24 часов. Более подробная информация по поводу ограничений на отправку электронной почты может быть найдена здесь.

Прежде, чем начать изучение руководства, убедитесь в наличии:

  • Аккаунт Gmail или GSuite
  • Доступ к панели управления вашего хостинга

Шаг 1 — Получение настроек Google SMTP сервера

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

ВАЖНО! Если вы используете двухэтапную аутентификацию для доступа к вашему Google аккаунту, доступ к непроверенным приложениям не может быть включен. В таком случае вам надо войти в систему, используя пароль приложения.

  • SMTP Сервер: smtp.gmail.com
  • SMTP Имя пользователя: ваше полное имя пользователя Gmail (электронный адрес), к примеру, vashemail@gmail.com
  • SMTP Пароль: пароль от вашего Gmail.
  • SMTP Порт: 465
  • TLS/SSL: требуется.

Если вы хотите хранить все ваши исходящие сообщения в папке Отправленные вашего gmail, используйте IMAP протокол, следуя этим шагам:

Читайте также:  Настройка iis как веб сервер

  1. Зайдите в ваш Gmail аккаунт и войдите в раздел Настройки.
  2. Перейдите по вкладке Пересылка и POP/IMAP и включите IMAP.
  3. Как только вы закончите, нажмите кнопку Сохранить изменения внизу страницы.

Шаг 2 — Использование Google SMTP

На этом этапе вы научитесь, как использовать бесплатный SMTP сервер от Google для отправки сообщений через PHPMailer и плагин WordPress. Знание того, как отправлять электронные письма с помощью PHP полезно, если вы учитесь программированию или хотите создать простую контактную форму для вашего сайта.

Вариант 2.1 — Используем PHPMailer

Доступно множество PHP скриптов позволяющих это сделать. В примере внизу мы будем использовать PHPMailer:

  1. Откройте репозиторий PHPMailer на GitHub и загрузите скрипт, нажав кнопки Clone or downloadDownload ZIP. Сохраните скрипт на своем компьютере.
  2. Загрузите скрипт на ваш хостинг аккаунт. Вы можете использовать FTP-клиент или Файловый менеджер предоставленный вашим хостингом. Если вы не уверены, как загружать файлы на ваш хостинг аккаунт, посмотрите это руководство.

PHPMailer уже имеет пример настроек для использования с SMTP сервером Google под названием gmail.phps. Он находится в папке PHPMailer-master/examples.

Для того, чтобы этот скрипт работал с Google SMTP сервером, вам необходимо отредактировать некоторые настройки, такие как username (имя пользователя), password (пароль) и email recipient address (адрес получателя электронной почты). Также вы можете изменить название файла с gmail.phps на gmail.php, таким образом вы сможете получить доступ к файлу через ваш браузер. Для переименования и редактирования файлов можно использовать Файловый менеджер или FTP-клиент.

Как только редактирование закончено, просто откройте скрипт своим браузером. Если вы загрузили папку PHPMailer-master в папку public_html, то файл будет доступен по адресу http://вашдомен.ru/PHPMailer-master/examples. Если все настроено верно, вы должны увидеть сообщение об успешной отправке электронного сообщения.

Вариант 2.2 – Используем плагин WP Mail SMTP

Самый простой вариант использования внешнего SMTP на WordPress это использование плагина WP Mail SMTP.

Прежде войдите свою админ консоль и перейдите в раздел Плагины → Добавить новый. Установите и активируйте плагин Mail SMTP.

Теперь зайдите на страницу настроек WP Mail SMTP по пути Плагины→ Установленные и нажмите Настройки (Settings).

Вам нужно будет заполнить все необходимые детали вашего SMTP сервера.

  1. SMTP Host – Введите smtp.gmail.com.
  2. SMTP Port – Порт по умолчанию для Gmail SMTP сервера 465 для SSL и 587 для TSL.
  3. Encryption – Всегда рекомендуется использовать шифрование. Выберите его согласно порту, который выбрали до этого.
  4. Authentication – Выберите Да(Yes), SMTP аутентификация требуется.
  5. Username – используйте свой Gmail адрес.
  6. Password – ваш Gmail пароль.

Для сохранения внесённых вами изменений нажмите на кнопку Save Changes (Сохранить изменения) внизу страницы. Чтобы убедиться в том, что ваши настройки работают, вы можете отправить тестовый email на свой личный аккаунт. Введите электронный адрес и нажмите Send Test (Отправить тест).

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

Заключение

По окончанию этого руководства вы узнали, как настроить свою учётную запись Google и использовать бесплатный SMTP сервер от Google. Также вы научились отправлять сообщения с помощью PHPMailer. Если вы являетесь пользователем WordPress, загляните в это руководство о настройке внешней службы SMTP на WordPress.

Автор

Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.

Источник

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

Отправка почты через 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, все данные будут примерно одинаковы.

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

Источник