Gmail Email Setup not working on production

Setting up Email account, with gmail is working with the same email on local install.
But on the production environment, on google cloud E2 instance, setup is not working and print the following traceback:
Traceback (most recent call last):
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/app.py”, line 64, in application
response = frappe.api.handle()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/api.py”, line 59, in handle
return frappe.handler.handle()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/handler.py”, line 24, in handle
data = execute_cmd(cmd)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/handler.py”, line 63, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 1055, in call
return fn(*args, **newargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/client.py”, line 185, in save
doc.save()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 273, in save
return self._save(*args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 296, in _save
self.insert()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 260, in insert
self.run_post_save_methods()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 927, in run_post_save_methods
self.run_method(“on_update”)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 797, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 1073, in composer
return composed(self, method, *args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 1056, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 791, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 100, in on_update
self.send_password_notification(self.__new_password)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 204, in send_password_notification
self.send_welcome_mail_to_user()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 270, in send_welcome_mail_to_user
site_url=get_url(),
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 296, in send_login_mail
delayed=(not now) if now!=None else self.flags.delay_emails, retry=3)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 488, in sendmail
inline_images=inline_images, header=header, print_letterhead=print_letterhead)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/email/queue.py”, line 162, in send
print_letterhead=print_letterhead)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/email/queue.py”, line 185, in add
send_one(email_queue.name, now=True)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/email/queue.py”, line 483, in send_one
raise e
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/email/queue.py”, line 423, in send_one
smtpserver.sess.sendmail(email.sender, recipient.recipient, message)
File “/usr/lib/python3.6/smtplib.py”, line 867, in sendmail
raise SMTPSenderRefused(code, resp, from_addr)
smtplib.SMTPSenderRefused: (530, b’5.7.0 Authentication Required. Learn more at\n5.7.0 Check Gmail through other email platforms - Gmail Help j135sm12612637wmj.20 - gsmtp’, ‘Notifications alhadddaq@gmail.com’)
[ERROR] 2020-09-04 18:28:27,178 | /home/ubuntu/frappe-bench/apps/frappe/frappe/utils/error.py:
Could not take error snapshot: characters_written
Traceback (most recent call last):
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/app.py”, line 64, in application
response = frappe.api.handle()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/api.py”, line 59, in handle
return frappe.handler.handle()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/handler.py”, line 24, in handle
data = execute_cmd(cmd)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/handler.py”, line 63, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 1055, in call
return fn(*args, **newargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/client.py”, line 185, in save
doc.save()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 273, in save
return self._save(*args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 296, in _save
self.insert()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 260, in insert
self.run_post_save_methods()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 927, in run_post_save_methods
self.run_method(“on_update”)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 797, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 1073, in composer
return composed(self, method, *args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 1056, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 791, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 100, in on_update
self.send_password_notification(self.__new_password)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 204, in send_password_notification
self.send_welcome_mail_to_user()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 270, in send_welcome_mail_to_user
site_url=get_url(),
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/user/user.py”, line 296, in send_login_mail
delayed=(not now) if now!=None else self.flags.delay_emails, retry=3)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 488, in sendmail
inline_images=inline_images, header=header, print_letterhead=print_letterhead)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/email/queue.py”, line 162, in send
print_letterhead=print_letterhead)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/email/queue.py”, line 185, in add
send_one(email_queue.name, now=True)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/email/queue.py”, line 483, in send_one
raise e
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/email/queue.py”, line 423, in send_one
smtpserver.sess.sendmail(email.sender, recipient.recipient, message)
File “/usr/lib/python3.6/smtplib.py”, line 867, in sendmail
raise SMTPSenderRefused(code, resp, from_addr)
smtplib.SMTPSenderRefused: (530, b’5.7.0 Authentication Required. ')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/utils/error.py”, line 36, in make_error_snapshot
snapshot = get_snapshot(exception)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/utils/error.py”, line 127, in get_snapshot
value = pydoc.text.repr(getattr(evalue, name))
AttributeError: characters_written

Note
less secure apps access is enabled on this account.

Any ideas what to do?

Few things to check

  1. Assuming IMAP is enabled on your Email, please check
  2. Looks like Google is blocking access, check if you have received Email from Google saying that they have blocked the access
  1. IMAP is enabled by default
  2. There is no blocking as the process completes successfully on local machine, no matter how many time I reconfigure it.

The problem is fixed by doing the following:

Then Try to setup the account again.

1 Like