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

时间:2016-09-07 08:01:20

标签: email openerp odoo-9

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

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

  • 我安装并卸载了“每用户SMTP服务器”插件
  • 我改变了"来自:"电子邮件模板中的电子邮件地址

为什么会发生这种情况?或者任何线索这个"身体"关键是它应该被定义的位置?谢谢!

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'

2 个答案:

答案 0 :(得分: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>
    
  3. 同时参考https://i.stack.imgur.com/h8yMK.png

答案 1 :(得分:0)

我自己没有解决这个问题,但是那个告诉我的人来自翻译文件和&#34;&lt;&#34;被解释为比python代码更小的符号。所以他改变了翻译文件以删除小于。