MS Outlook 和 MySQL 之间的集成

问题描述 投票:0回答:3

有什么方法可以将 MS Outlook 文件夹连接/集成到 MYSQL 单表,包括 Outlook 收件箱、已发送项目以及用户创建的任何其他文件夹。

单表 格式:

|Id|文件夹路径|主题|DisplayTo|DisplayCc|DateTimeSent|DateTimeReceived|IsRead|HasAttachments|预览|

以下是要求:

  1. 使用 MySQL 配置 MS Outlook
  2. 新收到的邮件到达收件箱,它应该被触发到具有上述格式的 MySQL 表
  3. 每当外发邮件发送到它时,它应该被触发到具有上述格式的 MySQL 表
  4. 连接应每 60 秒/可能的间隔检查一次

这些是本项目涉及的工具 MS Access 作为前端应用程序,MYSQL 作为数据库,MS Outlook 作为数据源。

提前致谢!!

mysql vba outlook mysql-workbench
3个回答
1
投票

看来您需要为 Outlook 开发一个插件,以便有一个相应的 MySQL 数据库来填充 Outlook 数据。有关详细信息,请参阅演练:创建第一个适用于 Outlook 的 VSTO 外接程序

您需要处理两个核心事件来处理传入和传出电子邮件:

  • 当新消息到达收件箱且在客户端规则处理发生之前,将触发
    NewMailEx
    事件。您可以使用 EntryIDCollection 数组中返回的条目 ID 来调用 NameSpace.GetItemFromID 方法并处理该项目。
  • 只要用户通过
    ItemSend
    (在检查器关闭之前,但在用户单击
    Inspector
    按钮之后)或使用
    Send
    方法发送 Microsoft Outlook 项目,就会触发
    Send
    事件对于 Outlook 项目,例如
    MailItem
    ,在程序中使用。

0
投票

您可以使用 Visual Studio 创建 VSTO 插件,代码如下所示

     Outlook.Application application;
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        application = this.Application;
        application.NewMailEx += Application_NewMailEx;
        application.ItemSend += Application_ItemSend;            
    }

    private void Application_ItemSend(object Item, ref bool Cancel)
    {
       if(Item is Outlook.MailItem)
        {
            //extract all property and save
        }
    }

    private void Application_NewMailEx(string EntryIDCollection)
    {
       var item= application.Session.GetItemFromID(EntryIDCollection);
        if(item is Outlook.MailItem)
        {
            // extract mailitem property and save to database
        }
    }

如果想要开发付费版本,可以在Upwork联系我。 https://www.upwork.com/freelancers/~01b266b20bfa60411d

如需免费帮助,请在此处发表评论:)


0
投票

您能分享一下具体的解决方案吗?这对我不起作用

© www.soinside.com 2019 - 2024. All rights reserved.