What changed email stopped working Email id must be unique, Email Account is already exist for user@company.com

Upgraded to and you broke the install once again:
ERPNext: v8.0.20 (master)
Frappe Framework: v8.0.27 (master)


{‘retry’: 0, ‘log’: <function log at 0x3220c80>, ‘site’: u’my.erpnext.net’, ‘event’: u’all’, ‘method_name’: u’pull_from_email_account’, ‘method’: <function pull_from_email_account at 0x3332f50>, ‘user’: u’Administrator’, ‘kwargs’: {‘email_account’: u’Support’}, ‘async’: True, ‘job_name’: u’pull_from_email_account|Support’}
Traceback (most recent call last):
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/background_jobs.py”, line 65, in execute_job
File “/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py”, line 700, in pull_from_email_account
File “/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py”, line 255, in receive
incoming_mails = emails.get(“latest_messages”)
AttributeError: ‘NoneType’ object has no attribute ‘get’

go into email accounts which have been working and get this when I try to resave which has worked in the past:

Email id must be unique, Email Account is already exist for user@domain.com

this is only for accounts which have logon privilege accounts that are direct logons appear to work?

I had a similar problem - in v7 for say user@domain.com I had one account for Default Sending and another for Default Inbox. I ended up making one account both Default Sending and Inbox

thanks I jumped through hoops to get this working with office365 I just love when they make changes the break things unfortunately we are now on google cloud and need to use mail jet to send outgoing so that’s not going to work. we thoroughly tested now and undocumented or at least a heads up change would have been nice…looking combining this now…

its not going to work because we need separate logon credentials for outgoing and incoming wish they had left it just the way it was.

doesn’t mention email account changes:
pricing rule fix
Remove pricing rules if ‘Ignore Pricing Rule’ manually triggered
Fix for program enrollment
Fixes in Student Group
Configurable validation setting for the student group
[hotfix] error while sending the auto email report of Ordered Items To Be Delivered
[fix] frappe.db.exists(‘Series’, series) is not working because tabSeries table did not have column modified
Enabled option User Cannot Search for the gl entry doctype
[enhance] Show notification for draft state records if doctype is submittable
Fixed test cases
Patch for reverting manufacturers table from item
Fixed conflict

this is a huge problem anyone know what changed in this update in regards to email accounts?

Its not in ERPnext itself its in the framework Frappe here from today [fix] email fixes from failed scheduler logs · frappe/frappe@72117dd · GitHub

Incidentally, I have three email accounts and one of mine stopped working today with same error as you

This March 15 commit added duplicate_email_account to validate() in email_account.py


why am I just seeing this today we have applied several updates since the 15th

I cant seem to find documentation of the new option under setup called email domain. it was working without this but because there is no documentation in help I don’t know what it purpose is?

its missing from here:
Setting Up
Email is at the heart of electronic communication and ERPNext is deeply integrated with Email. You can create multiple email accounts, automatically create transactions like Lead, Issue from incoming emails, send documents to your contacts via ERPnext. You can also setup email digests and email alerts to send you reminders.

Email Accounts
Email Alerts
Email Digest
Email Reports at Regular Intervals
Sending Email from any Document

Upgraded from 8.0.19 to 8.0.20 and was having the same issue.

Adding email account fails with “Invalid User Name or Support Password. Please rectify and try again.
-ERR invalid command” if creating from Email Inbox.

If account is added from Setup>Email Account it works but once it is assigned as an inbox in the user settings, error log throws this every few minutes

{'retry': 0, 'log': <function log at 0x21fc578>, 'site': u'site1.local', 'event': u'all', 'method_name': 
u'pull_from_email_account', 'method': <function pull_from_email_account at 0x22fb938>, 'user': 
u'Administrator', 'kwargs': {'email_account': u'Brad M.K.'}, 'async': True, 'job_name': 
u'pull_from_email_account|Brad M.K.'}
Traceback (most recent call last):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/background_jobs.py", line 65, in execute_job
  File "/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py", 
line 700, in pull_from_email_account
  File "/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py", 
line 255, in receive
    incoming_mails = emails.get("latest_messages")
AttributeError: 'NoneType' object has no attribute 'get'

But it looks like it was an issue with frappe, seems to be fixed with this commit [fix][hot] email pull fixes (#3191) · frappe/frappe@7febef2 · GitHub

Just updated frappe to 8.0.30 with bench update and it seems to be working, although still get an error when trying to add an account from the Email inbox directly, but the error log messages are gone and the account can be added from settings>email accounts instead and then assigned to the user in the settings.

What happened to separate outgoing setting under email accounts. I see some of the settings in email domains but we use mailjet for outgoing and office365 for incoming we need these settings put back?

I got same problem.

I needed to change password due to a server password change and now it won’t let me save the email account without creating a domain whereas I didn’t need to do this previously.

I can’t create a domain because I have only smtp details.

I have tried putting in a fake pop account but then won’t save.

Is there a resolution to this?

Further research found this related post. I also have this problem also.

I have reported it as a bug:


Hi don’t knwo what went wrong but suddenly my emails stopped coming in my account. The log is shown below I am not able to interprete it. Please help:

{‘retry’: 0, ‘log’: <function log at 0x7f4fa5133500>, ‘site’: u’site1.local’, ‘event’: u’all’, ‘method_name’: u’pull_from_email_account’, ‘method’: <function pull_from_email_account at 0x7f4fa48a9140>, ‘user’: u’Administrator’, ‘kwargs’: {‘email_account’: u’Danny Kapasa’}, ‘async’: True, ‘job_name’: u’pull_from_email_account|Danny Kapasa’}
Traceback (most recent call last):
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/background_jobs.py”, line 71, in execute_job
File “/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py”, line 704, in pull_from_email_account
File “/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py”, line 258, in receive
emails = email_server.get_messages()
File “/home/frappe/frappe-bench/apps/frappe/frappe/email/receive.py”, line 117, in get_messages
uid_list = email_list = self.get_new_mails()
File “/home/frappe/frappe-bench/apps/frappe/frappe/email/receive.py”, line 182, in get_new_mails
response, message = self.imap.uid(‘search’, None, self.settings.email_sync_rule)
File “/usr/lib/python2.7/imaplib.py”, line 773, in uid
typ, dat = self._simple_command(name, command, *args)
File “/usr/lib/python2.7/imaplib.py”, line 1088, in _simple_command
return self._command_complete(name, self._command(name, *args))
File “/usr/lib/python2.7/imaplib.py”, line 918, in _command_complete
raise self.error(‘%s command error: %s %s’ % (name, typ, data))
error: UID command error: BAD [‘Error in IMAP command UID SEARCH: Invalid UID messageset (0.001 + 0.000 secs).’]