diff --git a/addons/smtpclient/smtpclient.py b/addons/smtpclient/smtpclient.py index eff5e240dff..1cd316d757c 100644 --- a/addons/smtpclient/smtpclient.py +++ b/addons/smtpclient/smtpclient.py @@ -68,7 +68,9 @@ class smtpclient(osv.osv): _columns = { 'name' : fields.char('Server Name', size=256, required=True), 'from_email' : fields.char('Email From', size=256), - 'email' : fields.char('Email Address', size=256, required=True, readonly=True, states={'new':[('readonly',False)]}), + 'email':fields.char('Email Address', size=256, required=True, readonly=True, states={'new':[('readonly',False)]}), + 'cc_to':fields.char('Send copy to', size=256, readonly=True, states={'new':[('readonly',False)]}), + 'bcc_to':fields.char('Send blank copy to', size=256, readonly=True, states={'new':[('readonly',False)]}), 'user' : fields.char('User Name', size=256, readonly=True, states={'new':[('readonly',False)]}), 'password' : fields.char('Password', size=1024, invisible=True, readonly=True, states={'new':[('readonly',False)]}), 'server' : fields.char('SMTP Server', size=256, required=True, readonly=True, states={'new':[('readonly',False)]}), @@ -386,7 +388,7 @@ class smtpclient(osv.osv): emailto = [emailto] ir_pool = self.pool.get('ir.attachment') - + for to in emailto: msg = MIMEMultipart() msg['Subject'] = tools.ustr(subject) @@ -420,7 +422,13 @@ class smtpclient(osv.osv): msg['X-OpenERP-Server-Host'] = socket.gethostname() msg['X-OpenERP-Server-Version'] = release.version msg['Message-Id'] = "<%s-openerp-@%s>" % (time.time(), socket.gethostname()) - + + if smtp_server.cc_to: + msg['Cc'] = smtp_server.cc_to + + if smtp_server.bcc_to: + msg['Bcc'] = smtp_server.bcc_to + #attach files from disc for file in attachments: part = MIMEBase('application', "octet-stream") @@ -442,8 +450,8 @@ class smtpclient(osv.osv): data = { 'to':to, 'server_id':server_id, - 'cc':False, - 'bcc':False, + 'cc':smtp_server.cc_to or False, + 'bcc':smtp_server.bcc_to or False, 'name':subject, 'body':body, 'serialized_message':message, @@ -499,7 +507,7 @@ class smtpclient(osv.osv): self.open_connection(cr, uid, ids, email.server_id.id) try: - self.smtpServer[email.server_id.id].sendmail(email.server_id.email, email.to, tools.ustr(email.serialized_message)) + self.smtpServer[email.server_id.id].sendmail(email.server_id.email, [email.to, email.cc, email.bcc], tools.ustr(email.serialized_message)) message = "message sent successfully to %s from %s server" % (email.to, email.server_id.name) logger.notifyChannel('smtp', netsvc.LOG_INFO, message) except Exception, e: diff --git a/addons/smtpclient/smtpclient_view.xml b/addons/smtpclient/smtpclient_view.xml index 1704afc23dc..503ad6fafa4 100644 --- a/addons/smtpclient/smtpclient_view.xml +++ b/addons/smtpclient/smtpclient_view.xml @@ -77,6 +77,12 @@ + + + + + +