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

如何将Outlook集成到Django网站 实现网站发信同步至发件箱

实现Django发件同步到Outlook已发送文件夹的可行方案

两种经过验证的实现方式,可根据你的业务场景选择:


方案1:使用微软官方SMTP服务(适合单固定发件人场景)

如果你使用的是微软365/个人Outlook邮箱,直接配置Django SMTP为Outlook官方服务,通过该通道发送的邮件会自动同步到对应邮箱的已发送文件夹,无需额外开发。

配置代码

在Django的settings.py中添加如下配置:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.office365.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = '你的Outlook完整邮箱地址'
# 开启账号二次验证时,需替换为微软账号中心生成的专用应用密码
EMAIL_HOST_PASSWORD = '你的邮箱密码/应用密码'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

注意事项

  • 必须保证DEFAULT_FROM_EMAIL与EMAIL_HOST_USER完全一致,否则无法触发自动同步已发送的逻辑
  • 个人Outlook账号开启两步验证后,不能直接使用原账号密码,需到微软账号安全中心生成应用密码使用
  • 该方案仅适合发件人为固定1~少数几个Outlook邮箱的场景

方案2:调用Microsoft Graph API(适合多用户绑定场景)

如果你的网站支持多个用户绑定各自的Outlook邮箱发件,使用Graph API是更稳妥的方案,发件时可直接配置自动存入已发送文件夹。

前置准备

在Azure应用注册门户创建应用,申请Mail.Send的API权限,获取租户ID、客户端ID、客户端密钥。

代码示例

  1. 先安装依赖:pip install msgraph-core azure-identity
  2. 发件逻辑代码:
from azure.identity import ClientSecretCredential
from msgraph.core import GraphClient

# 初始化Graph客户端
credential = ClientSecretCredential(
    tenant_id="你的Azure应用租户ID",
    client_id="你的Azure应用客户端ID",
    client_secret="你的Azure应用客户端密钥"
)
graph_client = GraphClient(credential=credential, scopes=['https://graph.microsoft.com/.default'])

# 构造邮件参数
mail_params = {
    "message": {
        "subject": "测试邮件标题",
        "body": {
            "contentType": "HTML", # 也可设为Text发送纯文本邮件
            "content": "<p>这是测试邮件内容</p>"
        },
        "toRecipients": [
            {"emailAddress": {"address": "收件人邮箱地址"}}
        ]
    },
    "saveToSentItems": "true" # 该参数控制是否同步到已发送文件夹,默认值为true
}

# 调用发件接口
graph_client.post('/users/[发件人Outlook邮箱地址]/sendMail', json=mail_params)

注意事项

  • 若使用OAuth2授权用户绑定自己的Outlook邮箱,只需替换接口中的发件人邮箱为对应用户的邮箱地址即可,邮件会自动同步到该用户的已发送文件夹
  • 相比SMTP方案,该方案的发件频率限制更高,同时支持更多自定义邮件功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 07:48:03