2015-05-22 42 views
0

的所有部分我可以從獲得的GMail消息這樣方法來提取的GMail消息

Dim GMailMessage As Message = myGMailService.Users.Messages.Get(ProfileUsager.GoogleAccountUserName, ID).Execute 

但我必須提取附件,從,到CC,主題,接收日期等從該消息。我如何做到這一點。我嘗試獲取原始格式和完整格式,但沒有成功,我可以輕鬆地從此消息中提取所有數據。

你有代碼示例或可以幫助我的東西嗎?

回答

0

我建議你使用郵件解析器,因爲有很多關於。

我使用的MailBee

http://www.afterlogic.com/mailbee-net/email-components

解析Gmail的信息給他們的對象,然後訪問屬性。

gr.Format = UsersResource.MessagesResource.GetRequest.FormatEnum.Raw; 
Message m = new Message(); 
m = gr.Execute(); 

byte[] decodedByte = FromBase64ForUrlString(m.Raw); 
string base64Encoded = Convert.ToString(decodedByte); 

currentMessage = new MailMessage(); 
currentMessage.LoadMessage(decodedByte); 

Response.Write(currentMessage.From.DisplayName); 

你可以自己分析信息,但它很複雜,爲什麼重新發明輪子。

編輯迴應質疑

public static byte[] FromBase64ForUrlString(string base64ForUrlInput) 
    { 
     int padChars = (base64ForUrlInput.Length % 4) == 0 ? 0 : (4 - (base64ForUrlInput.Length % 4)); 
     StringBuilder result = new StringBuilder(base64ForUrlInput, base64ForUrlInput.Length + padChars); 
     result.Append(String.Empty.PadRight(padChars, '=')); 
     result.Replace('-', '+'); 
     result.Replace('_', '/'); 
     return Convert.FromBase64String(result.ToString()); 
    } 
+0

什麼是FromBase64ForUrlString? –