diff --git a/unipay/providers/transfer.py b/unipay/providers/transfer.py index 14f4d45..ecd9abc 100644 --- a/unipay/providers/transfer.py +++ b/unipay/providers/transfer.py @@ -176,7 +176,7 @@ class TransferGateway(Gateway): try: mail_date = parsedate_to_datetime(mail_date_str) if mail_date < cutoff: - continue + break # 从新到旧扫描,遇旧邮件停止 except: continue else: @@ -265,19 +265,16 @@ class TransferGateway(Gateway): idx = str(i) mail_date_str = getattr(mail, 'date', None) - skip_date = False if mail_date_str: try: mail_date = parsedate_to_datetime(mail_date_str) if mail_date < cutoff: - skip_date = True + debug('mail[' + idx + '] date=' + str(mail_date_str) + ' older than 2 days, stop scanning') + break # 从新到旧扫描,遇到旧邮件后面都更旧 except Exception as de: debug('mail[' + idx + '] date parse error: ' + str(mail_date_str) + ' -> ' + str(de)) else: - debug('mail[' + idx + '] no date header, skipping date filter') - skip_date = True # 没有日期头的邮件跳过 - if skip_date: - debug('mail[' + idx + '] date=' + str(mail_date_str) + ' older than 2 days or no date, skip') + debug('mail[' + idx + '] no date header, skip') continue from_addr = getattr(mail, 'mailfrom', '?')