Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
5896 Lượt xem

I'm trying to create a module in which I want to send mail for customers.

My .py code is:


def send_mail(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', '=', 'hr.employee')], context=context)

print template_ids

if template_ids:

values = email_template_obj.generate_email(cr, uid, template_ids[0], ids[0], context=context)

"""values['subject'] = subject

values['email_to'] = email_to

values['body_html'] = body_html

values['body'] = body_html"""

values['res_id'] = False

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

import smtplib

sender = 'username'

receivers = 'username'

message = """hai da

"""

smtpObj = smtplib.SMTP(host='smtp.gmail.com', port=587)

smtpObj.ehlo()

smtpObj.starttls()

smtpObj.ehlo()

smtpObj.login(user="********.com", password="********")

smtpObj.sendmail(sender, receivers, message)

print "Successfully sent email"


My xml code is:

<record id="event_YOUR_ID_mail_template" model="mail.template">

<field name="name">Name of template</field>

<!-- for example model - res.users -->

<field name="model_id" ref="todo.task.model_res_users"/>

<field name="email_from">ranjith@rcktechiees.com</field>

<field name="email_to" >mailofranjith@gmail.com</field>

<field name="subject">hi</field>

<field name="auto_delete" eval="True"/>

<field name="body_html"><![CDATA[Message of mail. <p>You can use here ${object.name} or any fields of object,</p> ]]></field>

</record>


But it show error as

Traceback (most recent call last):

File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 177, in run_wsgi

execute(self.server.app)

File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 165, in execute

application_iter = app(environ, start_response)

File "/home/rck/odoo/openerp/service/server.py", line 291, in app

return self.app(e, s)

File "/home/rck/odoo/openerp/service/wsgi_server.py", line 216, in application

return application_unproxied(environ, start_response)

File "/home/rck/odoo/openerp/service/wsgi_server.py", line 202, in application_unproxied

result = handler(environ, start_response)

File "/home/rck/odoo/openerp/http.py", line 1296, in __call__

return self.dispatch(environ, start_response)

File "/home/rck/odoo/openerp/http.py", line 1270, in __call__

return self.app(environ, start_wrapped)

File "/usr/local/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 588, in __call__

return self.app(environ, start_response)

File "/home/rck/odoo/openerp/http.py", line 1434, in dispatch

ir_http = request.registry['ir.http']

File "/home/rck/odoo/openerp/http.py", line 352, in registry

return openerp.modules.registry.RegistryManager.get(self.db) if self.db else None

File "/home/rck/odoo/openerp/modules/registry.py", line 339, in get

update_module)

File "/home/rck/odoo/openerp/modules/registry.py", line 370, in new

openerp.modules.load_modules(registry._db, force_demo, status, update_module)

File "/home/rck/odoo/openerp/modules/loading.py", line 351, in load_modules

force, status, report, loaded_modules, update_module)

File "/home/rck/odoo/openerp/modules/loading.py", line 255, in load_marked_modules

loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)

File "/home/rck/odoo/openerp/modules/loading.py", line 143, in load_module_graph

load_openerp_module(package.name)

File "/home/rck/odoo/openerp/modules/module.py", line 315, in load_openerp_module

__import__('openerp.addons.' + module_name)

File "/home/rck/odoo/openerp/modules/module.py", line 80, in load_module

mod = imp.load_module('openerp.addons.' + module_part, f, path, descr)

File "/home/rck/odoo/addons/tech/__init__.py", line 3, in <module>

import models

File "/home/rck/odoo/addons/tech/models.py", line 3, in <module>

class TodoTask(models.Model):

File "/home/rck/odoo/addons/tech/models.py", line 42, in TodoTask

smtpObj.login(user="********.com", password="********")

File "/usr/lib/python2.7/smtplib.py", line 622, in login

raise SMTPAuthenticationError(code, resp)

SMTPAuthenticationError: (535, '5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/answer/14257 rf14sm4597153pab.25 - gsmtp')

How can I achieve this? Help me with an example


Thanks

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Your email configuration has failed, probably the username and password are incorrect.

Also I believe the port should be 25, please check again.


Further, test the connection in Odoo under Settings > Email > Outgoing.

then try to send a test mail from odoo, Settings > Email > Emails.


For detailed set up of Email settings, do refer the below link

How to set up e-mail/messaging with Odoo? 




Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 3 15
5651
3
thg 2 25
4581
0
thg 9 23
1404
8
thg 5 23
24492
0
thg 5 17
2405