Как я получаю журнал сеанса SMTP в Exim?

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

4
задан 31 December 2012 в 14:10
4 ответа

Вы можете легко просмотреть команды, полученные от удаленной системы, с помощью нескольких добавлений ACL:

# Global hosts setting, list of IP addresses you want to see SMTP commands
hostlist debug_hosts = xxx.xxx.xxx.xxx : yyy.yyy.yyy.yyy

# early in acl_smtp_helo
warn hosts     = +debug_hosts
     log_write = DEBUG: $smtp_command

# early in acl_smtp_mail
warn hosts     = +debug_hosts
     log_write = DEBUG: $smtp_command

# early in acl_smtp_rcpt
warn hosts     = +debug_hosts
     log_write = DEBUG: $smtp_command

Но если вы хотите увидеть в записывает то, что говорит ваша сторона, это невозможно внутри exim. Затем ваши возможности ограничиваются любыми средствами сетевой отладки, предоставляемыми системой, такими как tcpdump, tshark или (мой любимый) ngrep.

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

# ngrep -q port 25 host 208.54.85.254
<snip>
T 208.54.85.254:15084 -> 208.89.138.22:25 [AP]
  AUTH PLAIN kkvdsoirDSAasdfrASDF4swSD23DAGAG6893Mgss==..                            

T 208.89.138.22:25 -> 208.54.85.254:15084 [AP]
  535 Incorrect authentication data..

Надеюсь, что один из них окажется для вас полезным.

невозможно внутри exim. Затем ваши возможности ограничиваются любыми средствами сетевой отладки, предоставляемыми системой, такими как tcpdump, tshark или (мой любимый) ngrep.

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

# ngrep -q port 25 host 208.54.85.254
<snip>
T 208.54.85.254:15084 -> 208.89.138.22:25 [AP]
  AUTH PLAIN kkvdsoirDSAasdfrASDF4swSD23DAGAG6893Mgss==..                            

T 208.89.138.22:25 -> 208.54.85.254:15084 [AP]
  535 Incorrect authentication data..

Надеюсь, что один из них окажется для вас полезным.

невозможно внутри exim. Затем ваши возможности ограничиваются любыми средствами сетевой отладки, предоставляемыми системой, такими как tcpdump, tshark или (мой любимый) ngrep.

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

# ngrep -q port 25 host 208.54.85.254
<snip>
T 208.54.85.254:15084 -> 208.89.138.22:25 [AP]
  AUTH PLAIN kkvdsoirDSAasdfrASDF4swSD23DAGAG6893Mgss==..                            

T 208.89.138.22:25 -> 208.54.85.254:15084 [AP]
  535 Incorrect authentication data..

Надеюсь, что один из них окажется для вас полезным.

7
ответ дан 3 December 2019 в 02:45

Возможно, это не то, что вам нужно, но wirehark / tshark отлично подходит для этого. В командной строке:

tshark -w exim.pcap -i <interface> host <target IP>

Затем откройте файл в Wireshark, и вы сможете просмотреть весь SMTP-диалог на досуге: щелкните правой кнопкой мыши один соответствующий пакет и выберите «Просмотреть TCP-разговор».

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

2
ответ дан 3 December 2019 в 02:45

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

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

exim -bhc 93.184.216.34
EHLO mysender.example.com
MAIL FROM:<postmaster@yoursmtp.com>
RCPT TO:<eg@example.com>
DATA
.

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

[Взято из https://github.com/Exim/exim/wiki/TroubleShooting]

0
ответ дан 3 December 2019 в 02:45

Для этого может быть полезен спецификатор управления ACL debug , например вы можете использовать тот же подход, что и в ответе выше , но используя

control = debug/opts=+all

вместо logwrite . Обратите внимание, что по умолчанию выходные данные поступают в файл debuglog в каталоге журнала, т.е. что-то вроде / var / log / exim4 / debuglog .

0
ответ дан 3 December 2019 в 02:45

Теги

Похожие вопросы