0

私のアイデアには小さな問題があります;)

gmail (Mailkit を使用) からいくつかのメールを読み、それらを複数のファイルに保存したいと考えています。

「wtf が進行中」と思うかもしれませんが、メールで注文を抽出し、ログ/プロトコルのソート用に単一のファイルとして保存したいと考えています。もっと上手く扱えると思う

Properties.Settings.Default.status = "Status: Online";
using (var client = new ImapClient())
{
    client.Connect(Properties.Settings.Default.Server, Properties.Settings.Default.Port, true);
    client.Authenticate(Properties.Settings.Default.Email, Properties.Settings.Default.Passwort);
    client.Inbox.Open(FolderAccess.ReadWrite);  

    for (int i = 0; i < client.Inbox.Count; i++)
    {
        var message = client.Inbox.GetMessage(i);
        var html = message.HtmlBody;
        var text = message.TextBody;
        var header = message.Subject + "  " + message.From + "  " + message.Date + "   " + message.MessageId;
        
        File.AppendAllLines(Properties.Settings.Default.pathmail + @"\" + "MailMain.txt", new[] { message.HtmlBody });
        string line = File.ReadLines(Properties.Settings.Default.pathmail + @"\" + "MailMain.txt").Skip(i).Take(1).First();
        

        dataGridView1.Rows.Add(message.Subject, message.From, message.Date, message.MessageId);

MailMain.txt には、gmail のすべてのメールが行ごとに含まれているため、適切にフィルター処理することは難しくありません。

問題 1:

(たとえば) txt ファイルの最初の行を取得してから、特定の名前 (Properties.Settings.Default.pathmail) で新しい txt を作成する必要があります。一行一行

例: Line#1 を MailMain.txt から Thisisyourfirstline.txt にコピー Line#2 を MailMain.txt から Thisisyoursecondline.txt にコピーします。

問題 2:

電子メールの本文には、HTML が少し含まれています ( < /b> )。それをすべてフィルタリングする必要があります。助言がありますか ?

ご挨拶

4

1 に答える 1