Error Setting up Email Account

I deployed ERPnext on my ubuntu server but am finding it difficult to setup email accounts on the server.

Note: Email domain setup is complete,

Each time I try I get the error below:

Did not save
Server Error: Please check your server logs or contact tech support.
Traceback (most recent call last):
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/desk/form/save.py”, line 22, in savedocs
doc.save()
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 260, in save
return self._save(*args, **kwargs)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 294, in _save
self.run_before_save_methods()
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 869, in run_before_save_methods
self.run_method(“validate”)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 765, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 1040, in composer
return composed(self, method, *args, **kwargs)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 1023, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 759, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py”, line 71, in validate
self.check_smtp()
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py”, line 137, in check_smtp
server.sess
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/email/smtp.py”, line 210, in sess
ret = self._sess.login((self.login or “”), (self.password or “”))
File “/usr/lib/python2.7/smtplib.py”, line 607, in login
(code, resp) = self.docmd(encode_cram_md5(resp, user, password))
File “/usr/lib/python2.7/smtplib.py”, line 571, in encode_cram_md5
response = user + " " + hmac.HMAC(password, challenge).hexdigest()
File “/usr/lib/python2.7/hmac.py”, line 75, in init
self.outer.update(key.translate(trans_5C))
TypeError: character mapping must return integer, None or unicode

Traceback (most recent call last):
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/app.py”, line 62, in application
response = frappe.handler.handle()
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/handler.py”, line 22, in handle
data = execute_cmd(cmd)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/handler.py”, line 55, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/init.py”, line 942, in call
return fn(*args, **newargs)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/desk/form/save.py”, line 22, in savedocs
doc.save()
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 260, in save
return self._save(*args, **kwargs)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 294, in _save
self.run_before_save_methods()
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 869, in run_before_save_methods
self.run_method(“validate”)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 765, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 1040, in composer
return composed(self, method, *args, **kwargs)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 1023, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/model/document.py”, line 759, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py”, line 71, in validate
self.check_smtp()
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py”, line 137, in check_smtp
server.sess
File “/opt/bench-repo/frappe-bench/apps/frappe/frappe/email/smtp.py”, line 210, in sess
ret = self._sess.login((self.login or “”), (self.password or “”))
File “/usr/lib/python2.7/smtplib.py”, line 607, in login
(code, resp) = self.docmd(encode_cram_md5(resp, user, password))
File “/usr/lib/python2.7/smtplib.py”, line 571, in encode_cram_md5
response = user + " " + hmac.HMAC(password, challenge).hexdigest()
File “/usr/lib/python2.7/hmac.py”, line 75, in init
self.outer.update(key.translate(trans_5C))
TypeError: character mapping must return integer, None or unicode

Here is a screenshot

I am getting this error setting up office365 mail:

Cannot connect: socket error: EOF

Server Error: AttributeError: ‘abort’ object has no attribute ‘message’

Has anyone seen this error before? How do i fix it?

Hi @flexy2ky Have you got the Solution, I am also facing the same Issue.

@Ranbir nah moved on from O365. I am using AWS SES for smtp which is much more convenient and doesn’t come with the stress and limits that standard email providers place on you. Haven’t had an email issue in over a year since I started using AWS SES.