0

I have a tiny problem with my idea ;)

I want to read som emails from gmail (using Mailkit) and save them into multiple files.

Ok you may think "wtf is going on",... I want to extract the orders via mail and save them as single files for sort off log/protocoll. I think I can handle it better

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);

The MailMain.txt contains every email in gmail line after line, so it can´t be difficult to filter them nicely.

Problem 1:

I need to get (e.g) the first line of the txt file, then create new txt with specific name (Properties.Settings.Default.pathmail). Line after line

For example: copy Line#1 from MailMain.txt to Thisisyourfirstline.txt copy Line#2 from MailMain.txt to Thisisyoursecondline.txt.

Problem 2:

The body of the email contains a bit of HTML ( < /b>). I need to filter that all. Any suggestions ?

greeetings

Community
  • 1
  • 1
  • Have a look at following link for stripping the HTML from a string: http://www.dotnetperls.com/remove-html-tags – Max Oct 07 '15 at 13:47

1 Answers1

-1

I would use the StreamReader and StreamWriter to get and write things line by line. And String.Replace to strip the html tags.

Mr. B
  • 2,845
  • 1
  • 21
  • 31