mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-05 09:08:09 +01:00
37 lines
871 B
Python
Executable File
37 lines
871 B
Python
Executable File
#!/usr/bin/env python3
|
|
import smtplib
|
|
import base64
|
|
|
|
# Information connection
|
|
smtp_server = "smtp.office365.com"
|
|
smtp_port = 587
|
|
access_token = "tokenhere"
|
|
email_from = "emailfrom@domain.com"
|
|
email_to = "test@example.com"
|
|
subject = "Test Email"
|
|
body = "This is a test email sent using OAuth2 and Office365."
|
|
|
|
# Prepare the token for authentication
|
|
auth_string = f"user={email_from}\1auth=Bearer {access_token}\1\1"
|
|
auth_string = base64.b64encode(auth_string.encode()).decode()
|
|
|
|
# Create connection SMTP
|
|
server = smtplib.SMTP(smtp_server, smtp_port)
|
|
server.ehlo()
|
|
server.starttls()
|
|
server.ehlo()
|
|
|
|
try:
|
|
print (auth_string)
|
|
response = server.docmd("AUTH", "XOAUTH2 " + auth_string)
|
|
|
|
# Check authentication
|
|
if response[0] != 235:
|
|
raise Exception(f"Authentication fails : {response[1].decode()}")
|
|
|
|
except Exception as e:
|
|
print (f"Error : {e}")
|
|
|
|
finally:
|
|
server.quit()
|