首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过Office 365企业帐户从Python发送电子邮件

,可以使用Microsoft Graph API来实现。Microsoft Graph API是一个强大的RESTful API,提供了访问Office 365中各种资源的能力。

在Python中,可以使用requests库来发送HTTP请求,并使用Microsoft Graph API的Endpoint来执行相关操作。以下是一个示例代码,用于通过Office 365企业帐户从Python发送电子邮件:

代码语言:txt
复制
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函数中,需要替换senderrecipientsubjectbody为实际的值,分别代表发件人邮箱、收件人邮箱、邮件主题和邮件正文。

此外,为了使用Microsoft Graph API,您需要为Office 365企业帐户启用相应的权限和API访问权限。您可以在Azure门户中的Azure AD应用程序注册中进行配置。

推荐的腾讯云相关产品:腾讯云邮件推送(https://cloud.tencent.com/product/ses)

请注意,以上代码仅为示例,您可能需要根据自己的需求进行调整和修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券