[FIX] ir.mail_server: properly handle the --smtp-ssl command-line option + map it to STARTTLS as a safer default
bzr revid: odo@openerp.com-20130115124058-81kgv0cy9jp96ln4
This commit is contained in:
parent
ae99003380
commit
4eac510461
|
@ -370,7 +370,7 @@ class ir_mail_server(osv.osv):
|
|||
return msg
|
||||
|
||||
def send_email(self, cr, uid, message, mail_server_id=None, smtp_server=None, smtp_port=None,
|
||||
smtp_user=None, smtp_password=None, smtp_encryption='none', smtp_debug=False,
|
||||
smtp_user=None, smtp_password=None, smtp_encryption=None, smtp_debug=False,
|
||||
context=None):
|
||||
"""Sends an email directly (no queuing).
|
||||
|
||||
|
@ -388,7 +388,7 @@ class ir_mail_server(osv.osv):
|
|||
extracted from the combined list of ``To``, ``CC`` and ``BCC`` headers.
|
||||
:param mail_server_id: optional id of ir.mail_server to use for sending. overrides other smtp_* arguments.
|
||||
:param smtp_server: optional hostname of SMTP server to use
|
||||
:param smtp_encryption: one of 'none', 'starttls' or 'ssl' (see ir.mail_server fields for explanation)
|
||||
:param smtp_encryption: optional TLS mode, one of 'none', 'starttls' or 'ssl' (see ir.mail_server fields for explanation)
|
||||
:param smtp_port: optional SMTP port, if mail_server_id is not passed
|
||||
:param smtp_user: optional SMTP user, if mail_server_id is not passed
|
||||
:param smtp_password: optional SMTP password to use, if mail_server_id is not passed
|
||||
|
@ -436,7 +436,8 @@ class ir_mail_server(osv.osv):
|
|||
smtp_port = tools.config.get('smtp_port', 25) if smtp_port is None else smtp_port
|
||||
smtp_user = smtp_user or tools.config.get('smtp_user')
|
||||
smtp_password = smtp_password or tools.config.get('smtp_password')
|
||||
|
||||
if smtp_encryption is None and tools.config.get('smtp_ssl'):
|
||||
smtp_encryption = 'starttls' # STARTTLS is the new meaning of the smtp_ssl flag as of v7.0
|
||||
|
||||
if not smtp_server:
|
||||
raise osv.except_osv(
|
||||
|
@ -455,7 +456,7 @@ class ir_mail_server(osv.osv):
|
|||
return message_id
|
||||
|
||||
try:
|
||||
smtp = self.connect(smtp_server, smtp_port, smtp_user, smtp_password, smtp_encryption, smtp_debug)
|
||||
smtp = self.connect(smtp_server, smtp_port, smtp_user, smtp_password, smtp_encryption or False, smtp_debug)
|
||||
smtp.sendmail(smtp_from, smtp_to_list, message.as_string())
|
||||
finally:
|
||||
try:
|
||||
|
|
|
@ -205,7 +205,7 @@ class configmanager(object):
|
|||
group.add_option('--smtp-port', dest='smtp_port', my_default=25,
|
||||
help='specify the SMTP port', type="int")
|
||||
group.add_option('--smtp-ssl', dest='smtp_ssl', action='store_true', my_default=False,
|
||||
help='specify the SMTP server support SSL or not')
|
||||
help='if passed, SMTP connections will be encrypted with SSL (STARTTLS)')
|
||||
group.add_option('--smtp-user', dest='smtp_user', my_default=False,
|
||||
help='specify the SMTP username for sending email')
|
||||
group.add_option('--smtp-password', dest='smtp_password', my_default=False,
|
||||
|
|
Loading…
Reference in New Issue