标签: outlook-addin

如何在不将其保存到新位置的情况下访问C#中的Outlook电子邮件附件?

Microsoft.Office.Interop.Outlook在C#中使用来访问邮箱并查找具有特定文件附件的邮件.我需要与附件进行交互.

目前,我正在将文件保存到新位置并从那里访问它.这种复制过程让我感到沮丧.理想情况下,我希望从存储在内存中的任何位置访问该文件,但该Outlook.Attachment.PathName字段返回null.

邮件存储在Exchange服务器上.

可以直接访问它们还是我需要继续保存文件?

c# outlook attachment outlook-addin

7
推荐指数
1
解决办法
5874
查看次数

在Microsoft SQL Server数据库中存储Outlook电子邮件

我正在使用c#编写一个Outlook 2007加载项来存储SQL Server 2005数据库中的电子邮件.我希望能够将整个.msg文件存储在一个varbinary(MAX)字段中.有没有办法这样做,而不必使用Outlook MailItemSaveAs()方法保存到临时文件,然后重新读取文件?我需要将大量电子邮件传输到数据库,并希望避免代价高昂的磁盘读写操作.

c# sql-server vsto outlook-2007 outlook-addin

7
推荐指数
1
解决办法
9480
查看次数

难以启动附加到Outlook的VS 2010调试器以调试插件

我正在尝试使用Visual Studio 2010和WPF在C#中编写Outlook Addin,结果很难调试.我希望VS在启动时自动附加到OUTLOOK.EXE,这样我就可以轻松点击断点.所以,我进入了项目的属性>调试选项卡>启动操作,并将此设置从"启动项目"(当然这不起作用,因为它是一个DLL)更改为"启动外部程序".

这似乎有效; Outlook启动,显然附加了调试器.但是,没有遇到任何断点.我注意到当我进入"附加到进程"对话框时,它说Outlook只运行x86(我认为这是不正确的,因为我的manged代码在该地址空间中运行 - 对吗?),所以在Debug选项卡中我单击"设置"面板"启用非托管代码调试",现在我已经没有想法了.我也无法暂停这个过程,因为我收到一个错误,告诉我该进程没有运行我选择调试的代码类型.我知道我的Addin肯定是加载并执行的,因为我可以看到它正常工作.

作为一种解决方法,我一直在使用System.Diagnostics.Debugger.Launch(),这很烦人,但它的工作原理.有任何想法吗?

debugging visual-studio-2010 visual-studio outlook-addin

7
推荐指数
1
解决办法
2347
查看次数

Outlook中"已发送邮件"上的事件

我正在使用ApplicationEvents_11_ItemSendEventHandler(请参阅http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_itemsendeventhandler.aspx)在从Outlook发送项目时进行一些处理.

但是,由于此事件触发"发送"而不是"已发送",我无法获取某些信息,例如发件人,发送时间等.

项目实际发送是否会触发另一个事件?我读过这篇博文; http://easyvsto.wordpress.com/2010/07/27/how-to-save-mail-content-when-a-mail-is-sent-from-outlook/但我对依赖出现的项目保持警惕在sent items文件夹中,考虑到用户可以禁用此功能.

编辑:我应该补充一点,我实际上已经尝试了"观察已发送的项目文件夹"的方法,并注意到该ItemAdd事件似乎只发送我发送的第一封电子邮件,然后再重新启动Outlook.我的代码如下;

var sentMail = Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail);
sentMail.Items.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(Items_ItemAdd);
Run Code Online (Sandbox Code Playgroud)

我的方法......

void Items_ItemAdd(object item)
{
    MessageBox.Show(((Outlook.MailItem)item).Subject);
}
Run Code Online (Sandbox Code Playgroud)

c# outlook vsto ms-office outlook-addin

7
推荐指数
1
解决办法
7419
查看次数

无法调试Outlook的应用程序级外接程序

这是我第一次使用.NET为Outlook创建应用程序级外接程序.通过使用教程,我写下了一些代码并且它已成功构建,但我无法调试代码.调试警告框时显示:

您无法运行或调试此项目,因为未安装所需的Microsoft应用程序版本.

我正在使用Visual Studio 2010MS Office 2007.为了调试代码,我该怎么办?我可以对代码进行任何更改,以便我可以对其进行调试.

这是代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Outlook = Microsoft.Office.Interop.Outlook;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Interop.Outlook;
namespace OutlookAddIn1
{

    public partial class ThisAddIn
    {
        Outlook.Inspectors inspectors;
        event InspectorsEvents_NewInspectorEventHandler NewInspector;


        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            inspectors = this.Application.Inspectors;
            inspectors.NewInspector +=
            new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector); 
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {

        }
        void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)
        {
            Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;
            if (mailItem …
Run Code Online (Sandbox Code Playgroud)

c# outlook vsto ms-office outlook-addin

7
推荐指数
1
解决办法
4931
查看次数

是否可以为办公室功能区设置多个自定义选项卡?

我找不到任何文档来验证这个或任何工作示例

我想在下面实现类似xml的东西,但我认为这真的不可能.

<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2010/01/customui">
  <ribbon>
    <tabs>
      <tab idMso="TabAddIns" label="Ribbon1">
      </tab>

      <tab idMso="TabAddIns" label="Ribbon2">
      </tab>
    </tabs>
  </ribbon>

</customUI>
Run Code Online (Sandbox Code Playgroud)

c# outlook vsto ribbon outlook-addin

7
推荐指数
1
解决办法
2970
查看次数

CISCO如何能够为outlook mac集成webex插件

我正在为outlook mac开发一个插件,我搜索了整个Google和社区,每个人都告诉我,它不可能为Outlook mac制作插件,因为它根本不支持我承认但我刚认识展望的WebEx插件,我想知道他们是如何设法的?如果有人有想法,我会非常感激

在此输入图像描述

macos plugins outlook outlook-addin webex

7
推荐指数
1
解决办法
4613
查看次数

为所有与会者预约时设置CustomProperties

TL;博士

设置CustomProperties为具有与会者的约会时,只有组织者的约会才能获得CustomProperties.属性不会传播到其他与会者的约会.


更长的版本

当我们与多个与会者创建约会然后以每个与会者身份登录时,我们注意到每个与会者ItemId都不同.因此,会议中的每个与会者似乎都会获得自己的约会副本.(真的希望有人确认这是真的).

但是,从我们的加载项设置自定义属性(使用Outlook JavaScript API)时,只有组织者的约会才能获得自定义属性,因为当我们以任何其他与会者身份登录时,我们无法看到自定义属性.

我们的代码中的代码片段是相关的:

Office.initialize = function (reason) {
    $(document).ready(function () {
         Office.context.mailbox.item.loadCustomPropertiesAsync (onCustomPropertiesLoaded);
    });
};

function onCustomPropertiesLoaded(asyncResults) {
    _customProps = asyncResults.value;
}

//Set custom properties
_customProps.set("myProp", "true");
_customProps.saveAsync(customPropertiesOnSaved);
Run Code Online (Sandbox Code Playgroud)

有没有办法让每个约会副本都有自定义属性?

ms-office office-addins exchangewebservices outlook-addin office-js

7
推荐指数
1
解决办法
349
查看次数

sessionId - 如何检测多个用户之间的对话

用例:

我们正在创建一个分析邮件内容的系统。如果我们能够根据其内容对电子邮件进行分类和存档,我们希望自动对同一对话/线程中的后续电子邮件进行分类。

问题在于,当我们代表不同用户查询时,作为(邮件)消息的一部分获得的对话 ID 不是唯一的。

一个例子:

答:我的收件箱中给定线程的对话 ID。

B:同一线程的 sessionId,但在不同用户的收件箱中。

价值观:

答:AAQkADUyZWYxNzljLTc4NjItNGMzYy1iZDYwLTE4NWEzNDg1OWUzZQAQABlanHOPI0v1ukA7KePaYv4=。乙:AAQkAGVkNGRjNWNmLTAwNTItNDA2NC1hOThhLTU5NTUyNGFjNTM5ZAAQABlanHOPI0v1ukA7KePaYv4=

我可以使用此对话 ID 的一部分来识别不同用户之间的相同对话吗?该模式似乎是给定对话的最后 25-26 个字符是唯一的。其余的是 Guid + 某种后缀。

编辑:我的问题与 Microsoft Graph API 的使用有关。在 SO 上回答了与 ConversationIds 和 Outlook 电子邮件相关的问题,但这些问题描述了直接从 Outlook 客户端(或可能通过 Outlook api)获取电子邮件的情况。例如,像 ConversationIndex 和 ConversationTopic 这样的属性不在我从 Graph API 获得的消息中。

outlook outlook-addin office-js outlook-web-addins microsoft-graph-api

7
推荐指数
0
解决办法
701
查看次数

Outlook for Mac 用户的“新 Outlook”中缺少加载项

我正在开发 Microsoft Outlook 的加载项,我们的一些 Outlook for Mac 用户最近报告说,如果打开了“新 Outlook”开关,他们将无法查看功能区中的任何加载项。如果单击功能区中的“...”选项,则可以在下拉菜单中访问“获取加载项”选项,但此“获取加载项”选项被禁用。主收件箱窗口和单独的阅读/撰写窗口都会受到影响。

我能够在 Outlook for Mac 版本 16.45 (21011103) 中复制该问题。

这是预期的行为吗?如果没有,是否有办法让加载项再次显示在功能区中?

谢谢。

outlook-addin office-js outlook-web-addins outlook-for-mac

7
推荐指数
2
解决办法
3万
查看次数