,可以使用Microsoft Graph API来实现。Microsoft Graph API是一个强大的RESTful API,提供了访问Office 365中各种资源的能力。
在Python中,可以使用requests库来发送HTTP请求,并使用Microsoft Graph API的Endpoint来执行相关操作。以下是一个示例代码,用于通过Office 365企业帐户从Python发送电子邮件:
import requests
import json
# 获取访问令牌
def get_access_token():
url = 'https://login.microsoftonline.com/{tenant_id}/oauth2/token'
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
data = {
'grant_type': 'client_credentials',
'client_id': '{client_id}',
'client_secret': '{client_secret}',
'resource': 'https://graph.microsoft.com'
}
response = requests.post(url, headers=headers, data=data)
access_token = response.json()['access_token']
return access_token
# 发送电子邮件
def send_email(access_token, sender, recipient, subject, body):
url = 'https://graph.microsoft.com/v1.0/users/{}/sendMail'.format(sender)
headers = {
'Authorization': 'Bearer ' + access_token,
'Content-Type': 'application/json'
}
data = {
'message': {
'subject': subject,
'body': {
'contentType': 'Text',
'content': body
},
'toRecipients': [
{
'emailAddress': {
'address': recipient
}
}
]
}
}
response = requests.post(url, headers=headers, data=json.dumps(data))
if response.status_code == 202:
print('Email sent successfully!')
else:
print('Failed to send email. Error:', response.text)
# 主函数
if __name__ == '__main__':
# 获取访问令牌
access_token = get_access_token()
# 发送邮件
sender = 'sender@example.com'
recipient = 'recipient@example.com'
subject = 'Test Email'
body = 'This is a test email sent from Python.'
send_email(access_token, sender, recipient, subject, body)
上述代码中,首先需要使用Azure AD的身份验证方式获取访问令牌,然后使用访问令牌通过Microsoft Graph API发送电子邮件。在get_access_token
函数中,需要替换{tenant_id}
、{client_id}
和{client_secret}
为实际的值,分别代表租户ID、应用程序(客户端)ID和应用程序机密(客户端密钥)。在send_email
函数中,需要替换sender
、recipient
、subject
和body
为实际的值,分别代表发件人邮箱、收件人邮箱、邮件主题和邮件正文。
此外,为了使用Microsoft Graph API,您需要为Office 365企业帐户启用相应的权限和API访问权限。您可以在Azure门户中的Azure AD应用程序注册中进行配置。
推荐的腾讯云相关产品:腾讯云邮件推送(https://cloud.tencent.com/product/ses)
请注意,以上代码仅为示例,您可能需要根据自己的需求进行调整和修改。
领取专属 10元无门槛券
手把手带您无忧上云