From: Denis Ledoux Date: Tue, 4 Nov 2014 17:05:58 +0000 (+0100) Subject: [MERGE] forward port of branch saas-3 up to f7a76cb X-Git-Url: http://git.inspyration.org/?a=commitdiff_plain;h=fab2e29d50ba2409eabdb0c29c7750d48dc2306f;p=odoo%2Fodoo.git [MERGE] forward port of branch saas-3 up to f7a76cb --- fab2e29d50ba2409eabdb0c29c7750d48dc2306f diff --cc openerp/addons/base/ir/ir_mail_server.py index 30d9d88,73eb0f7..638eb38 --- a/openerp/addons/base/ir/ir_mail_server.py +++ b/openerp/addons/base/ir/ir_mail_server.py @@@ -153,9 -154,12 +154,12 @@@ class ir_mail_server(osv.osv) """Represents an SMTP server, able to send outgoing emails, with SSL and TLS capabilities.""" _name = "ir.mail_server" + NO_VALID_RECIPIENT = ("At least one valid recipient address should be " + "specified for outgoing emails (To/Cc/Bcc)") + _columns = { - 'name': fields.char('Description', size=64, required=True, select=True), - 'smtp_host': fields.char('SMTP Server', size=128, required=True, help="Hostname or IP of SMTP server"), + 'name': fields.char('Description', required=True, select=True), + 'smtp_host': fields.char('SMTP Server', required=True, help="Hostname or IP of SMTP server"), 'smtp_port': fields.integer('SMTP Port', size=5, required=True, help="SMTP Port. Usually 465 for SSL, and 25 or 587 for other cases."), 'smtp_user': fields.char('Username', size=64, help="Optional username for SMTP authentication"), 'smtp_pass': fields.char('Password', size=64, help="Optional password for SMTP authentication"), @@@ -400,15 -404,8 +404,15 @@@ email_bcc = message['Bcc'] smtp_to_list = filter(None, tools.flatten(map(extract_rfc2822_addresses,[email_to, email_cc, email_bcc]))) - assert smtp_to_list, "At least one valid recipient address should be specified for outgoing emails (To/Cc/Bcc)" + assert smtp_to_list, self.NO_VALID_RECIPIENT + x_forge_to = message['X-Forge-To'] + if x_forge_to: + # `To:` header forged, e.g. for posting on mail.groups, to avoid confusion + del message['X-Forge-To'] + del message['To'] # avoid multiple To: headers! + message['To'] = x_forge_to + # Do not actually send emails in testing mode! if getattr(threading.currentThread(), 'testing', False): _test_logger.info("skip sending email in test mode")