通过 Azure AD Graph API 作为电子邮件别名发送电子邮件

2024-04-10

在 Graph API 浏览器中,您可以使用端点发送电子邮件
https://graph.microsoft.com/v1.0/me/sendMail https://graph.microsoft.com/v1.0/me/sendMail
和一个基本的 json 有效负载

"message": {
    "subject": "Meet for lunch?",
    "body": {
        "contentType": "Text",
        "content": "The new cafeteria is open."
    },
    "toRecipients": [
        {
            "emailAddress": {
                "address": "[email protected] /cdn-cgi/l/email-protection"
            }
        }
    ],
    "from":{
        "emailAddress": {
            "address": "smtp:[email protected] /cdn-cgi/l/email-protection"
        }
    }
}

当我发送此请求时,它仍然发送电子邮件[email protected] /cdn-cgi/l/email-protection而不是我的电子邮件别名。 当我运行端点时,我仍然可以看到电子邮件别名
https://graph.microsoft.com/beta/me/ https://graph.microsoft.com/beta/me/
Under 代理地址
我查看了文档,没有看到任何以别名发送电子邮件的选项的明确示例。


我们只能设置from and sender从共享邮箱、共享日历或作为代理人发送消息时,属性更改为不同的值。查看具体信息here https://learn.microsoft.com/en-us/graph/api/resources/message?view=graph-rest-1.0#properties (see form and sender) and 设置发件人和发件人属性 https://learn.microsoft.com/en-us/graph/outlook-create-send-messages#setting-the-from-and-sender-properties。没有提到以别名发送电子邮件,并且根据测试无法工作。

因此不支持通过 Microsoft Graph API 作为别名发送电子邮件。

的价值from and sender必须与实际使用的邮箱相对应。因此,以别名发送电子邮件的唯一方法是在 O365 管理中心将别名更改为主要电子邮件,然后发送电子邮件。

作为解决方法,如果您只是希望收件人认为您是从别名发送的,则可以为您的邮箱配置一个委派邮箱(分配sendAs邮箱对委派用户的权限)。委派邮箱实际上是另一个邮箱,需要分配 Exchange Online 许可证。然后设置from财产授予被委托的用户sendAsMicrosoft Graph API 中您的邮箱的权限。查看具体信息here https://learn.microsoft.com/en-us/graph/outlook-create-send-messages#setting-the-from-and-sender-properties。之后,当您发送电子邮件时,收件人将看到该电子邮件来自委托电子邮件。

关于如何分配sendAsExchange 管理中心的权限,请参阅使用 EAC 为各个邮箱分配权限 https://learn.microsoft.com/en-us/exchange/recipients-in-exchange-online/manage-permissions-for-recipients#use-the-eac-to-assign-permissions-to-individual-mailboxes。可能需要几个小时才能生效。

POST https://graph.microsoft.com/beta/me/sendMail
{
    "message": {
        "subject": "Meet for lunch?",
        "body": {
            "contentType": "Text",
            "content": "The new cafeteria is open."
        },
        "toRecipients": [{
                "emailAddress": {
                    "address": "[email protected] /cdn-cgi/l/email-protection"
                }
            }
        ],
        "from": {
            "emailAddress": {
                "address": "{delegated mailbox}"
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 Azure AD Graph API 作为电子邮件别名发送电子邮件 的相关文章

随机推荐

  • MVC 6 HttpPostedFileBase?

    我正在尝试使用上传图像MVC 6 但是 我找不到该课程HttpPostedFileBase 我已经检查过GitHub并且没有任何运气 有谁知道上传文件的正确方法MVC6 MVC 6 使用另一种机制来上传文件 您可以获取更多示例GitHub
  • Java中的数组修改(改变数组“分辨率”)

    我想创建一个函数来更改整数数组的大小 同时保持其 形状 目的是加快 FFT 的计算速度 它返回一个新的大小数组y每个元素是它在旧数组中 覆盖 的元素的平均值 例如 如果我有一个数组w有 3 个元素 并且想要创建另一个数组z有 2 个元素 第
  • 了解 Cloud Firestore 安全规则的限制

    我正在为我的 Firestore 数据库编写安全规则 并且我可能编写了太多检查并且授权自动失败 例如 特定路径的规则是 service cloud firestore match databases database documents m
  • 使用 TEmbeddedWB 或 TWebBrowser 检测外部内容

    我试图阻止由 TEmbeddedWB 或 TWebBrowser 或 TCppWebBrowser 加载的任何外部内容 我想阻止从互联网加载的任何内容 包括图像 javascript 外部 CSS 外部 embed 或 object 或 a
  • eclipse下同一个多模块maven项目的多个版本

    我想从事两个不同的版本 of the 相同的多模块 Maven 项目日食之下 不幸的是 当你在eclipse下导入多模块maven项目时 你可以改变父模块项目名称自己命名 以防止冲突 但是不是子模块项目名称 子模块作为根项目导入 以模块名称
  • 使用 GPS 获取 Android 手机的位置

    我还有一个关于基本 Android 编程的问题 如何访问 GPS 来获取运行应用程序的手机的当前位置 检索信息需要多长时间 在这种情况下 GPS 可能被禁用 如何再次启用 禁用它 必须在 andorid 清单中授予哪些权限 问候并感谢您的回
  • 移动结账时不存在 PayPal POST 付款变量

    我使用 JS 立即购买按钮进行付款 如下所示
  • Rails 中的订单确认页面

    我一直在尝试为我的 Rails 应用程序创建一个订单确认页面 但不太确定如何以一种轻松的方式完成它 上面有几个答案this https stackoverflow com questions 445293 ruby on rails con
  • 将静态库添加到 podspec

    我的 podspec 需要静态库 OpenSSL 为了方便起见 我将库与 Pod 一起运送 静态库包含 二进制文件 MyPod openssl bin libcrypto a and MyPod openssl bin libsll a 标
  • awk + ​​如何查找列中的重复项?

    如何查找列中的重复项 head countries lat long int code3 csv cat n 1 country latitude longitude name code 2 AD 42 546245 1 601554 An
  • Django transaction.commit_on_success 不回滚事务

    我正在尝试在 MySQL 上使用 Django 事务the commit on success装饰者 http docs djangoproject com en dev topics db transactions django db t
  • 创建反应应用程序不在开发或构建中加载CSS背景图像

    我无法加载某些背景图像 我对最初的创建反应应用程序进行了一些重大修改 我的文件夹结构现在如下 注意 我省略了一些文件和文件夹 如果您需要更多 请告诉我 App node modules src client build node modul
  • CSS/JavaScript:使元素成为最顶层的 z-index/最顶层的模态元素

    我想制作一个元素 例如 div 是页面的最顶层 我的假设是 我能做到这一点的唯一方法是指定该元素具有style z index 浏览器允许的最大值 int32 它是否正确 相反 是否有可能以某种方式获取元素的z index谁的最高 并使这个
  • Spring MVC Web 应用程序 - 从属性启用/禁用控制器

    我有一个在 Tomcat 中运行的 Web 应用程序 并使用 Spring MVC 来定义控制器和映射 我有以下课程 Controller api test public class TestController RequestMappin
  • 你如何处理NUL?

    当我们谈论 NULL 时 我有时会遇到与其他程序员的沟通问题 现在 NULL 可以是 空指针NUL 字符某种数据库中的空数据元素 NUL 似乎是最令人困惑的 它是 ASCII 字符 0x00 我倾向于在代码中使用 0 来表示它 我小组中的一
  • 如何获取 JavaScript 对象的类?

    我创建了一个 JavaScript 对象 但是如何确定该对象的类 我想要类似于Java的东西 getClass 方法 没有与 Java 完全对应的东西getClass http docs oracle com javase 7 docs a
  • 瞬态部分NameKeyPath & NSSortDescriptor NSFetchedResultsController

    我在核心数据中有一个任务列表 我使用 NSFetchedResultsController 将它们提取到 UITableView 中 我需要自定义订单中的自定义部分 OVERDUE ACTIVE ONGOING 推迟 完全的 为了确定任务应
  • Delphi:30 天试用

    如何为我的应用程序提供 30 天试用期 我需要允许用户仅使用应用程序 30 天 这几天怎么算 我将第一个和最后一个日期保存在注册表中 但如果更改系统时间 则不会有任何保护 我需要数一下这30天 您可能会想出一个需要互联网连接的系统 但如果没
  • 告诉 Iron Router 不要拦截链接

    我正在将相当大的应用程序迁移到 Iron Router 在客户端 所有未知路由都被重定向到 404 此外 有些路由是从服务器端管理的 例如 static 仅通过中间件显示静态页面 问题是 Iron Router 现在拦截所有链接点击 所以当
  • 通过 Azure AD Graph API 作为电子邮件别名发送电子邮件

    在 Graph API 浏览器中 您可以使用端点发送电子邮件 https graph microsoft com v1 0 me sendMail https graph microsoft com v1 0 me sendMail和一个基