FreeBSD 8 статус почтового журнала, что они означают?

Я новичок в некоторых вопросах, связанных с сервером, и мне нужно немного помочь понять, что говорит файл /var/log/maillog.

Я отправил 200 электронных писем на электронную рассылку. В файле "maillog" я показываю некоторые электронные письма, в которых написано "status=sent", "status=deferred", "status=Accepted for delivery", "status=sent (Сообщение обработано для доставки)", "status=sent (Сообщение"). Принято).

Что на самом деле означает этот статус? Другими словами, я предполагаю, что сообщение с сообщением "Сообщение принято" означает, что получатель действительно прочитал письмо, правильно?, однако письмо, которое только что "отправило" или "запрос на доставку", еще не дошло до получателя?

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

Спасибо за любые советы или рекомендации.

2 ответа

Решение

Само значение статуса не так ценно, как данные в скобках, которые непосредственно следуют за ним, что дает лучшее описание того, что происходит.

"Сообщение поставлено в очередь для доставки" - это означает, что транзакция между вашим сервером и целевым сервером еще не произошла для этого конкретного сообщения, обычно это означает, что что- тотолько что отправило сообщение, и ваш SMTP-сервер подтверждает его существование

"Сообщение принято" - это означает, что сервер-получатель подтверждает, что сообщение было получено на его конце. (Это не означает, что прочитано)

"Отклонено" - это обычно означает, что что-то пошло не так - либо электронное письмо было отклонено с целевого почтового сервера, потому что адрес электронной почты не существует, либо оно может быть отклонено из-за того, что он находится на RBL. Это также означает, что электронное письмо НЕ будет доставлено и больше не будет обрабатываться сервером. АКА: Сообщение мертво в воде.

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

Другие вещи, вот пример строки журнала из моего mail.log:

postfix/qmgr[32131]: 3858792A80: from=<foo@domain.com>, size=757, nrcpt=1 (queue active)
postfix/smtp[32135]: 3858792A80: to=<foo@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.91.27]:25], delay=8, delays=8/0.01/0.4/1.5, dsn=2.0.0, status=sent (250 2.0.0 OK
 1307169606 6si4629303qcd.120)

relay = gmail-smtp-in.l.google.com [74.125.91.27]: 25] = целевой SMTP-сервер для адреса электронной почты "до"

задержки =0,08/0,01/0,4/1,5 =

  • 0.08s = время от прибытия сообщения до последней активной очереди
  • 0.01s = время от последней записи активной очереди до настройки соединения
  • 0,4 с = время для согласования соединения (EHLO и т. Д.)
  • 1,5 с = время, потраченное на передачу всего сообщения

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

Ответ Рованджу неверен в некоторых важных частях.

Запись статуса отправлено означает, что удаленный сервер принял сообщение. Все остальное означает, что оно все еще на вашем сервере или никуда не денется. Отложено означает, что временная ошибка, по-видимому, произошла, отказов означает, что сообщение никуда не отправляется, но уведомление отправлено или будет отправлено исходному отправителю. Существует дополнительный статус удержания, но вы увидите, что только если вы указали своему экземпляру postfix выполнить действие удержания, и это требует изменений конфигурации.

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

Удаленный сервер, принимающий его, не имеет никакого отношения к прочитанному сообщению или нет. Это будет "квитанция о прочтении" и фактически будет другим электронным письмом, возвращаемым отправителю, информирующему их. И это произойдет только в том случае, если удаленный сервер, который обрабатывает отображение почты пользователю (который может не являться сервером, на который вы его доставляете), способен и настроен для них, и клиент, который использует читатель, позволяет это.

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

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

Строки состояния регистрируются клиентом stmp в postfix, принятие сообщения по postfix выполняется smtpd. Вы также можете легко заметить разницу, посмотрев postfix/smtp или postfix/smtpd в записи журнала. Первый - постфикс, отправляющий сообщение, а второй - постфикс, принимающий его.

Сообщение о статусе имеет более высокий приоритет в отношении важности, поскольку оно указывает на статус. Остальное - просто объяснение или дополнительная информация о статусе. Если вы просто хотите узнать, какой статус у данной транзакции, тогда вам нужно знать слово после статуса =. Однако обратите внимание, что если в конкретном письме есть получатели, которые отправляются в разные пункты назначения, такие как один получатель в Yahoo, а другой в Gmail, то каждая попытка доставки будет иметь статус. Кроме того, отложенное сообщение будет иметь как минимум две записи статуса - начальную отсрочку и конечный результат. Это может привести к десяткам попыток доставки.

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

Если вы собираетесь использовать ретранслятор postfix, было бы разумно посетить postfix.org и ресурсы postfix, такие как список рассылки и / или The Book of Postfix. Есть легкие ловушки, с которыми вы можете столкнуться, когда пытаетесь отправить массовую электронную почту. Хотя следить за вашими журналами - хорошая идея, лучший способ научиться - это использовать сообщество postfix, а также сообщество анализа журналов. Изучение работы postfix избавит вас от многих вопросов о логах. Это будет гораздо полезнее для вас, чем просто наблюдать за происходящим, так как тогда вы сможете просматривать журналы и либо узнавать, что не так, либо знать, с чего начать. И что-то пойдет не так.

ура

Другие вопросы по тегам