Одним из основных элементов является конфигурация SMTP-сервера. Рассмотрим, что это такое и как произвести нужные настройки для различных ситуаций.

Что такое SMTP?

Сокращение SMTP происходит от английского словосочетания , что в переводе означает «простой протокол отправки почты». В основном область его применения ограничивается сетями на основе TCP/IP и пользовательским уровнем.

В любой мейл-программе, часто называемой почтовым клиентом, имеются специальные настройки, позволяющие сконфигурировать параметры протокола. Именно его посредством все электронные письма отправляются на почтовый сервер, где ожидают ретрансляции. Изначально SMTP-сервер использует TCP-порт под номером 25. Однако с развитием сервисов электронной почты настройки могут существенно изменяться.

Нужна ли настройка сервера при отправке письма с почтового сервиса?

Как правило, любой почтовый сервис в интернете, предлагающий пользователям услуги по отправке и получению электронной корреспонденции, уже оснащен заранее настроенным SMTP-сервером. То есть пользователю производить ничего не нужно.

Сами же сервисы для входа в собственный почтовый ящик требуют от пользователя только ввода логина и пароля, указанных при регистрации, и настраивать, например, SMTP-сервер Mail.Ru не требуется всего лишь по той причине, что в самом сервисе все это было сделано изначально (без этого служба просто не работала бы). Но что делать, если пользователь интернет-ресурсами по какой-то причине не пользуется, а предпочитает стандартные клиенты вроде майкрософтовских Outlook Express и Outlook или сторонние программные продукты, имея при этом зарегистрированный ящик именно в интернет-сервисе?

Настраиваем сервер SMTP (Mail.Ru - почтовый сервис, где зарегистрирован ящик)

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

Итак, для того чтобы правильно сконфигурировать SMTP-сервер Mail.Ru, следует задать следующие параметры:

  • сервер исходящей корреспонденции - smtp.mail.ru;
  • имя юзера - полное название зарегистрированного в сервисе адреса электронной почты;
  • пароль - текущее кодовое сочетание литер, цифр и символов, используемое для входа в ящик;
  • порт при выборе протокола шифрования SSL/TLS - 465.

После вступления в силу этих настроек почту можно будет принимать непосредственно в используемой пользовательской программе. Как видим, порт SMTP-сервера отличается от стандартного (25), но это связано уже с протоколами TCP/IP.

Настраиваем сервер SMTP на Yandex

Не менее популярным является и сервис Yandex.Ru. SMTP-сервер для него настраивается полностью аналогичным образом.

Однако для сервера исходящих сообщений применяется адрес smtp.yandex.ru, для порта указывается значение 465, но в настройках защиты устанавливается исключительно TLS.

Устанавливаем SMTP-сервер для рассылки

Теперь перейдем к более сложным ситуациям, когда пользователю по каким-либо причинам (например, для раскрутки собственного бизнеса или сайта) нужно осуществлять массовую рассылку. Заниматься этим вручную с использованием онлайн-сервисов или почтовых клиентов нет смысла хотя бы по той причине, что это занимает слишком много времени и сил. Поэтому можно поступить двояким способом - купить уже готовый настроенный SMTP-сервер или настроить его самому.

В первом случае, если приобретается «белый» сервер, это потребует весомых затрат, а также соблюдения всех условий разработчика или продавца. Можно, конечно, приобрести «серый» сервер, однако здесь нет гарантии, что он не будет внесен в спам-базы поисковых систем. Чревато это только тем, что тот же Yandex при поступлении писем с указанных источников будет просто фильтровать их и отправлять в раздел спама, а Mail.Ru и Google помечают корреспонденцию соответствующим индексом «спамности». Настройка же SMTP-сервера вручную выглядит и более надежной, и более экономной в плане финансовых затрат.

Для начала нужно приобрести сервер VPS с операционной системой Centos версии не ниже шестой. Сразу обратите внимание, есть ли возможность ввода записи PTR, которая позволит точно идентифицировать каноническое имя домена принимающим сервером.

Далее нужно установить панель Vesta. В качестве примера используем утилиту PuTTY, которую нужно скачать, установить и запустить. В настройках сразу прописываем IP-адрес сервера, далее жмем кнопку Open и прописываем логин root и пароль, предоставленный при покупке VPS-сервера.

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

curl -O http://vestacp.com/pub/vst-install.sh

bash vst-install.sh

Если возникает ошибка, решаем ее при помощи сочетания:

bash vst-install-rhel.sh —force

После этого вводим действительный адрес электронного ящика и название хоста. Через 5-10 минут панель установится.

https://IP сервера:8083

Возникает окно, где нужно ввести имя пользователя root и предоставленный пароль.

На следующем этапе регистрируем домен и переходим в панель параметров DNS, где меняем местами и A.

Ждем, пока произойдет обновление DNS-зон, и переходим на вкладку WEB в панели Vesta, где добавляем зарегистрированный домен.

После этого регистрируем аккаунты SMTP в разделе Mail. Для проверки в том же разделе используем вкладку Open Webmail. В появившемся окне EXIM-сервера вводим параметры созданного SMTP и отправляем пробное письмо. Если все нормально, можно себя поздравить.

Обратите внимание, что в некоторых случаях для массовой рассылки может потребоваться наличие цифровой подписи (не путать с записью PTR, которая отвечает только за подлинность домена или хоста). При ее отсутствии некоторые принимающие службы могут отнестись к рассылке недоверительно, а сама входящая корреспонденция будет помечена как сомнительная. Так что об этом нужно позаботиться заранее.

Вместо послесловия

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

On all versions of Windows Server, you can setup built-in SMTP server . This SMTP server inside the organization can serve as a mail relay receiving and sending SMTP messages from and to different devices (like senders, scanners, access control devices, etc.) and applications (web applications, SQL Reporting Services, SharePoint), which need an opportunity to send mail using an SMTP service. It is not always rational to deploy a full-featured mail infrastructure, like Microsoft Exchange Server or other mail services.

In this article we’ll show how to install, configure and test the SMTP server on Windows Server 2012 R2 serving as a mail relay . This SMTP server can only send or forward e-mails, it doesn’t have any means to receive them.

How to Install SMTP Service in Windows Server 2012 R2

SMTP server is one of the system features that can be installed through Server Manager. To do it, open Server Manager Dashboard (servermanager.exe), go to Add roles and features and check SMTP Server when you select the features. To manage the SMTP service, install management consoles, being a part of Web Server (IIS) role, so you will be prompted to install some IIS components.

Leave all the suggested options of Web Server (IIS) role and run installation.

After the components are installed, you may need to restart your computer.

SMTP Server Configuration

The SMTP server is still managed using the old school management console Internet Information Services (IIS) Manager 6 . You can open this console in Server Manager: Tools-> Internet Information Services (IIS) 6.0 Manager or with the command inetmgr6.exe

In IIS 6 Manager unfold the branch with your server name, right-click SMTP Virtual Server and open its properties.

In the General tab, if necessary select the IP address, the SMTP server to respond to, and check Enable logging.

Then go to the Access tab.

Here click Authentication and make sure that the Anonymous access is enabled.

Go back to the Access tab and click Connection . Here you can specify, which devices can send e-mails using our relay. To do it, check Only the list below and enter the list of IP addresses, don’t forget about yourself (127.0.0.1).

Note . As a general rule, it’s worth to check this option and limit the list of accepted devices with the range of IP addresses. Otherwise, your SMTP server may be used by spammers and other hackers as an open relay.

Go to the Messages tab. Here the administrative e-mail address is specified, to which the copies of NDR messages will be delivered, as well as the restrictions of the maximum e-mail size and the number of recipients.

Go to the Delivery tab.

Then click Outbound Security . Here you specify the way of authentication on the external mail server. For example, if all e-mails will be forward to Gmail mail server and then resent to the recipients, check Basic authentication and specify the login and password of your Gmail mailbox (In Google account settings should be allowed to send mail through their SMTP servers).

Then click Advanced .

Here you specify the FQDN name of your SMTP server. Click Check DNS to make sure if the DNS record is correct.

If your server sends mail to an external SMTP server, specify its name in Smart host field (e. g., smtp.gmail.com ).

Save the settings of the SMTP server.

Note .

  1. DNS settings are critical from the point of view of mail system availability. If your SMTP server cannot resolve names, to which e-mails are sent, the delivery won’t be possible.
  2. If your server sends mail to other domains, it is important that the correct PTR record is created for your IP address to resolve reverse DNS lookup. The PTR record for an external IP address has to point at the FQDN name. Otherwise, most external SMTP servers won’t get mail from you, considering your server a spammer one.

SMTPSVC Automatic Start up

Now you only have to configure the automatic startup of your SMTP server. You can do it quickly using PoSh command prompt:

set-service smtpsvc -StartupType Automatic

Start the service:

start-service smtpsvc

Make sure that SMTPSVC is running:

get-service smtpsvc

Status Name DisplayName
-- -- ----
Running smtpsvc Simple Mail Transfer Protocol (SMTP)

SMTP Server Testing

The last thing you have to do is to make sure that your SMTP server is working. It is easier to do it by creating a plain-text file smtp-test-email.txt on your desktop and copying the following text to it. Don’t forget to change the sender and recipient names to yours.

From: [email protected]
To: [email protected]
Subject: Email test
This is the test email

Copy smtp-test-email.txt to C:\inetpub\mailroot\Pickup . SMTP server monitors new files appearing in this folder, and if a file is found it will read it and try to send an e-mail with the given subject and body to the recipient specified in the To: line.

Check the recipient mailbox, and you will see this e-mail.

Tip . You can also test the work of your SMTP server using telnet command prompt, VBS script or PowerShell:

Send-MailMessage -SMTPServer localhost -To [email protected] -From [email protected] -Subject "Email test" -Body " This is the test email from PowerShell"

So we have configured our own SMTP mail relay in Windows Server 2012 R2 and and tested sending messages through it.

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

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

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

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

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

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

Настройка SMTP сервера

Управляется 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 сервер и включите ведение логов Enable logging (чтобы сохранялась информация обо всех отправленных письмах).

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

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

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

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

Переходим на вкладку Messages . Здесь указывается административный email, куда будут приходить копии NDR сообщений и ограничения на максимальный размер писем и количество получателей.

Переходим на вкладку Delivery :

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

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

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

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

Сохраняем настройки SMTP сервера.

Примечание . 1. Настройки DNS критичны с точки зрения работоспособности почтовой системы. Если ваш SMTP сервер не может разрешить DNS имена, на которые он пытается отправить письма, доставка не удастся.

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

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

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

set-service smtpsvc -StartupType Automatic

Запустим службу:

start-service smtpsvc

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

get-service smtpsvc

Status Name DisplayName
—— —- ————
Running smtpsvc Simple Mail Transfer Protocol (SMTP)

Тестирование SMTP сервера

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

From: [email protected]
To: [email protected]
Subject: Email test
This is the test email

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

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

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

— две для хостинга сайтов, третья под MS SQL. Поскольку основная деятельность компании заключается в разработке веб-приложений под заказ, то на хостинговых серверах работают десятки клиентских сайтов. В основном это WordPress сайты, несколько интернет-магазинов, и сайты на системе управления собственной разработки. Все эти приложения объединяет одно — необходимость использования почты для отправки сообщений. Это сообщения через формы связи на сайте или оповещения интернет-магазинов. Естественно для этого нужен SMTP.

Проблема

До тех пор, пока мы не использовали Windows Azure, компанией была приобретена лицензия на SmarterMail . Он до сих пор исправно служит, находясь на виртуальной машине у одного из хостинг-провайдеров. Его-то мы и используем для отправки сообщений из приложений. Но существует одна проблема с безопасностью. Например, для отправки сообщений из WordPress, приходится устанавливать специальный плагин, ибо, находясь на платформе Windows, отправить сообщение средствами PHP невозможно. Используем WP Mail SMTP . Он позволяет настроить отправку через любой SMTP сервер. Все работает как часы. Вместе с тем, все настройки по подключению к нашему почтовому серверу открыты и доступные нашим клиентам и веб-мастерам, которые берутся обслуживать их сайты. А значит и параметры подключения к нашему серверу — логин и пароль, им доступны. Так почему же мы до сих пор не используем localhost ?

Как оказывается не все так просто с настройкой службы SMTP на Windows Server. Инструкция по его включению, конечно же, есть. В принципе, и без инструкции все достаточно понятно до тех пор, пока не попробуешь отправить сообщение. Не работает!

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

Как всегда это и бывает, в официальной документации все написано лишь поверхностно. Решение проблемы приходится искать по форумам. К счастью, все было найдено, проверено, и теперь локальная служба SMTP работает исправно. Вот как это было…

Включаем компонент SMTP

В первую очередь необходимо включить службу SMTP в роли сервера. Делаем по шагам. Далее все примеры и инструкции применительно к русской версии Windows Server 2012.

  1. Открываем на сервере «Диспетчер серверов».
  2. В меню выбираем «Управление — Добавить роли и компоненты».
  3. В диалоговом окне мастера на закладке «Тип установки» жмем «Далее» до самой закладки «Компоненты».
  4. В списке компонентов отмечаем «SMTP Server».
  5. Подтверждаем и дожидаемся окончания настройки.

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

Запускаем службу протокола SMTP

Как это не странно звучит, но по умолчанию в Windows Server 2012 служба протокола SMTP не запущена. У нее установлен тип запуска «Вручную». Включим на автоматический запуск.

  1. В «Диспетчере серверов» в меню выбираем «Средства — Службы».
  2. Находим в службах «Протокол SMTP», открываем двойным щелчком, и выбираем тип запуска «Автоматический». Сохраняем. Запускаем службу.

Настройка сервера SMTP

Опять нам недостаточно всего того, что сделано выше. Не будет работать отправка почты. Нужно настроить сервер. Догадаться это сделать каким-то более современным способом невозможно. Его настройку необходимо делать из «Диспетчера служб IIS 6.0». Да, именно версии 6.0, а не 7.0, не 7,5 и не 8.0.

  1. В «Диспетчере служб» обнаруживаем виртуальный сервер «SMTP Virtual Server #1». Правой кнопкой мыши вызываем меню, выбираем «Свойства».
  2. На вкладке «Общие» включим ведение журнала, и укажем место расположения файла журнала. Полезно будет смотреть, отслеживая ошибки или спамеров из числа собственных клиентов.
  3. На вкладке «Доступ» выбираем блок «Управление подключением», жмем кнопку «Подключение…».
  4. Вновь на вкладке «Доступ» выбираем блок «Ограничения ретрансляции», жмем кнопку «Ретрансляция…».
  5. В открывшемся окне добавляем в список компьютеров один компьютер с адресом 127.0.0.1. Сохраняем.
  6. Перезапустим на всякий случай виртуальный сервер SMTP. «Диспетчер служб IIS 6.0» можно закрыть.

Безопасность и брандмауэр

Тут все нормально. По умолчанию порт 25, который на нужен для работы с SMTP уже разрешен в правилах брандмауэра сервера. Доверимся ему!

Конечная точка Windows Azure

Последнее, что надо бы сделать еще, раз уж речь идет о виртуальной машине, которую мы запустили на Windows Azure, это добавить конечную точку для порта 25. Все вышесказанное можно применить независимо от использования облачного сервиса. Это касается любых вариантов настройки сервера. Этот же раздел полезен лишь тем, кто уже пользуется облачным сервисом Microsoft.

На текущий исторический момент добавление конечной точки делается в следующем порядке:

  1. В панели управления Windows Azure выбирайте свою виртуальную машину.
  2. В основной части окна переходите на раздел «Конечные точки».
  3. Внизу под списком конечных точек находим команду «Добавить».
  4. В открывшемся окне добавляем новую конечную точку.
  5. На втором шаге выберем из списка предопределенных конечных точек SMTP. Сохраняем. Через несколько секунд конечная точка будет добавлена.

Заключение

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

P.S. Пока я искал материалы для этой статьи, наткнулся на документ «Компоненты, удаленные или не рекомендуемые к использованию в Windows Server 2012 «. SMTP отнесли к устаревшим компонентам, которые однажды удалят из системы. Может это трудности перевода, но до конца мне не ясно, как нужно будет использовать предложенный System.Net.Smtp. Так что покой нам только снится!

Как-то мне, для работы, понадобилось написать инструкцию с подробным описанием установки почтового сервера и его настройки для Windows Server 2003. Хочется, что б польза от работы была максимальной, вдруг кому-то это будет интересно или полезно. Также я опишу как поюзать свой почтовый сервер. Пост рассчитан чисто для людей, которые ни разу этого не делали и не видели.И так, поехали.....Для того, что б добавить почтовый сервер на свою систему, надо установить соответствующую роль. Откройте окно “Manage Your Server” и нажмите “Add or remove a role”. Весь функционал сервера задается ролями. Подробно о ролях, которые доступны, можно почитать .Я не буду писать об окнах, где надо просто нажать “Next”[:)].В окне ниже видно весь список ролей, которые можно установить. Красным цветом я подсветил, какую роль надо выбрать.
Дальше надо ввести имя почтового домена, который вы создаете. Для примера я назвал именем dmail.com.
Будьте готовы к тому, что Windows Installer попросит вас об установочных файлах, так что подготовьте папку i386.После нажатия на кнопку “Finish” можно приступать к созданию учетной записи.
В окне “Manage Your Server” вы увидите новую добавленную роль Mail Server. Нажмите рядом нее “Manage this mail server”.
В дереве ниже найдите ваш домен и кликните по нему правой кнопкой мышки, дальше New->Mailbox, как показано на картинке.Для примера я создал почтовый ящик с именем test. Также для него надо задать парольПосле нажатия на кнопку OK будет создана новая учетная запись. Для проверки работы учетной записи я расскажу как настроить OutlookExpress.Запустите OutlookExpress. Он попросит вас настроить учетную запись. Заполняем поля которые он показывает[:)].
Вводите адрес, который недавно создали.
Так как почтовый клиент настраивается на той же машине что и установлен почтовый сервер, то можно ввести имя компьютера в качестве POP3 и SMTP серверов.В поле “Account name” надо написать полный адрес почтового ящика.
В принципе это все, теперь можете послать письмо самому себе на адрес