2017-11-07 1 views
-1
  try: 
      if not self.check_smtp_connected("main", self.sender_addr): 
       self.close("main", self.sender_addr) 
       if not self.connect("main", self.sender_addr): 
        self.last_error = "req_id:%d,connect to %s main failed" % (mail_id, self.name) 
        raise Exception("req_id:%d,connect to %s main failed" % (mail_id, self.name)) 
      sender_addr = parseaddr(self.msg['From'])[1] 
      recv_addr = parseaddr(self.msg['To'])[1] 
      self.smtp_conns[self.sender_addr].sendmail(self.msg['From'], self.msg['To'], self.msg.as_string()) 
     except Exception as e: 
      glogger.warning("req_id:%d,send mail by %s failed, error: %s" % (mail_id, self.name, str(e))) 
     else: 
      sent_succ = True 
      break 

check_smtp_connected 사용 무 조작() [0] SMTP 서버로의 연결을 확인하는 것이다. req_id : 실패 7066283는, 오류, tx_smtp로 메일을 보내 :smtplib.SMTP.sendmail 인상 예외는 있지만 STR ('OK'(250))

처음으로 내가 얻을 그것은 깨진, 그래서 예외 아웃 시간 후 나는 연결을 확인 check_smtp_connected 사용하십시오

을 시간이 초과되었습니다.

두 번째로 내가 얻을 : req_id : 7066283, tx_smtp로 메일을 보내이 오류 실패 : (250, '확인') 그래서 예외가있다 (250, '확인')

나는 소스 코드를 읽을 이 예외를 발생시킬 지점을 찾을 수 없습니다.

그래서 나는 크게 혼란스러워합니다. 그리고 결과는 내 사서함 두 메일을 얻을

+1

문제를 완전히 설명 할 수있는 코드를 게시하고 전체 추적과 함께 적절한 오류 설명을 작성하십시오. –

답변

0

내가 '시간 초과 = 3'smtplib 인수를 설정하고 메일이 너무 크기 때문에 내가 "시간 초과"처음 얻을,이 문제를 해결합니다. 나는이 메일을 실제로 두 번 받았지만 증명되지 않았기 때문에 처음으로 회신을받는 두 번째 시간을 추측합니다. 타임 아웃을 더 크게 설정하면 모든 것이 잘됩니다!