Hi, I use exchangelib to ingest (my) emails from MS EWS. the identical code and package versions are on my local dev and on PA. I'm a free user (for now). The code is:
from exchangelib import DELEGATE, IMPERSONATION, Account, Credentials, Configuration, FaultTolerance
import logging
logging.basicConfig()
log = logging.getLogger()
log.setLevel(logging.DEBUG)
def connect_to_EWS(_USERNAME_, _PASS_, _PRIMARY_SMTP_ADDRESS_):
creds = Credentials(_USERNAME_,_PASS_)
config = Configuration(credentials=creds, server='outlook.office365.com')
print ("** ews creds = ",creds)
print ("** ews config = ",config)
return Account(
primary_smtp_address=_PRIMARY_SMTP_ADDRESS_,
autodiscover=False,
config = config,
access_type=DELEGATE
)
account = connect_to_EWS("email", "???????", "email")
for item in account.inbox.all().order_by('-datetime_received')[:10]:
print(item.subject, item.sender, item.datetime_received)
Works perfectly on my local dev server. Here is the trace output from PA console:
Traceback (most recent call last):
File "exchangelib_patrick.py", line 25, in <module>
account = connect_to_EWS("email", "???????", "email")
File "exchangelib_patrick.py", line 22, in connect_to_EWS
access_type=DELEGATE
File "/home/ankwilitas/.virtualenvs/Ankwil_Beta_Env/lib/python3.7/site-packages/exchangelib/account.py", line 136, in __init__
self.version = self.protocol.version
File "/home/ankwilitas/.virtualenvs/Ankwil_Beta_Env/lib/python3.7/site-packages/exchangelib/protocol.py", line 470, in version
self.config.version = Version.guess(self, api_version_hint=self._api_version_hint)
File "/home/ankwilitas/.virtualenvs/Ankwil_Beta_Env/lib/python3.7/site-packages/exchangelib/version.py", line 229, in guess
list(ResolveNames(protocol=protocol).call(unresolved_entries=[name]))
File "/home/ankwilitas/.virtualenvs/Ankwil_Beta_Env/lib/python3.7/site-packages/exchangelib/services/resolve_names.py", line 52, in _elems_to_objs
for elem in elems:
File "/home/ankwilitas/.virtualenvs/Ankwil_Beta_Env/lib/python3.7/site-packages/exchangelib/services/common.py", line 206, in _chunked_get_elements
yield from self._get_elements(payload=payload_func(chunk, **kwargs))
File "/home/ankwilitas/.virtualenvs/Ankwil_Beta_Env/lib/python3.7/site-packages/exchangelib/services/common.py", line 226, in _get_elements
yield from self._response_generator(payload=payload)
File "/home/ankwilitas/.virtualenvs/Ankwil_Beta_Env/lib/python3.7/site-packages/exchangelib/services/common.py", line 190, in _response_generator
response = self._get_response_xml(payload=payload)
File "/home/ankwilitas/.virtualenvs/Ankwil_Beta_Env/lib/python3.7/site-packages/exchangelib/services/common.py", line 312, in _get_response_xml
r = self._get_response(payload=payload, api_version=api_version)
File "/home/ankwilitas/.virtualenvs/Ankwil_Beta_Env/lib/python3.7/site-packages/exchangelib/services/common.py", line 279, in _get_response
timeout=self.timeout or self.protocol.TIMEOUT,
File "/home/ankwilitas/.virtualenvs/Ankwil_Beta_Env/lib/python3.7/site-packages/exchangelib/util.py", line 877, in post_ratelimited
protocol.retry_policy.raise_response_errors(r) # Always raises an exception
File "/home/ankwilitas/.virtualenvs/Ankwil_Beta_Env/lib/python3.7/site-packages/exchangelib/protocol.py", line 689, in raise_response_errors
raise UnauthorizedError('Invalid credentials for %s' % response.url)
exchangelib.errors.UnauthorizedError: Invalid credentials for https://outlook.office365.com/EWS/Exchange.asmx
DEBUG:exchangelib.protocol:Server outlook.office365.com: Closing sessions
Why is this not running? Many thanks, Patrick