Ir al contenido
Odoo Menú
  • Iniciar sesión
  • Pruébalo gratis
  • Aplicaciones
    Finanzas
    • Contabilidad
    • Facturación
    • Gastos
    • Hoja de cálculo (BI)
    • Documentos
    • Firma electrónica
    Ventas
    • CRM
    • Ventas
    • PdV para tiendas
    • PdV para restaurantes
    • Suscripciones
    • Alquiler
    Sitios web
    • Creador de sitios web
    • Comercio electrónico
    • Blog
    • Foro
    • Chat en vivo
    • eLearning
    Cadena de suministro
    • Inventario
    • Manufactura
    • PLM
    • Compras
    • Mantenimiento
    • Calidad
    Recursos humanos
    • Empleados
    • Reclutamiento
    • Vacaciones
    • Evaluaciones
    • Referencias
    • Flotilla
    Marketing
    • Redes sociales
    • Marketing por correo
    • Marketing por SMS
    • Eventos
    • Automatización de marketing
    • Encuestas
    Servicios
    • Proyectos
    • Registro de horas
    • Servicio externo
    • Soporte al cliente
    • Planeación
    • Citas
    Productividad
    • Conversaciones
    • Aprobaciones
    • IoT
    • VoIP
    • Artículos
    • WhatsApp
    Aplicaciones externas Studio de Odoo Plataforma de Odoo en la nube
  • Industrias
    Venta minorista
    • Librería
    • Tienda de ropa
    • Mueblería
    • Tienda de abarrotes
    • Ferretería
    • Juguetería
    Alimentos y hospitalidad
    • Bar y pub
    • Restaurante
    • Comida rápida
    • Casa de huéspedes
    • Distribuidora de bebidas
    • Hotel
    Bienes inmuebles
    • Agencia inmobiliaria
    • Estudio de arquitectura
    • Construcción
    • Gestión de bienes inmuebles
    • Jardinería
    • Asociación de propietarios
    Consultoría
    • Firma contable
    • Partner de Odoo
    • Agencia de marketing
    • Bufete de abogados
    • Adquisición de talentos
    • Auditorías y certificaciones
    Manufactura
    • Textil
    • Metal
    • Muebles
    • Comida
    • Cervecería
    • Regalos corporativos
    Salud y ejercicio
    • Club deportivo
    • Óptica
    • Gimnasio
    • Especialistas en bienestar
    • Farmacia
    • Peluquería
    Trades
    • Personal de mantenimiento
    • Hardware y soporte de TI
    • Sistemas de energía solar
    • Zapateros y fabricantes de calzado
    • Servicios de limpieza
    • Servicios de calefacción, ventilación y aire acondicionado
    Otros
    • Organización sin fines de lucro
    • Agencia para la protección del medio ambiente
    • Alquiler de anuncios publicitarios
    • Fotografía
    • Alquiler de bicicletas
    • Distribuidor de software
    Descubre todas las industrias
  • Odoo Community
    Aprende
    • Tutoriales
    • Documentación
    • Certificaciones
    • Capacitación
    • Blog
    • Podcast
    Fortalece la educación
    • Programa educativo
    • Scale Up! El juego empresarial
    • Visita Odoo
    Obtén el software
    • Descargar
    • Compara ediciones
    • Versiones
    Colabora
    • GitHub
    • Foro
    • Eventos
    • Traducciones
    • Conviértete en partner
    • Servicios para partners
    • Registra tu firma contable
    Obtén servicios
    • Encuentra un partner
    • Encuentra un contador
    • Contacta a un consultor
    • Servicios de implementación
    • Referencias de clientes
    • Soporte
    • Actualizaciones
    GitHub YouTube Twitter LinkedIn Instagram Facebook Spotify
    +1 (650) 691-3277
    Solicita una demostración
  • Precios
  • Ayuda

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Contabilidad
  • Inventario
  • PoS
  • Proyectos
  • MRP
All apps
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Acerca de este foro
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Acerca de este foro
Ayuda

"KeyError: 'body'" Error sending email using "New message" from chatter. (Sending online proposals work though)

Suscribirse

Reciba una notificación cuando haya actividad en esta publicación

Se marcó esta pregunta
emailodoo10.0
5 Respuestas
10862 Vistas
Avatar
Alexander Lindemann

Hi, I am running a Odoo10 community. I get an error when I try to send emails to contacts. Sending online proposals work though. Heres the traceback. Any tips on what I can do to correct it?

Traceback (most recent call last):

  File "/odoo/odoo-server/odoo/http.py", line 638, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/odoo/odoo-server/odoo/http.py", line 675, in dispatch result = self._call_function(**self.params) File "/odoo/odoo-server/odoo/http.py", line 331, in _call_function return checked_call(self.db, *args, **kwargs) File "/odoo/odoo-server/odoo/service/model.py", line 119, in wrapper return f(dbname, *args, **kwargs) File "/odoo/odoo-server/odoo/http.py", line 324, in checked_call result = self.endpoint(*a, **kw) File "/odoo/odoo-server/odoo/http.py", line 933, in __call__ return self.method(*args, **kw) File "/odoo/odoo-server/odoo/http.py", line 504, in response_wrap response = f(*args, **kw) File "/odoo/odoo-server/addons/web/controllers/main.py", line 862, in call_kw return self._call_kw(model, method, args, kwargs) File "/odoo/odoo-server/addons/web/controllers/main.py", line 854, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/odoo/odoo-server/odoo/api.py", line 681, in call_kw return call_kw_multi(method, model, args, kwargs) File "/odoo/odoo-server/odoo/api.py", line 672, in call_kw_multi result = method(recs, *args, **kwargs) File "/odoo/odoo-server/addons/mail/models/mail_thread.py", line 1878, in message_post new_message = MailMessage.create(values) File "/odoo/odoo-server/addons/mail/models/mail_message.py", line 722, in create user_signature=self.env.context.get('mail_notify_user_signature', True)) File "/odoo/odoo-server/addons/mail/models/mail_message.py", line 790, in _notify partners._notify(self, force_send=force_send, send_after_commit=send_after_commit, user_signature=user_signature) File "/odoo/odoo-server/addons/mail/models/res_partner.py", line 156, in _notify ('notify_email', '!=', 'none')])._notify_by_email(message, force_send=force_send, send_after_commit=send_after_commit, user_signature=user_signature) File "/odoo/odoo-server/addons/mail/models/res_partner.py", line 201, in _notify_by_email new_emails, new_recipients_nbr = self._notify_send(fol_values['body'], fol_values['subject'], recipient_template_values['followers'], **base_mail_values)KeyError: 'body'

0
Avatar
Descartar
Alexander Lindemann
Autor

Thank you @mahmoud. I figured it out. It was a faulty "string" in the email template config. I actually removed the existing config, saved, restarted and added the exact config, rebooted (for some reason) and it magically worked.

Avatar
Eric Belcher
Mejor respuesta

I'm having exactly the same problem. If I select a contact and try and send them a message using the 'out of the box' template 'partner mass mail' I get a server error ending wih

  File "/opt/ / /addons/mail/models/res_partner.py", line 206, in _notify_by_email
    new_emails, new_recipients_nbr = self._notify_send(fol_values['body'], fol_values['subject'], recipient_template_values['followers'], **base_mail_values)
KeyError: 'body'

I've created another template with an email body. I only have one language (english) so translation tables to update. Given I've seen this reported multiple times with either no answers or answers I don't understand, can anyone shine a light on this. I have two instances of Odoo, an Enterprise and Community and they both have the same problem.

Thanks in advance!

0
Avatar
Descartar
Mike Lorusso

I fixed it as follows (Odoo 11 CE)

Activate Developer mode

Under Settings > Mail Template, open template "Notification EMail"

Click Edit

Click the button for Code view

remove all the code and replace with something very simple such as:

<p style="color: #555555;">

Email sent by

</p>

Save

Test by sending the contact a message. It worked, and the mail was sent without errors.

I then went back to the Notification Email template, edited it, selected the code view again, and pasted in the code from the English version of the template.

That code, in case you need it, is as follows for 11CE:

<p>

% set company = ctx.get('company', user.company_id)

</p><div>

% if ctx.get('has_button_access'):

<div itemscope="" itemtype="http://schema.org/EmailMessage">

<div itemprop="potentialAction" itemscope="" itemtype="http://schema.org/ViewAction">

<link itemprop="target" href="${ctx['button_access']['url']}">

<link itemprop="url" href="${ctx['button_access']['url']}">

<meta itemprop="name" content="View ${ctx['model_name']}">

</div>

</div>

% endif

% if not ctx['is_discussion'] or not len(ctx['actions']) == 0 or ctx.get('has_button_access'):

<div summary="o_mail_notification" style="padding: 0px; width:600px;">

<table style="border-spacing:0px;width: 600px; margin-top: 5px;" cellspacing="0" cellpadding="0" border="0">

<tbody><tr>

<td valign="center">

% if ctx.get('has_button_access'):

<a href="${ctx['button_access']['url']}" style="padding: 8px 12px; font-size: 12px; color: #FFFFFF; text-decoration: none !important; font-weight: 400; background-color: #875A7B; border: 0px solid #875A7B; border-radius:3px">${ctx['button_access']['title']}</a>

% endif

% if ctx.get('has_button_follow'):

% if ctx.get('has_button_access'):

|

% endif

<a href="${ctx['button_follow']['url']}" style="color: #875A7B; text-decoration: none !important;">${ctx['button_follow']['title']}</a>

% elif ctx.get('has_button_unfollow'):

% if ctx.get('has_button_access'):

|

% endif

<a href="${ctx['button_unfollow']['url']}" style="color: #875A7B; text-decoration: none !important;">${ctx['button_unfollow']['title']}</a>

% endif

% if ctx.get('actions'):

% for action in ctx['actions']:

|

<a href="${action['url']}" style="color: #875A7B; !important;">${action['title']}</a>

% endfor

% endif

</td>

<td valign="center" align="right">

<img src="/logo.png?company=${company.id}" style="border-style:none;border-image-width:1;border-image-source:none;border-image-slice:100%;border-image-repeat:stretch;border-image-outset:0;border-left-color:currentcolor;border-bottom-color:currentcolor;border-right-color:currentcolor;border-top-color:currentcolor;padding: 0px; margin: 0px; height: auto; max-width: 80px; max-height: 40px;" alt="${company.name}">

</td>

</tr>

<tr>

<td colspan="2" style="text-align:center;">

<hr style="border-style:solid none none none;border-image-width:1;border-image-source:none;border-image-slice:100%;border-image-repeat:stretch;border-image-outset:0;border-left-color:currentcolor;border-bottom-color:currentcolor;border-right-color:currentcolor;background-color:rgb(204,204,204);border:medium none;clear:both;display:block;font-size:0px;min-height:1px;line-height:0; margin:10px 0;" width="100%">

% if ctx.get('subtype') and ctx.get('subtype').internal:

<p style="background-color: #f2dede; padding: 5px; margin-bottom: 16px;">

<strong>Internal communication</strong>: Replying will post an internal note. Followers won't receive any email notification.

</p>

% endif

</td>

</tr>

</tbody></table>

</div>

% endif

<div>

${object.body | safe}

</div>

% if ctx.get('tracking'):

<ul>

% for tracking in ctx['tracking']

<li>${tracking[0]} : ${tracking[1]} -&gt; ${tracking[2]}</li>

% endfor

</ul>

% endif

% if ctx.get('signature'):

${ctx['signature'] | safe}

% endif

<br><p></p><p>

</p><p style="color: #555555;">

Sent by

% if ctx.get('website_url'):

<a href="${ctx['website_url']}" style=" color: #875A7B;">

% endif

${ctx.get('company_name')}

% if ctx.get('website_url'):

</a>

% endif

using

<a target="_blank" href="https://www.odoo.com" style=" color: #875A7B;">Odoo</a>.

</p>

</div><p></p>

Avatar
Philippe Thuaud
Mejor respuesta

Hi Alexander,

Which email template is it? I cannot figure it out.

Thank you

0
Avatar
Descartar
Mike Lorusso

Hi, it's the one called "Notification Email" with field "Applies to" = Message.

Avatar
Devangi Shinde
Mejor respuesta

@v11 odoo community

Solved Error : Odoo - outgoing email KeyError: 'body'

Also Reference: https://stackoverflow.com/questions/39364364/odoo-outgoing-email-keyerror-body/47993347#47993347

0
Avatar
Descartar
Avatar
Mahmoud Abdelwahid
Mejor respuesta

The problem in body of the email, may be empty , Check it

0
Avatar
Descartar
¿Le interesa esta conversación? ¡Participe en ella!

Cree una cuenta para poder utilizar funciones exclusivas e interactuar con la comunidad.

Registrarse
Publicaciones relacionadas Respuestas Vistas Actividad
Setting up Email in Odoo - PO is not Send
email odoo10.0
Avatar
Avatar
2
jul 19
5687
Email set up
email odoo10.0
Avatar
Avatar
Avatar
3
ene 17
4912
How to send mails from inbox view? Resuelto
email inbox odoo10.0
Avatar
Avatar
Avatar
Avatar
Avatar
8
may 17
8137
The preferred method to setup emails using a custom domain.
email
Avatar
0
dic 25
409
need more felixiblity and inovation on email marketing tools
email
Avatar
0
nov 25
326
Comunidad
  • Tutoriales
  • Documentación
  • Foro
Código abierto
  • Descargar
  • GitHub
  • Runbot
  • Traducciones
Servicios
  • Alojamiento en Odoo.sh
  • Soporte
  • Actualizaciones del software
  • Desarrollos personalizados
  • Educación
  • Encuentra un contador
  • Encuentra un partner
  • Conviértete en partner
Sobre nosotros
  • Nuestra empresa
  • Activos de marca
  • Contáctanos
  • Empleos
  • Eventos
  • Podcast
  • Blog
  • Clientes
  • Legal • Privacidad
  • Seguridad
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo es un conjunto de aplicaciones de código abierto que cubren todas las necesidades de tu empresa: CRM, comercio electrónico, contabilidad, inventario, punto de venta, gestión de proyectos, etc.

La propuesta única de valor de Odoo es ser muy fácil de usar y estar totalmente integrado.

Sitio web hecho con

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now