常に同じメールアドレスを持っているため、メッセージを送信するときに「from」フィールドの値を変更する方法を誰かが共有できますか?
-- 構成する送信メール サーバーのアドレス。
常に同じメールアドレスを持っているため、メッセージを送信するときに「from」フィールドの値を変更する方法を誰かが共有できますか?
-- 構成する送信メール サーバーのアドレス。
メール テンプレートを使用せずにメールを送信することもできます。
mail.messageおよびmail.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
メールを送信する方法はたくさんあります。良い方法は、メールテンプレートを作成することです。
まず、1つのメールテンプレートを作成します。
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
これで問題が解決することを願っています。
ありがとうございました。
ログインを表示している右上のメニューからメール設定を変更します。