使用C#发送outlook邮件时,如何确定收件人是否会发送自动回复?

使用C#发送outlook邮件时,如何确定收件人是否会发送自动回复?,c#,email,outlook,C#,Email,Outlook,我正在使用C#和outlook Interop发送邮件,我想知道收件人是否处于“外出”状态。当我手动创建邮件时,可以在outlook中找到该状态,但我不知道如何在C#中找到它 在outlook中,它的显示方式如下: 有人知道怎么做吗?谢谢。您可以使用以下代码。我的假设是,您可以在发送电子邮件之前检查状态,在功能区中添加新按钮或在发送电子邮件事件期间检查状态。我在发送事件期间放置代码 if(Item is Outlook.MailItem) {

我正在使用C#和outlook Interop发送邮件,我想知道收件人是否处于“外出”状态。当我手动创建邮件时,可以在outlook中找到该状态,但我不知道如何在C#中找到它

在outlook中,它的显示方式如下:


有人知道怎么做吗?谢谢。

您可以使用以下代码。我的假设是,您可以在发送电子邮件之前检查状态,在功能区中添加新按钮或在发送电子邮件事件期间检查状态。我在发送事件期间放置代码

       if(Item is Outlook.MailItem)
        {
            if (Item is Outlook.MailItem)
            {
                Outlook.MailItem mailItem = Item as Outlook.MailItem;
                Outlook.Recipient recipient = mailItem.Recipients[0];
                var result = recipient.FreeBusy(DateTime.Now, 60 * 24);
            }
        }
您需要检查结果值

如果可选参数CompleteFormat被省略或为False,则“free”由字符0表示,所有其他状态由字符1表示

如果CompleteFormat为True,则返回与上述定义相同长度的字符串,但字符现在对应于OlBusyStatus常量

指示用户的可用性

OLBUSYSTATUS枚举(OUTLOOK)

名称值描述

olBusy 2用户正忙。 olFree 0用户可用。 用户不在办公室。 olTentative 1用户已安排了一个临时约会。 olworkingelse4用户在远离办公室的位置工作


详细信息:

可能重复的@Maverick VBA与c完全不同#