Quantcast
Channel: ImapX 2
Viewing all articles
Browse latest Browse all 1952

New Post: c# read an email with a specific subject from gmail and retrieve txt attachment using imap or pop3

$
0
0
Hi All

I have tried using an earlier version of IMAP and don't seem to be winning. I am using the following code behind a button.
I have set the account I am using for 'less secure' and am able to successfully login, but after that things just hang.
I am very new to C# and still have to figure out how to see some debugging info in a messagebox or text box.
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using ImapX;
using System.Diagnostics;
using System.IO;
using System.Net.Sockets;
using System.Security.Authentication;
using System.Text.RegularExpressions;
using System.Threading;
using ImapX.Collections;
using ImapX.Constants;
using ImapX.Enums;
using ImapX.Exceptions;
using ImapX.Parsing;

namespace email_receive_and_send_imapx
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }



        private void button2_Click(object sender, System.EventArgs e)
        {
            var client = new ImapClient("imap.gmail.com", true);

            if (client.Connect())
            {

                if (client.Login("username@gmail.com", "password"))
                {
                    // login successful
                    MessageBox.Show("login successful");
                    MessageBox.Show("login success");
                    client.Behavior.MessageFetchMode = MessageFetchMode.Full;
                    FolderCollection folders = client.Folders;
                    
                    var messages = client.Folders["INBOX"].Search("test email", MessageFetchMode.Full);
                    
                    var folderPath = @"C:\attachments";
                    for (int i = 0; i < messages.Length; i++)
                    {
                        if (messages[i].Attachments.Length > 0)
                        {
                            Attachment[] atts = messages[i].Attachments;
                            for (int j = 0; j < atts.Length; j++)
                            {
                                if (atts[j].FileName.Contains("test") || atts[j].FileName.Contains("txt"))
                                {
                                    atts[j].Download();
                                    atts[j].Save(folderPath, atts[j].FileName);
                                    MessageBox.Show("successful save");
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
First of all, Please forgive the newbie request here.
Will I be able to do the same with the latest version or will I have to alter my code ?

I wonder if someone would be so kind as to provide a specific example of using IMAPX which shows how to c# read an email with a specific subject from gmail and retrieve txt and save the attachment to file and then delete the email.

Kind regards
Den

Viewing all articles
Browse latest Browse all 1952

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>