2016-09-20 127 views
0

我想在odoo 9没有任何电子邮件模板发送电子邮件。我已经设置成功传出&传入邮件配置。 我的方案是在管理邮件别名电子邮件 的发送者,这是我的模型:如何发送电子邮件没有邮件模板odoo 9

class cashadvance(osv.osv): 
_name = 'comben.cashadvance' 
    _order = 'create_date DESC' 
    _columns = { 
     'user_target'    : fields.many2one('res.users', string='User Target'), 
     'mail_target'    : fields.char(string='Email Target'), 
    } 

的问题是,如何发送电子邮件使用功能mail_target场? 请帮助我

回答

2

您可以使用mail.thread型号直接发送邮件,方法是使用附在按钮上的以下代码。

@api.multi 
def send_mail(self): 
    user_id = self.user_target.id 
    body = self.message_target 

    mail_details = {'subject': "Message subject", 
     'body': body, 
     'partner_ids': [(user_target)] 
     } 

    mail = self.env['mail.thread'] 
    mail.message_post(type="notification", subtype="mt_comment", **mail_details) 

或者,你可以通过喇叭拿公牛和标准库中使用纯醇smtplib,(但那么你odoo配置将不再重要)。这个例子假设你使用的是Gmail。如果您不是,那么您必须填写邮件服务器的详细信息才能正常工作。

@api.multi 
def send_mail(self): 
    import smtplib 

    receivers_email = self.user_target.login 

    server = smtplib.SMTP('smtp.gmail.com', 587) 
    server.starttls() 
    server.login("your_email_address", "password") 

    message = self.message_target 
    server.sendmail("your_email_address", receivers_email, message) 

    server.quit() 

由于user_target是关系到res.users场可以从login领域获得的电子邮件

+0

HII @danidee,感谢您的快速答案,对不起我的反应迟缓。最后我选择smtplib来解决错误,并且它解决了机构,非常感谢你。 但我想知道如何在server.sendmail中添加邮件主题。我尝试在server.sendmail中添加参数主题(“your_email_address”,receivers_email,主题,消息),但没有成功 – yogakumboro

+0

'message =“Subject:%s \ n \ n%s”%('Your subject', self.message_target)' – danidee

相关问题