Mhel
Mhel

Reputation: 167

Messaging System of Openerp v7

Can anyone share how I can change the "from" field value when sending a message because it always has the same email address?

--the address of the outgoing mail server I configure.

enter image description here

Upvotes: 1

Views: 1736

Answers (3)

John
John

Reputation: 1

Change your email preference from the top right menu showing your login.

Upvotes: 0

user1954049
user1954049

Reputation:

You can even send mail without making use of email template.

You can use mail.message & mail.mail objects.

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

Upvotes: 2

Sudhir Arya
Sudhir Arya

Reputation: 3743

There are many ways of sending mails. The good way is by creating a email template.

First create one email template.

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

Hope this will solve your problem.

Thank you.

Upvotes: 1

Related Questions