Odoo 10:从 odoo 发送电子邮件
Odoo 10 : Sending Email from odoo
我继承了联系人模块,写了一个sendEmail函数:
def sendEmail(self,values):
_logger.error("sendEmail Called")
mail_pool = self.env['mail.mail']
values={}
values.update({'subject': 'Catastrophe in Odoo'})
values.update({'email_to': 'anub@petra.com'})
values.update({'body_html': 'something is wrong' })
values.update({'body': 'someone is messing up' })
msg_id = mail_pool.create(values)
_logger.error(str(msg_id))
if msg_id:
result= mail_pool.send([msg_id])
_logger.error(str(result))
生成此日志:
2018-10-01 15:17:20,144 21332 ERROR test odoo.addons.contacts.models.models: sendEmail Called
2018-10-01 15:17:20,165 21332 ERROR test odoo.addons.contacts.models.models: mail.mail(13,)
2018-10-01 15:17:20,165 21332 ERROR test odoo.addons.contacts.models.models: True
我还在清单文件中添加了邮件:
'depends': ['mail','base', 'contacts', 'web_readonly_bypass'],
在所有这些之后,我没有在我的 account.My 外发服务器中收到电子邮件也已正确配置,因为我能够向用户发送重置密码电子邮件。那么我在代码中遗漏了什么吗?
我认为您的问题是您没有正确调用创建记录的 send
方法。像这样尝试它应该工作
result= msg_id.send()
想法是调用记录集 msg_id
上的发送方法作为新 api 用法中的状态。
这是我基于你的第一个例子的例子,它对我有用:
def send_assessment(self):
mail_pool = self.env['mail.mail']
values={}
values.update({'subject': 'Catastrophe in Odoo'})
values.update({'email_to': 'user@domain.com'})
values.update({'body_html': 'something is wrong' })
values.update({'body': 'someone is messing up' })
msg_id = mail_pool.create(values)
result = msg_id.send()
我继承了联系人模块,写了一个sendEmail函数:
def sendEmail(self,values):
_logger.error("sendEmail Called")
mail_pool = self.env['mail.mail']
values={}
values.update({'subject': 'Catastrophe in Odoo'})
values.update({'email_to': 'anub@petra.com'})
values.update({'body_html': 'something is wrong' })
values.update({'body': 'someone is messing up' })
msg_id = mail_pool.create(values)
_logger.error(str(msg_id))
if msg_id:
result= mail_pool.send([msg_id])
_logger.error(str(result))
生成此日志:
2018-10-01 15:17:20,144 21332 ERROR test odoo.addons.contacts.models.models: sendEmail Called
2018-10-01 15:17:20,165 21332 ERROR test odoo.addons.contacts.models.models: mail.mail(13,)
2018-10-01 15:17:20,165 21332 ERROR test odoo.addons.contacts.models.models: True
我还在清单文件中添加了邮件:
'depends': ['mail','base', 'contacts', 'web_readonly_bypass'],
在所有这些之后,我没有在我的 account.My 外发服务器中收到电子邮件也已正确配置,因为我能够向用户发送重置密码电子邮件。那么我在代码中遗漏了什么吗?
我认为您的问题是您没有正确调用创建记录的 send
方法。像这样尝试它应该工作
result= msg_id.send()
想法是调用记录集 msg_id
上的发送方法作为新 api 用法中的状态。
这是我基于你的第一个例子的例子,它对我有用:
def send_assessment(self):
mail_pool = self.env['mail.mail']
values={}
values.update({'subject': 'Catastrophe in Odoo'})
values.update({'email_to': 'user@domain.com'})
values.update({'body_html': 'something is wrong' })
values.update({'body': 'someone is messing up' })
msg_id = mail_pool.create(values)
result = msg_id.send()