Smtp логи что это
Перейти к содержимому

Smtp логи что это

  • автор:

Как настроить логирование SMTP сессии?

Часть писем отправленных с сайта на почтовые ящики mail.ru не доходит. Как включить логирование SMTP сессии отправки писем? Нам нужно видеть что отвечают сервера mail.ru на попытку отправки писем.
Служба поддержки mail.ru просит: «. пришлите полный лог SMTP сессии отправки письма на адрес mail.ru. Указанный лог должен содержать несколько попыток отправки писем на почтовые ящики нашего постового сервиса, а так же полный ответ нашего сервера emx.mail.ru. «

  • Вопрос задан более трёх лет назад
  • 1953 просмотра

Как посмотреть логи на Exchange SMTP попыток отправить.

По заголовку письма я вижу что письма приходят с большой задержкой 2-3 часас момента отправки и выглядит это так как будто сервер отправителя просто отправил письмо на наш Exchange сервер спусты 3 часа. По всей видимости мне надо посомтреть лог коннектов SMTP и впринципи попыток отправить письма на сервер, чтобы понять причину, как мне это сделать. Exchange 2019

Administrator
Сообщений: 720 Баллов: 8901 Рейтинг: 0 Регистрация: 09.02.2011
23.06.2020 14:37:56

Решение:
1. Смотрим какой коннектор отвечает за получения писем:

В моем случае коннектор отвечающий за получение писем:
MX\Default Frontend MX True

2. Смотрим его параметры
[PS] C:\Windows\system32>Get-ReceiveConnector «MX\Default Frontend MX» | fl
Нас интересуют параметры:
ProtocolLoggingLevel : Verbose (означает что лог включен)
TransportRole : FrontendTransport (показывает логи какой службы нам надо смотреть)

3. Смотрим логи нужной нам службы:
[PS] C:\Windows\system32>Get-FrontendTransportService | fl ReceiveProtocolLog*

ReceiveProtocolLogMaxAge : 30.00:00:00
ReceiveProtocolLogMaxDirectorySize : 250 MB (262,144,000 bytes)
ReceiveProtocolLogMaxFileSize : 10 MB (10,485,760 bytes)
ReceiveProtocolLogPath : C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpRece ­ive

Ну собственно тут логи: C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpRece ­ive

В моем случае проблема была в:
2020-06-23T10:39:10.458Z,MX\Default Frontend MX,08D81287B2532A5D,19,192.168.10.13:25,94.100.176.132:45416,>,354 Start mail input; end with .,
2020-06-23T10:39:10.479Z,MX\Default Frontend MX,08D81287B2532A5D,20,192.168.10.13:25,94.100.176.132:45416,*,,Proxy destination(s) obtained from OnProxyInboundMessage event
2020-06-23T10:39:10.507Z,MX\Default Frontend MX,08D81287B2532A5D,21,192.168.10.13:25,94.100.176.132:45416,>,452 4.3.1 Insufficient system resources,
2020-06-23T10:39:10.511Z,MX\Default Frontend MX,08D81287B2532A5D,22,192.168.10.13:25,94.100.176.132:45416,2020-06-23T10:39:10.511Z,MX\Default Frontend MX,08D81287B2532A5D,23,192.168.10.13:25,94.100.176.132:45416,>,221 2.0.0 Service closing transmission channel

Решение перезапуск 2х служб:
MSExchangeFrontEndTransport и MSExchangeTransport

Услуги Системного Администратора — Работаю только с Юр. Лицами по договору обслуживания.
Administrator
Сообщений: 720 Баллов: 8901 Рейтинг: 0 Регистрация: 09.02.2011
23.06.2020 15:06:38

Также лог можно из консоли в реальном времени мониторить:
[PS] C:\Windows\system32>Get-Content «C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\Prot
olLog\SmtpReceive\RECV20200623*.log» -Tail 50 -Wait | select-string «Insufficient»

2020-06-20T23:40:29.806Z,MX\Default Frontend MX,08D81287B252E72E,12,127.0.0.1:25,127.0.0.1:31903,>,452 4.3.1 Insuffici
nt system resources,Duration(ms):18
2020-06-20T23:45:29.870Z,MX\Default Frontend MX,08D81287B252E73C,12,127.0.0.1:25,127.0.0.1:32364,>,452 4.3.1 Insuffici
nt system resources,Duration(ms):28
2020-06-20T23:55:30.140Z,MX\Default Frontend MX,08D81287B252E758,12,127.0.0.1:25,127.0.0.1:33240,>,452 4.3.1 Insuffici
nt system resources,Duration(ms):36

Как посмотреть smtp логи exchange

exchange smtp log tail

Чем мне нравится Linux так это простыми и удобными консольными инструментами. Такими например как tail и grep с помощью которых очень удобно смотреть лог-файлы. Я постоянно пользуюсь именно этими двумя командами для анализа протокола почтового сервера в Linux. К сожалению в Microsoft Exchange эти команды отсутствуют и приходится искать альтернативные инструменты чтобы посмотреть например smtp логи exchange.

О чем речь

Собственно сразу оговорюсь, что речь идет исключительно о просмотре текстовых лог-файлов, в которые данные поступают постоянно построчно. В Linux с помощью команды tail можно вывести например только последние несколько строк либо введя команду tail -f /var/log/имялогфайла выводит на экран непрерывно все поступающие строки в реальном времени. Это очень удобно когда нужно отловить ошибку.

Вторая команда grep в самом примитивном применении (без использования регулярных выражений) позволяет фильтровать вывод той же команды tail, например, только строками содержащими определенный фрагмент. Например:

tail -f /var/log/mail.log | grep user@mail.ru

Такая команда будет выводить непрерывно в реальном времени все строки почтового лога в которых указан адрес user@mail.ru. Либо тот же grep можно использовать в аналогичной конструкции с командой cat для поиска по всему лог-файлу:

cat /var/log/mail.log | grep user@mail.ru

Вот примерно такого же простого функционала хотелось найти и для анализа лог-файлов Exchange. Конечно приведенные в статье примеры вы можете использовать не только для анализа лог-файлов smtp сервиса exchange, но и для анализа любых других текстовых данных, например логов web-сервера и т.п.

PowerShell для просмотра log файлов

Первым приходит на ум использование команд из PowerShell. Первая же команда заменяет сразу и tail и cat, а имя ей Get-Content. В самом простом применении она выведет все содержимое файла на экран:

get-content c:\log\smtp.log

Если мы хотим вывести например только несколько последних строк то добавим ключ -tail.

get-content c:\log\smtp.log -tail 10

Данная команда выведет 10 последних строк. Если необходимо выводить непрерывно все вновь поступающие данные, то добавим ключ -Wait.

get-content c:\log\smtp.log -Wait

Следующая команда позволяет фильтровать содержимое по части строки почти так же как это делает grep. Имя этой команды Select-String. Выполняется она примерно следующим образом:

get-content c:\log\smtp.log | select-string "user@mail.ru"

Данный пример находит все строки в лог файле содержащие user@mail.ru и выводит их на экран. Если необходимо чтобы данные выводились в реальном времени то добавляем ключ -wait как было показано в предыдущем примере.

get-content c:\log\smtp.log -wait | select-string "user@mail.ru"

Вот пожалуй самые близкие аналоги tail и grep в Windows Power Shell. Преимущество использования этих команд в том, что они уже предустановлены в системе и вам не надо ничего придумывать. Но есть конечно и альтернативные варианты с более удобным функционалом.

Сторонние приложения для просмотра log-файлов в Windows

Речь идет о сторонних аналогах команды tail. Наиболее удобным мне показался вариант Tail fro windows, который вы можете найти на сайте https://sourceforge.net/projects/wintail/. Преимущество данной команды в том, что она умеет открывать в одном окне несколько log файлов, а так же умеет подсвечивать выводимые строки по найденному участку, это порой удобнее чем фильтровать.

wintail для просмотра логов в windows

Использовать программу очень просто. Достаточно скачать ее, положить в папку на сервере, затем запускать например wintail.exe «путь\к\лог\файл.log». В меню Highlighing можно указать достаточное количество шаблонов по которым подсвечивать нужные строки. Все файлы автоматически открываются с отмеченной галочкой Follow tail, и отображают поступающие данные в реальном времени.

Смотрим последние SMTP логи Exchange в одном окне

Ну и на последок написал для себя небольшой скрипт запуска wintail, который отображает сразу 2 актуальных лога smtp службы Exchange. Используется на Exchange 2013/2016 но вы можете адаптировать его под свои нужды.

$DATE=Get-Date -UFormat "%Y%m%d" c:\prg\WinTail.exe "C:\program files\microsoft\exchange server\v15\transportroles\logs\frontend\protocollog\smtpreceive\recv$DATE-1.log" "C:\program files\microsoft\exchange server\v15\transportroles\logs\frontend\protocollog\SmtpSend\SEND$DATE-1.log"

Отредактируйте пути согласно вашим настройкам. Сохраните этот файл с расширением ps1 например на рабочем столе сервера и запускайте просмотр лога smtp службы exchange в пару кликов.

SMTP (simple mail transfer protocol)

В Unisender есть все для рассылок: можно создавать и отправлять клиентам письма и SMS, настроить чат-бота и делать рассылки в Telegram и даже собрать простой лендинг для пополнения базы контактов.

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

Иногда протокол SMTP путают с IMAP или POP. Но между ними есть существенная разница. SMTP применяют для пересылки писем, тогда как POP или IMAP используют для обработки этих писем после получения.

Схема отправки письма по протоколу SMTP

Схема отправки письма по протоколу SMTP

SMTP-сервер — сервер, который работает по протоколу SMTP. Его главная задача выступать ретранслятором (передатчиком) между серверами отправителя и адресата. Каждый SMTP-сервер обладает собственным адресом в формате smtp.serveraddress.com. Это позволяет безошибочно определять нужный сервер при пересылке почты.

Как происходит отправка почты через SMTP

Протокол SMTP работает по несложному набору правил:

  • При отправке письма указывают отправителя и получателя.
  • Сервер направляет запросы обеим сторонам, чтобы убедиться в их существовании.
  • Сообщение передаётся по указанному адресу.

Функционал SMTP ограничивается доставкой писем. На стороне адресата электронное письмо извлекается с помощью POP и IMAP.

Отправка писем по SMTP происходит через получение ответов на команды:

  • MAIL FROM — адрес отправителя;
  • RCPT TO — адрес получателя;
  • DATA — содержание сообщения.

Пошагово отправка письма по SMTP выглядит так:

  1. Сервер отправителя получает необходимую информацию и ищет сервер на стороне получателя, чтобы передать ему письмо: по email адресата определяет почтового провайдера и запрашивает IP-адрес SMTP-сервера получателя.
  2. Сервер выполняет соединение по порту 25 и передаёт письмо серверу получателя.
  3. При отсутствии ответа сервера со стороны получателя происходит ещё несколько попыток установить соединение. Если ответа нет, сервер отправителя вернёт ошибку отправки.

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

Для работы по протоколу SMTP стандартно применяют 25 порт. Но во избежание спам-рассылок провайдеры могут закрыть к нему доступ. Тогда его заменяют дополнительными портами:

  • 465 — применяют для создания защищенного SSL-соединения;
  • 587 — используют для предотвращения исходящего спама за счёт обязательной аутентификации отправителя.

Какие типы SMTP-серверов существуют

Все SMTP-серверы условно разделяют на два типа:

  • Обычные, предназначенные для отправки личной почты. Такие серверы чаще всего принадлежат провайдерам интернет-сетей, веб-хостингов либо электронной почты. Отличительная черта — ограничение по объёму писем. Обычно у каждого провайдера есть установленный дневной лимит.
  • Выделенные серверы ретрансляции SMTP, применяемые для массовых рассылок и отправки транзакционных писем. Через эти серверы можно рассылать миллионы писем, не опасаясь блокировки IP.

Также SMTP-серверы можно классифицировать в зависимости от источника. Сервер для отправки писем могут предоставить:

  • Интернет-провайдеры. Такой сервер не придется настраивать. Однако провайдеры обычно ограничивают количество писем и скорость отправки. Лимит писем, как правило, определяется тарифом.
  • Бесплатные почтовые сервисы. Большинство почтовых сервисов разрешают отправку сообщений по SMTP — Yandex, Gmail, Yahoo. Для эксплуатации сервиса потребуется авторизация с паролем и логином аккаунта. В настройках почтового клиента необходимо указать порт и тип шифрования. Этим способом получится настроить сервер даже на мобильном телефоне. Однако лимиты достаточно малы для массовых рассылок — в среднем 150-500 писем в сутки.
  • Хостинг-провайдеры. Располагая сайтом, можно воспользоваться сервером хостинга. Однако если с IP, который могут использовать несколько сотен сайтов, будет идти спам, почтовые службы заблокируют адрес. Если вы хотите получить полную управляемость, защиту от блокировок и выделенный IP, арендуйте у провайдера виртуальный SMTP-сервер (VPS).
  • Транзакционные email-сервисы. Данные сервисы позволяют отправлять письма через SMTP с сайта, из CRM-системы или другого веб-приложения. Достаточно зарегистрировать учётную запись и указать в нужной системе сервис в качестве отправителя.

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

К примеру, Unisender Go, сервис транзакционных рассылок от Unisender, позволяет отправлять миллионы писем через SMTP-сервер. Для отправки рассылок нужно всего лишь указать хост, логин и пароль.

Преимущества SMTP для email-маркетинга

Высокая доставляемость. Во избежание спама провайдеры могут блокировать отправку почты или ограничивать количество писем с одного почтового ящика. При использовании SMTP вероятность блокировки снижается за счёт обязательной авторизации пользователя. Обычно для авторизации применяют логин и пароль от учётной записи пользователя в конкретном сервисе или аккаунте.

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

Не нужно устанавливать дополнительное программное обеспечение. Для запуска достаточно понимать принцип работы протокола и знать необходимый набор команд.

Детальные отчёты о доставке писем и возникающих ошибках. К примеру, ошибка на этапе передачи данных MAIL FROM означает, что ваш обратный адрес не понравился серверу получателя.

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

Низкая стоимость. Отправка писем через SMTP обойдётся в десятки раз дешевле в сравнении с отправкой сообщений через сервисы email-рассылок. Сервисы email-рассылок предоставляют дополнительные возможности для работы с письмами: конструкторы, шаблоны, автоматические цепочки, подробную аналитику. У SMTP-сервера лишь одна задача — доставить сообщение адресату. Когда вам требуется максимально оперативно доставить большое количество писем, например, транзакционных, лучше использовать SMTP.

Особенности применения SMTP

Несмотря на все плюсы SMTP-сервера, у него есть свои особенности, которые нужно учитывать:

  • Ограничения со стороны провайдера. Провайдер может заблокировать порт 25 с целью предотвращения спам рассылок из своей сети.
  • Проблемы с доставкой из-за грейлистинга. В процессе применения SMTP происходит множественный обмен запросами между серверами. Иногда сервер получателя перестаёт отзываться, подозревая спам. Включается автоматический фильтр спама (грейлистинг) и сервер отправителя прекращает попытки отправки. Вероятность грейлистинга нужно предусмотреть при настройке сервера. К примеру, в сервисах рассылок настраивают повторные отправки.
  • Потребность в доработке. Для отправки рассылок через SMTP-сервер его в большинстве случаев нужно настраивать. Мониторинг открытий и переходов, настройка заголовков и трек-пикселей, оперативное исправление ошибок — всё это потребует участия разработчиков.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *