You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Microsoft Graph Python SDK发送MIME消息?

使用Microsoft Graph Python SDK发送MIME消息

前置准备

  • 安装Microsoft Graph Python SDK:pip install msgraph-core
  • 完成身份验证流程,获取可用的GraphServiceClient实例(支持客户端凭据、用户名密码等多种认证方式)

具体实现步骤

  1. 生成符合标准的MIME内容
    借助Python内置的email模块构建MIME格式的邮件,示例代码:

    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    
    # 创建多部分MIME消息
    mime_msg = MIMEMultipart()
    mime_msg['Subject'] = "测试MIME格式邮件"
    mime_msg['From'] = "发送者邮箱@example.com"
    mime_msg['To'] = "接收者邮箱@example.com"
    
    # 添加纯文本正文
    text_body = MIMEText("这是通过SDK发送的MIME邮件正文内容", 'plain')
    mime_msg.attach(text_body)
    
    # 将MIME消息转为字符串格式
    mime_content = mime_msg.as_string()
    
  2. 调用SDK接口发送邮件
    通过GraphServiceClient调用发送邮件的接口,传入MIME内容:

    from msgraph import GraphServiceClient
    from msgraph.generated.users.item.send_mail.send_mail_post_request_body import SendMailPostRequestBody
    from msgraph.generated.models.message import Message
    
    # 假设已完成graph_client的初始化
    # graph_client = GraphServiceClient(认证凭据, 权限范围)
    
    # 构建请求体
    request_body = SendMailPostRequestBody(
        message=Message(
            mime_content=mime_content
        ),
        save_to_sent_items=True
    )
    
    # 执行发送操作,"me"代表当前登录用户,也可替换为具体用户ID
    await graph_client.me.send_mail.post(request_body)
    

关键注意点

  • MIME内容必须包含完整的邮件头信息(Subject、From、To等),否则可能发送失败
  • 认证时需申请Mail.Send权限
  • 使用异步客户端时需添加await关键字,同步客户端则无需添加

内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 01:51:04