[英]EWS - Get current user (sender) contact information vb.net
我目前正在開發一個程序,該程序將用於通過公司的EWS發送電子郵件。 發送消息的代碼可以完美工作,但我還需要獲取有關電子郵件發件人的一些數據。 這意味着,當用戶向我發送電子郵件時,我需要查看他的位置和地址。 我花了一個多星期的時間來尋找一種在代碼及其聯系方式中定義發件人的方法。 到目前為止,仍然沒有發現任何東西。 會令您滿意。
到目前為止,我的代碼:
Dim url As String = "https://.../ews/Exchange.asmx"
exch.Url = New System.Uri(url)
exch.UseDefaultCredentials = False
exch.Credentials = New System.Net.NetworkCredential(TextBox2.Text, TextBox1.Text)
' exch.AutodiscoverUrl("myemail")
'exch.ResolveName("", ResolveNameSearchLocation.ContactsThenDirectory, True)
Dim message As New EmailMessage(exch)
message.Subject = "Новое заявление (АП) - " & ComboBox1.SelectedItem
message.Body = "Добрый день!" & vbNewLine & vbNewLine & "Прошу обработать заявление - " & ComboBox1.SelectedItem
For Each f In attfiles
message.Attachments.AddFileAttachment(f)
Next
message.ToRecipients.Add(email)
message.SendAndSaveCopy()
通過使用ResolveNames操作,您在正確的路徑上。 使用發件人SMTP地址,使用ResolveNames可以獲取發件人的潛在匹配項列表。 示例中的foreach就是這樣,您可以看到每個結果。 由於您傳遞的是SMTP地址,因此結果集很可能最多只能包含幾個聯系人。
聽起來您的假設之一是發件人始終在用戶的“聯系人”文件夾中有一個條目。 總是這樣嗎? 發件人可以不作為收件人“聯系人”文件夾中的條目存在,但可以在Active Directory中具有條目嗎? 通過使用ResolveNameSearchLocation.ContactsThenDirectory選項,您正在做正確的事情來涵蓋這兩種可能性。
如果您有顯示名稱或SMTP地址,則解析名稱會很好用。 您還詢問有關如何查找特定聯系人的信息。 您提到要搜索“聯系人”文件夾,但您擔心員工人數。 所有員工的目標郵箱中都有聯系項嗎? 要搜索特定的聯系人,請了解EWS搜索 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.