Difference between revisions of "Outlook 365"
Jump to navigation
Jump to search
(Created page with "smtp.office365.com ``` Account scopes = ["IMAP.AccessAsUser.All", "POP.AccessAsUser.All", "SMTP.Send", "Mail.Send", "offline_access"] account = Account(credentials=('clien...") |
|||
Line 1: | Line 1: | ||
smtp.office365.com | smtp.office365.com | ||
+ | https://stackoverflow.com/questions/46160886/how-to-send-smtp-email-for-office365-with-python-using-tls-ssl | ||
``` | ``` | ||
Account | Account |
Revision as of 15:50, 29 March 2023
smtp.office365.com
Account scopes = ["IMAP.AccessAsUser.All", "POP.AccessAsUser.All", "SMTP.Send", "Mail.Send", "offline_access"] account = Account(credentials=('client_id_of_azureapp', 'client_secret_of_azureapp')) result = account.authenticate(scopes=scopes) # request a token for this scopes Use below script to send email by providing the authtoken file generated in previous step. from O365 import Account from O365.utils.token import FileSystemTokenBackend tk = FileSystemTokenBackend(token_path=".", token_filename="o365_token.txt") credentials = ('client_id', 'client_secret') account = Account(credentials, auth_flow_type = 'public',token_backend=tk) m = account.new_message() m.to.add('user@company.com') m.subject = 'Testing!' m.body = "George Best quote: I've stopped drinking, but only while I'm asleep." m.send() Note: If you have admin consent or you are administrator or azure account you can skip the step 4,5,6 and use below code directly. from O365 import Account from O365.utils.token import FileSystemTokenBackend tk = FileSystemTokenBackend(token_path=".", token_filename="o365_token.txt") credentials = ('client_id', 'client_secret') # from step 2,3 account = Account(credentials, auth_flow_type = 'credentials', tenant_id="your_app_tenant_id") # tenant_id (required) available just below client_id in azure if account.authenticate(): print('Authenticated!') mailbox = account.mailbox("user@company.com") # Your email (required) from which you want to send email (your app should have permission to this email) m = mailbox.new_message() m.to.add('touser@company.com') m.subject = 'Testing!' m.body = "George Best quote: I've stopped drinking, but only while I'm asleep." m.send()