Код: Выделить всё
Oct 3 15:30:18 mail1 postfix/lmtp[5369]: DB10242054: to=, orig_to=, relay=ip[ip]:port, delay=1.4, delays=0.04/0/0.01/1.4, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[iP]:port): 250 2.0.0 Ok: queued as 4580B4208C)
Oct 3 15:30:18 mail1 postfix/smtp[5175]: 4580B4208C: to=, relay=XXXXX[IP]:port, delay=0.52, delays=0.02/0.01/0.27/0.22, dsn=2.0.0, status=sent (250 2.0.0 OK 1412343018 rr9si6866736lbb - gsmtp)
Oct 3 15:33:57 mail1 amavis[5542]: (05542-09) Passed CLEAN {RelayedInbound}, [ip]:port [ip] -> , Message-ID: , mail_id: XXXXX, Hits: -1.899, size: 6483, queued_as: 806A24207B, 1483 ms
Oct 3 15:33:57 mail1 postfix/lmtp[6694]: F1FDD41F9D: to=, orig_to=, relay=ip[ip]:port, delay=1.7, delays=0.18/0/0.01/1.5, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 806A24207B)
Код: Выделить всё
message from:
message to:
sent at:
status:
Моя идея:
- сначала выполните поиск по одному адресу электронной почты в файле;
- "сохраните" все совпавшие строки в новом списке (чтобы тогда я смогу перебирать меньший список);
Мой код теперь выглядит:
Код: Выделить всё
lines = []
queue_id = []
f_h = open('/path_to_/maillog', 'r')
def Find_Email(pattern,text):
email = re.search(pattern, text)
if email:
lines.append(text)
q_id = re.search('[A-F0-9]{10}', text)
print text,
if q_id:
queue_id.append(q_id.group())
for line in f_h:
Find_Email(r'recipient@gmil.com',line)
Подробнее здесь: https://stackoverflow.com/questions/262 ... -in-python