簡體   English   中英

無法使用 c# 訪問 Outlook 2013 email 發件人地址

[英]Unable to access Outlook 2013 email sender address using c#

我編寫了一些 C# (VS2019) 代碼來檢測傳入的 Outlook 電子郵件並將任何文件附件保存到給定位置。 這工作正常,我現在添加了一個過濾器來檢查源 email 地址,以便只處理來自給定發件人列表的電子郵件。

我的問題是,雖然這在我的筆記本電腦上運行良好,但當我嘗試訪問發件人的 email 地址時,它在服務器上靜默失敗。 我的異常處理塊沒有捕獲任何東西,程序也沒有崩潰。

兩台機器都運行 Outlook 2013。服務器運行 Win Server 2012,我的筆記本電腦是 Windows 10、64 位。

該程序以專用用戶身份作為計划的控制台應用程序任務在服務器上運行。 此身份是程序監控的 Outlook 帳戶的所有者。

在我的機器上進行調試時,會出現一個彈出窗口,上面寫着“為了防止在評估 function System.Reflection.Assembly.Load from all threads are allowed to run 時發生不安全中止......”

彈出窗口在這里

任何想法將不勝感激。 這讓我發瘋.. :(

謝謝

安德魯

代碼如下(我已經編輯了不相關的東西,包括一個日志功能):

public class EvtNewMail : EventArgs
{
    public EvtNewMail(MailItem email);

    public MailItem email { get; }

    public override string ToString();
}



    private static void Listener_OnNewMail(object sender, EvtNewMail e)
    {
        try
        { 
                string theSender = string.empty; 
         
                string senderName = e.email.Sender.Name;  

                string emailType = e.email.SenderEmailType.ToUpper();

                if (emailType == "SMTP")
                {
                    Log("Email type SMTP");
                    **theSender = e.email.SenderEmailAddress;** ***//FAILS HERE***
                         **//         e.email.Sender.Address Also fails**
                }
                else if (emailType == "EX")
                {
                    Log("Email type EX");
                    theSender = e.email.Sender.GetExchangeUser().PrimarySmtpAddress;
                }               

        }
        catch (System.Exception ex)
        {
            Log(Environment.MachineName + ": Error handling mail message here '")
        }

    }

什么是“MessagePriority”,它是如何定義的? 如果它是命名空間的一部分,是哪一個?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM