소스 검색

[minor] [smtp] propagate exceptions

version-14
Anand Doshi 11 년 전
부모
커밋
f88a0fbafb
2개의 변경된 파일13개의 추가작업 그리고 13개의 파일을 삭제
  1. +0
    -1
      webnotes/__init__.py
  2. +13
    -12
      webnotes/utils/email_lib/smtp.py

+ 0
- 1
webnotes/__init__.py 파일 보기

@@ -116,7 +116,6 @@ class DuplicateEntryError(Exception): pass
class ValidationError(Exception): pass
class AuthenticationError(Exception): pass
class PermissionError(Exception): pass
class OutgoingEmailError(ValidationError): pass
class UnknownDomainError(Exception): pass
class SessionStopped(Exception): pass
class MappingMismatchError(ValidationError): pass


+ 13
- 12
webnotes/utils/email_lib/smtp.py 파일 보기

@@ -12,6 +12,8 @@ from webnotes import conf
from webnotes import msgprint
from webnotes.utils import cint, expand_partial_links

class OutgoingEmailError(webnotes.ValidationError): pass

def get_email(recipients, sender='', msg='', subject='[No Subject]', text_content = None, footer=None):
"""send an html email as multipart with attachments and all"""
email = EMail(sender, recipients, subject)
@@ -108,7 +110,7 @@ class EMail:
try:
import startup
footer += getattr(startup, 'mail_footer', '')
except ImportError, e:
except ImportError:
pass
return footer
@@ -225,12 +227,12 @@ class EMail:
except smtplib.SMTPSenderRefused:
webnotes.msgprint("""Invalid Outgoing Mail Server's Login Id or Password. \
Please rectify and try again.""",
raise_exception=webnotes.OutgoingEmailError)
Please rectify and try again.""")
raise
except smtplib.SMTPRecipientsRefused:
webnotes.msgprint("""Invalid Recipient (To) Email Address. \
Please rectify and try again.""",
raise_exception=webnotes.OutgoingEmailError)
Please rectify and try again.""")
raise

class SMTPServer:
def __init__(self, login=None, password=None, server=None, port=None, use_ssl=None):
@@ -308,17 +310,16 @@ class SMTPServer:

return self._sess
except _socket.error, e:
except _socket.error:
# Invalid mail server -- due to refusing connection
webnotes.msgprint('Invalid Outgoing Mail Server or Port. Please rectify and try again.')
raise webnotes.OutgoingEmailError, e
except smtplib.SMTPAuthenticationError, e:
raise
except smtplib.SMTPAuthenticationError:
webnotes.msgprint("Invalid Outgoing Mail Server's Login Id or Password. \
Please rectify and try again.")
raise webnotes.OutgoingEmailError, e
except smtplib.SMTPException, e:
raise
except smtplib.SMTPException:
webnotes.msgprint('There is something wrong with your Outgoing Mail Settings. \
Please contact us at support@erpnext.com')
raise webnotes.OutgoingEmailError, e

raise

불러오는 중...
취소
저장