Outlook 상자에서 내 모든 메시지를 복구해야합니다. OpenPop 오픈 소스를 사용하지만 일반 텍스트 (값이 널입니다)를 복구 할 수없고 메일을 확인할 때 일반 텍스트가 있기 때문에 이해가되지 않습니다. 내가 HTML 버전을 시도 할 때 작동하지만이 프로젝트는 필요하지 않습니다. 나를 도울 수있는 사람 덕분에.OpenPop.Mime은 일반 텍스트를 찾지 못합니다
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Globalization;
using System.IO;
using System.Net.Security;
using System.Net.Sockets;
using System.Text;
using System.Windows.Forms;
using OpenPop.Mime;
using OpenPop.Pop3;
namespace EmailGmail
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string hostname = ***;
int port = **;
bool useSsl = true;
string username = ***;
string password = ***;
List<OpenPop.Mime.Message> allaEmail = FetchAllMessages(hostname, port, useSsl, username, password);
foreach (OpenPop.Mime.Message message in allaEmail)
{
OpenPop.Mime.MessagePart plainText = message.FindFirstPlainTextVersion();
OpenPop.Mime.MessagePart html = message.FindFirstHtmlVersion();
}
}
public static List<OpenPop.Mime.Message> FetchAllMessages(string hostname, int port, bool useSsl, string username, string password)
{
// The client disconnects from the server when being disposed
using (Pop3Client client = new Pop3Client())
{
try
{
// Connect to the server
client.Connect(hostname, port, useSsl);
// Authenticate ourselves towards the server
client.Authenticate(username, password);
// Get the number of messages in the inbox
int messageCount = client.GetMessageCount();
// We want to download all messages
List<OpenPop.Mime.Message> allMessages = new List<OpenPop.Mime.Message>(messageCount);
// Messages are numbered in the interval: [1, messageCount]
// Ergo: message numbers are 1-based.
// Most servers give the latest message the highest number
for (int i = messageCount; i > 0; i--)
{
allMessages.Add(client.GetMessage(i));
}
// Now return the fetched messages
return allMessages;
}
catch (Exception ex)
{
return null;
}
}
}
}
}
메일을 HTML 형식으로 가져 오는 경우 값을 저장 한 다음 다른 메일 (gmail, outlook, yahoo)의 표준 형식을 찾습니다. { 시작 = messageBody.ToLower() 같이 IndexOf이 ("전송") : 야후 보낸 메시지 검색의 경우 (.) "전송"(포함) messageBody.ToLower() 경우 .. 사용할 수 있습니다.; end = 시작 +100; } –