Scheduler Log Error - No permission to read Email Account

Hi,

The following email error keeps showing up at the Scheduler Log often. We are trying to understand why is this so?

Method frappe.email.doctype.email_account.email_account.pull

Error
Method: all, Handler: frappe.email.doctype.email_account.email_account.pull
Traceback (innermost last):
File “/home/frappe/benches/cloude8-server-1-bench-2016-02-25-a/apps/frappe/frappe/tasks.py”, line 114,
in scheduler_task
frappe.get_attr(handler)()
File “/home/frappe/benches/cloude8-server-1-bench-2016-02-25-a/apps/frappe/frappe/email/doctype/em
ail_account/email_account.py”, line 373, in pull
for email_account in frappe.get_list(“Email Account”, filters={“enable_incoming”: 1}):
File “/home/frappe/benches/cloude8-server-1-bench-2016-02-25-a/apps/frappe/frappe/init.py”, line 9
27, in get_list
return frappe.model.db_query.DatabaseQuery(doctype).execute(None, *args, **kwargs)
File “/home/frappe/benches/cloude8-server-1-bench-2016-02-25-a/apps/frappe/frappe/model/db_query.p
y”, line 50, in execute
result = self.build_and_run()
File “/home/frappe/benches/cloude8-server-1-bench-2016-02-25-a/apps/frappe/frappe/model/db_query.p
y”, line 58, in build_and_run
args = self.prepare_args()
File “/home/frappe/benches/cloude8-server-1-bench-2016-02-25-a/apps/frappe/frappe/model/db_query.p
y”, line 73, in prepare_args
self.build_conditions()
File “/home/frappe/benches/cloude8-server-1-bench-2016-02-25-a/apps/frappe/frappe/model/db_query.p
y”, line 201, in build_conditions
match_conditions = self.build_match_conditions()
File “/home/frappe/benches/cloude8-server-1-bench-2016-02-25-a/apps/frappe/frappe/model/db_query.p
y”, line 334, in build_match_conditions
frappe.throw(_(“No permission to read {0}”).format(self.doctype), frappe.PermissionError)
File “/home/frappe/benches/cloude8-server-1-bench-2016-02-25-a/apps/frappe/frappe/init.py”, line 2
65, in throw
msgprint(msg, raise_exception=exc)
File “/home/frappe/benches/cloude8-server-1-bench-2016-02-25-a/apps/frappe/frappe/init.py”, line 2
58, in msgprint
_raise_exception()
File “/home/frappe/benches/cloude8-server-1-bench-2016-02-25-a/apps/frappe/frappe/init.py”, line 2
43, in _raise_exception
raise raise_exception, encode(msg)
PermissionError: No permission to read Email Account

@asneha1

Have you setup the email accounts in your site? Since this error should come only if you have not setup the email the accounts.

Hi @shreyasp, Thank you for the reply.
What do you mean by set up email accounts in the site? All users do have an email ID.
Besides this assigning, what other email accounts need to be ensured?

Thank you.

@asneha1

Email accounts that are to be created in Setup > Email > Email Accounts, which will contain information about your mail exchange.

Please check this out.

Regards,
_Shreyas.

@shreyasp, we have set up the default outgoing and incoming mail exchange since day 1. Besides these two email account, we have removed all other Email Accounts not used. Could this be the cause of the error?

Regards,
Cecilia

@CLU

I am assuming that your Administrator user has all roles, If not then maybe you can try adding all the roles to the Administrator.

Regards,
_Shreyas.

I am facing same problem, I grant all roles to Administrator but no luck!
what i have to do to solve this Problem ?
This is Traceback :

      [2016-03-13 20:55:48,569: WARNING/Worker-1] frappe.tasks.scheduler_task[d5e92a70-8689-4046-b1e4-75820fc69629]: Method: all, Handler: frappe.email.doctype.email_account.email_account.pull
20:55:48 worker.1             | Traceback (innermost last):
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/tasks.py", line 114, in scheduler_task
20:55:48 worker.1             |     frappe.get_attr(handler)()
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py", line 376, in pull
20:55:48 worker.1             |     for email_account in frappe.get_list("Email Account", filters={"enable_incoming": 1}):
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 924, in get_list
20:55:48 worker.1             |     return frappe.model.db_query.DatabaseQuery(doctype).execute(None, *args, **kwargs)
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py", line 50, in execute
20:55:48 worker.1             |     result = self.build_and_run()
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py", line 58, in build_and_run
20:55:48 worker.1             |     args = self.prepare_args()
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py", line 73, in prepare_args
20:55:48 worker.1             |     self.build_conditions()
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py", line 201, in build_conditions
20:55:48 worker.1             |     match_conditions = self.build_match_conditions()
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py", line 334, in build_match_conditions
20:55:48 worker.1             |     frappe.throw(_("No permission to read {0}").format(self.doctype), frappe.PermissionError)
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 262, in throw
20:55:48 worker.1             |     msgprint(msg, raise_exception=exc)
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 255, in msgprint
20:55:48 worker.1             |     _raise_exception()
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 240, in _raise_exception
20:55:48 worker.1             |     raise raise_exception, encode(msg)
20:55:48 worker.1             |  PermissionError: No permission to read Email Account
20:55:48 worker.1             | 
20:55:48 worker.1             | [2016-03-13 20:55:48,573: ERROR/MainProcess] Task frappe.tasks.scheduler_task[d5e92a70-8689-4046-b1e4-75820fc69629] raised unexpected: PermissionError('No permission to read Email Account',)
20:55:48 worker.1             | Traceback (most recent call last):
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/celery/app/trace.py", line 240, in trace_task
20:55:48 worker.1             |     R = retval = fun(*args, **kwargs)
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/celery/app/trace.py", line 438, in __protected_call__
20:55:48 worker.1             |     return self.run(*args, **kwargs)
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/tasks.py", line 114, in scheduler_task
20:55:48 worker.1             |     frappe.get_attr(handler)()
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py", line 376, in pull
20:55:48 worker.1             |     for email_account in frappe.get_list("Email Account", filters={"enable_incoming": 1}):
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 924, in get_list
20:55:48 worker.1             |     return frappe.model.db_query.DatabaseQuery(doctype).execute(None, *args, **kwargs)
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py", line 50, in execute
20:55:48 worker.1             |     result = self.build_and_run()
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py", line 58, in build_and_run
20:55:48 worker.1             |     args = self.prepare_args()
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py", line 73, in prepare_args
20:55:48 worker.1             |     self.build_conditions()
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py", line 201, in build_conditions
20:55:48 worker.1             |     match_conditions = self.build_match_conditions()
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/model/db_query.py", line 334, in build_match_conditions
20:55:48 worker.1             |     frappe.throw(_("No permission to read {0}").format(self.doctype), frappe.PermissionError)
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 262, in throw
20:55:48 worker.1             |     msgprint(msg, raise_exception=exc)
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 255, in msgprint
20:55:48 worker.1             |     _raise_exception()
20:55:48 worker.1             |   File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 240, in _raise_exception
20:55:48 worker.1             |     raise raise_exception, encode(msg)
20:55:48 worker.1             | PermissionError: No permission to read Email Account

Regards,
Mohammed

@shreyasp, I tried everything recommended still have the same issue. For now, I am just deleting the error logs. It can be over thousands per day.