Odoo - 外发电子邮件KeyError:'body'

问题描述 投票:0回答:2

在Odoo 9社区外发电子邮件曾经工作(smtp配置等),但现在我在尝试从任何帐户发送任何电子邮件(发票,内部注释等)时,对于任何模板都会出现以下错误。

我改变的事情,因为它可能(或可能不)与此问题相关联:

  • 我安装并卸载了SMTP Server Per User插件
  • 我更改了电子邮件模板中的“发件人:”电子邮件地址

有什么理由发生这种情况?或者任何线索这个“身体”键是什么以及应该在哪里定义?谢谢!

Odoo Server Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 605, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 642, in dispatch
    result = self._call_function(**self.params)
  File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 316, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/service/model.py", line 118, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 309, in checked_call
    result = self.endpoint(*a, **kw)
  File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 893, in __call__
    return self.method(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/openerp/http.py", line 471, in response_wrap
    response = f(*args, **kw)
  File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 998, in call_button
    action = self._call_kw(model, method, args, {})
  File "/usr/lib/python2.7/dist-packages/openerp/addons/web/controllers/main.py", line 986, in _call_kw
    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 238, in wrapper
    return old_api(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 369, in old_api
    result = method(recs, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/addons/mail/wizard/mail_compose_message.py", line 191, in send_mail_action
    return self.send_mail()
  File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper
    return new_api(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/addons/account/models/account_invoice.py", line 1306, in send_mail
    return super(MailComposeMessage, self).send_mail(auto_commit=auto_commit)
  File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper
    return new_api(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/addons/mail/wizard/mail_compose_message.py", line 248, in send_mail
    ActiveModel.browse(res_id).message_post(message_type='comment', subtype=subtype, **mail_values)
  File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper
    return new_api(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/addons/mail/models/mail_thread.py", line 1712, in message_post
    new_message = MailMessage.create(values)
  File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper
    return new_api(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/addons/mail/models/mail_message.py", line 864, in create
    user_signature=self.env.context.get('mail_notify_user_signature', True))
  File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper
    return new_api(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/addons/mail/models/mail_message.py", line 926, in _notify
    partners._notify(self, force_send=force_send, user_signature=user_signature)
  File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper
    return new_api(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/addons/mail/models/res_partner.py", line 127, in _notify
    ('notify_email', '!=', 'none')])._notify_by_email(message, force_send=force_send, user_signature=user_signature)
  File "/usr/lib/python2.7/dist-packages/openerp/api.py", line 236, in wrapper
    return new_api(self, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/openerp/addons/mail/models/res_partner.py", line 178, in _notify_by_email
    new_emails, new_recipients_nbr = self._notify_send(not_values['body'], not_values['subject'], recipient_template_values['not_followers'], **base_mail_values)
KeyError: 'body'
email openerp odoo-9
2个回答
1
投票

@ v11 odoo社区

解决的错误:Odoo - 外发电子邮件KeyError:'body'

当其他用户在联系人页面上发送消息时,它会发送外发电子邮件KeyError:'body'。从邮件模板发生此错误:[mail module / data / mail_data.xml]

所以更改您的模板正文代码或您也可以继承邮件模板:

  1. 删除此mail_data.xml文件中的额外内容。 % if ctx.get('website_url'): % endif
  2. 只有这段代码正常工作: <p style="color: #555555;"> Sent by % if ctx.get('website_url'): <a href="${ctx['website_url']}" style="text-decoration:none; color: #875A7B;"> % endif ${ctx.get('company_name')} </a> using <a target="_blank" href="https://www.odoo.com" style="text-decoration:none; color: #875A7B;">Odoo</a>. </p>

另请参考:https://i.stack.imgur.com/h8yMK.png


0
投票

我自己没有解决这个问题,但是那个告诉我它的人来自翻译文件和一个“<”符号,它被解释为比python代码中的小。所以他改变了翻译文件以删除小于。

© www.soinside.com 2019 - 2024. All rights reserved.