我想在odoo 9中发送没有任何电子邮件模板的电子邮件。我已成功设置传出&传入邮件配置。 我的方案是管理邮件别名作为电子邮件的发件人 这是我的模特:
test_type tps mtt mem cpu 90th
0 sso_1000 205.263559 4139.031090 24.175933 34.817701 4897.4766
1 sso_1500 201.127133 5740.741266 24.599400 34.634209 6864.9820
2 sso_2000 203.204082 6610.437558 24.466267 34.831947 8005.9054
3 sso_500 189.566836 2431.867002 23.559557 35.787484 2869.7670
问题是,如何使用函数向mail_target字段发送电子邮件? 请帮帮我
答案 0 :(得分:3)
您可以使用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)
或者你可以从号角拿公牛并使用标准库中的普通ol 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
字段