pop-before-smtp $ pat正则expression式for iFedmail中的Dovecot

我在邮件服务器(iredmail)中安装了pop-before-smtp。 我需要帮助来configuration$ pat来读取我的鸽子文件的模式。 鸽舍日志文件是这样的:

2011-05-14 14:01:21 pop3-login: Info: Login: user=<[email protected]>, method=PLAIN, rip=180.234.45.133, lip=66.165.162.157 2011-05-14 14:01:22 POP3([email protected]): Info: Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0 2011-05-14 14:01:52 pop3-login: Info: Login: user=<[email protected]>, method=PLAIN, rip=180.234.45.133, lip=66.165.162.157 2011-05-14 14:01:53 POP3([email protected]): Info: Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0 

pop-before-smtp脚本默认为Dovecot提供这种模式。 但这不适合我 没有3的模式。

 # For Dovecot POP3/IMAP when using syslog. $pat = '^[LOGTIME] \S+ (?:dovecot: )?(?:imap|pop3)-login: ' . 'Login: .*? (?:\[|rip=)[:f]*(\d+\.\d+\.\d+\.\d+)[],]'; $out_pat = '^[LOGTIME] \S+ (?:dovecot: )?(?:imap|pop3)-login: ' . 'Disconnected.*? (?:\[|rip=)[:f]*(\d+\.\d+\.\d+\.\d+)[],]'; # For Dovecot POP3/IMAP when it does its own logging. $logtime_pat = '(\d\d\d\d-\d+-\d+ \d+:\d+:\d+)'; $pat = '^dovecot: [LOGTIME] Info: (?:imap|pop3)-login: ' . 'Login: .+? rip=[:f]*(\d+\.\d+\.\d+\.\d+),'; $out_pat = '^dovecot: [LOGTIME] Info: (?:imap|pop3)-login: ' . 'Disconnected.*? rip=[:f]*(\d+\.\d+\.\d+\.\d+),'; # For older Dovecot POP3/IMAP when it does its own logging. $pat = '^(?:imap|pop3)-login: [LOGTIME] Info: ' . 'Login: \S+ \[[:f]*(\d+\.\d+\.\d+\.\d+)\]'; $out_pat = '^(?:imap|pop3)-login: [LOGTIME] Info: ' . 'Disconnected.*? \[[:f]*(\d+\.\d+\.\d+\.\d+)\]'; 

pop-before-smtp需要通过正则expression式从日志中读取IP。 请帮助我。 谢谢

我已经得到它与这个正则expression式格式:

 $pat = '^(\d\d\d\d-\d+-\d+ \d+:\d+:\d+) (?:imap|pop3)-login: Info: ' . 'Login: .*? (?:\[|rip=)[:f]*(\d+\.\d+\.\d+\.\d+)[],]';