openerpv7的消息传递系统

openerpv7的消息传递系统,openerp,Openerp,任何人都可以分享我如何在发送邮件时更改“发件人”字段值,因为它总是有相同的电子邮件地址吗 --我配置的传出邮件服务器的地址 发送邮件的方式有很多种。好的方法是创建电子邮件模板 def send_email(self, cr, uid, ids, context=None): email_template_obj = self.pool.get('email.template') template_ids = email_template_obj.search(cr, ui

任何人都可以分享我如何在发送邮件时更改“发件人”字段值,因为它总是有相同的电子邮件地址吗

--我配置的传出邮件服务器的地址


发送邮件的方式有很多种。好的方法是创建电子邮件模板

def send_email(self, cr, uid, ids, context=None):
    email_template_obj = self.pool.get('email.template')
        template_ids = email_template_obj.search(cr, uid, [('model_id.model', '=', 'sale.order')])
    if template_ids:
        for id in ids:
            values = email_template_obj.generate_email(cr, uid, template_ids[0], id, context=context)
            print "values::  ", values 
            values['subject'] = your_subject
            values['email_to'] = your_mail_to_address
            values['email_cc'] = your_cc_address
            values['body_html'] = your_body_html_part
            values['body'] = your_body_html_part

            mail_mail_obj = self.pool.get('mail.mail')
            msg_id = mail_mail_obj.create(cr, uid, values, context=context)
            if msg_id:
                mail_mail_obj.send(cr, uid, [msg_id], context=context)
    return True
首先创建一个电子邮件模板

def send_email(self, cr, uid, ids, context=None):
    email_template_obj = self.pool.get('email.template')
        template_ids = email_template_obj.search(cr, uid, [('model_id.model', '=', 'sale.order')])
    if template_ids:
        for id in ids:
            values = email_template_obj.generate_email(cr, uid, template_ids[0], id, context=context)
            print "values::  ", values 
            values['subject'] = your_subject
            values['email_to'] = your_mail_to_address
            values['email_cc'] = your_cc_address
            values['body_html'] = your_body_html_part
            values['body'] = your_body_html_part

            mail_mail_obj = self.pool.get('mail.mail')
            msg_id = mail_mail_obj.create(cr, uid, values, context=context)
            if msg_id:
                mail_mail_obj.send(cr, uid, [msg_id], context=context)
    return True
希望这能解决你的问题


谢谢。

您甚至可以不使用电子邮件模板发送邮件

def send_email(self, cr, uid, ids, context=None):
    email_template_obj = self.pool.get('email.template')
        template_ids = email_template_obj.search(cr, uid, [('model_id.model', '=', 'sale.order')])
    if template_ids:
        for id in ids:
            values = email_template_obj.generate_email(cr, uid, template_ids[0], id, context=context)
            print "values::  ", values 
            values['subject'] = your_subject
            values['email_to'] = your_mail_to_address
            values['email_cc'] = your_cc_address
            values['body_html'] = your_body_html_part
            values['body'] = your_body_html_part

            mail_mail_obj = self.pool.get('mail.mail')
            msg_id = mail_mail_obj.create(cr, uid, values, context=context)
            if msg_id:
                mail_mail_obj.send(cr, uid, [msg_id], context=context)
    return True
您可以使用mail.messagemail.mail对象

def send_mail(cr, uid, ids, context=context):
    mail_server_obj = self.pool.get('ir.mail_server')
    mail_message_obj = self.pool.get('mail.message')
    mail_mail_obj = self.pool.get('mail.mail')
    for id in ids:
        mail_message_id = mail_message_obj.create(cr, uid, {'email_from': 'from_add', 'model': 'model_name', 'res_id': id, 'subject': 'subject_name', 'body': 'your_html_body'}, context=context)
        mail_server_ids = mail_server_obj.search(cr, uid, [], context=context)
        mail_mail_id = mail_mail_obj.create(cr, uid, {'mail_message_id': mail_message_id, 'mail_server_id': mail_server_ids and mail_server_ids[0], 'state': 'outgoing', 'email_from': 'from_add', 'email_to': 'to_add', 'body_html': 'your_html_body'}, context=context)
        if mail_mail_id:
            mail_mail_obj.send(cr, uid, [mail_mail_id], context=context)
    return True

从显示登录信息的右上角菜单中更改您的电子邮件首选项。

您好,谢谢。。我只想更改“发件人”字段。。有办法吗?我找不到该邮件的邮件模板。能否详细说明如何进入电子邮件窗口?