예제 #1
0
        // Generate an unqiue email file name based on date time

        static void Main(string[] args)
        {
            using (Imap imap = new Imap())
            {
                imap.ConnectSSL("imap.gmail.com");
                imap.Login("*****@*****.**", "niemtin0108");

                imap.SelectInbox();
                SimpleImapQuery query = new SimpleImapQuery();

                //query.Subject = "test";
                //query.From = "*****@*****.**";
                //query.From = "GitHub";
                List <long> uids = imap.Search(Flag.Unseen);
                var         a    = uids.AsEnumerable().Reverse().Take(50);
                int         i    = 0;
                foreach (long uid in a)
                {
                    var   eml  = imap.GetMessageByUID(uid);
                    IMail mail = new MailBuilder().CreateFromEml(eml);
                    Console.OutputEncoding = Encoding.Unicode;
                    Console.WriteLine(mail.Subject);
                    Console.WriteLine(mail.Date);

                    Console.WriteLine(mail.Attachments);
                    Console.WriteLine(mail.From);
                    foreach (MimeData attachment in mail.Attachments)
                    {
                        System.IO.Directory.CreateDirectory(@"c:\folder");
                        attachment.Save(@"c:\folder\" + attachment.SafeFileName);
                    }
                    Console.WriteLine("*********************");
                }
                imap.Close();
            }
        }
예제 #2
0
        private void Button1_bejelentkezes_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(textBox2_imap.Text))
            {
                MessageBox.Show("Adjon meg imap elérhetőséget!", "Információ", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            if (String.IsNullOrEmpty(textBox3_user.Text))
            {
                MessageBox.Show("Adjon meg felhasználónevet!", "Információ", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            if (String.IsNullOrEmpty(maskedTextBox1_port.Text))
            {
                MessageBox.Show("Adjon meg portszámot!", "Információ", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            if (String.IsNullOrEmpty(textBox5_password.Text))
            {
                MessageBox.Show("Adjon meg jelszót!", "Információ", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            string imapbe   = textBox2_imap.Text;
            string user     = textBox3_user.Text;
            string port     = Convert.ToString(maskedTextBox1_port.Text);
            string password = textBox5_password.Text;

            List <string> uzenet = new List <string>();

            try
            {
                using (Imap imap = new Imap())
                {
                    imap.Connect(imapbe, Convert.ToInt32(port), true);
                    imap.UseBestLogin(user, password);

                    imap.SelectInbox();

                    SimpleImapQuery query = new SimpleImapQuery();
                    query.Subject = "Megrendelés";
                    query.Unseen  = true;
                    List <long> uidList = imap.Search(query);

                    int i = 0;
                    foreach (long uid in uidList)
                    {
                        if (i == 0)
                        {
                            IMail email = new MailBuilder()
                                          .CreateFromEml(imap.GetMessageByUID(uid));


                            label1.Text = Convert.ToString(email.Text);

                            uzenet.Add(email.Text);

                            imap.Close();
                        }
                        i++;
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Helytelen bejelentkezés!", "Információ", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }


            if (!String.IsNullOrEmpty(label1.Text))
            {
                MessageBox.Show("Sikeres feltöltés!", "Információ", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            if (String.IsNullOrEmpty(label1.Text))
            {
                MessageBox.Show("Nincs beérkezett megrendelés!", "Információ", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }



            foreach (var item in uzenet)
            {
                string[] lines = item.Split(
                    new[] { Environment.NewLine },
                    StringSplitOptions.None
                    );

                string   nev           = "";
                string[] sor           = lines[5].Split(':');
                string   elofizetoneve = sor[1];

                for (int i = 0; i < elofizetoneve.Length; i++)
                {
                    if (elofizetoneve[0] != ' ')
                    {
                        nev += elofizetoneve[i];
                    }
                    if (i > 0)
                    {
                        nev += elofizetoneve[i];
                    }
                }

                elofizetoneve = nev;


                nev = "";

                string[] sor1          = lines[6].Split(':');
                string   szuletesineve = sor1[1];

                for (int i = 0; i < szuletesineve.Length; i++)
                {
                    if (szuletesineve[0] != ' ')
                    {
                        nev += szuletesineve[i];
                    }
                    if (i > 0)
                    {
                        nev += szuletesineve[i];
                    }
                }

                szuletesineve = nev;

                string[] sor2          = lines[7].Split(':', ' ');
                string   szuletesihely = sor2[4];                                 // születési hely
                string   szuletesiido  = sor2[5] + "." + sor2[6] + "." + sor2[7]; //születési idő

                string[] sor3 = lines[8].Split(':');
                string   anyjaszuletesineve = sor3[1];
                nev = "";
                for (int i = 0; i < anyjaszuletesineve.Length; i++)
                {
                    if (anyjaszuletesineve[0] != ' ')
                    {
                        nev += anyjaszuletesineve[i];
                    }
                    if (i > 0)
                    {
                        nev += anyjaszuletesineve[i];
                    }
                }

                anyjaszuletesineve = nev;

                nev = "";

                string[] sor4          = lines[9].Split(':');
                string   szemelyiszama = sor4[1];


                for (int i = 0; i < szemelyiszama.Length; i++)
                {
                    if (szemelyiszama[0] != ' ')
                    {
                        nev += szemelyiszama[i];
                    }
                    if (i > 0)
                    {
                        nev += szemelyiszama[i];
                    }
                }

                szemelyiszama = nev;


                nev = "";

                string[] sor5          = lines[10].Split(':');
                string   telepitesicim = sor5[1];


                for (int i = 0; i < telepitesicim.Length; i++)
                {
                    if (telepitesicim[0] != ' ')
                    {
                        nev += telepitesicim[i];
                    }
                    if (i > 0)
                    {
                        nev += telepitesicim[i];
                    }
                }

                telepitesicim = nev;


                nev = "";

                string[] sor6         = lines[11].Split(':');
                string   postazasicim = sor6[1];

                for (int i = 0; i < postazasicim.Length; i++)
                {
                    if (postazasicim[0] != ' ')
                    {
                        nev += postazasicim[i];
                    }
                    if (i > 0)
                    {
                        nev += postazasicim[i];
                    }
                }

                postazasicim = nev;


                nev = "";

                string[] sor7        = lines[12].Split(':');
                string   telefonszam = sor7[1];

                for (int i = 0; i < telefonszam.Length; i++)
                {
                    if (telefonszam[0] != ' ')
                    {
                        nev += telefonszam[i];
                    }
                    if (i > 0)
                    {
                        nev += telefonszam[i];
                    }
                }

                telefonszam = nev;


                nev = "";

                string[] sor8  = lines[13].Split(':');
                string   email = sor8[1];

                for (int i = 0; i < email.Length; i++)
                {
                    if (email[0] != ' ')
                    {
                        nev += email[i];
                    }
                    if (i > 0)
                    {
                        nev += email[i];
                    }
                }

                email = nev;


                nev = "";

                string[] sor9            = lines[14].Split(':');
                string   intertnetcsomag = sor9[1];

                string[] sor10       = lines[15].Split(':');
                string   fizetesimod = sor10[1];

                for (int i = 0; i < fizetesimod.Length; i++)
                {
                    if (fizetesimod[0] != ' ')
                    {
                        nev += fizetesimod[i];
                    }
                    if (i > 0)
                    {
                        nev += fizetesimod[i];
                    }
                }

                fizetesimod = nev;


                nev = "";

                string[] sor11      = lines[16].Split(':');
                string   megjegyzes = sor11[1];

                for (int i = 0; i < megjegyzes.Length; i++)
                {
                    if (megjegyzes[0] != ' ')
                    {
                        nev += megjegyzes[i];
                    }
                    if (i > 0)
                    {
                        nev += megjegyzes[i];
                    }
                }

                megjegyzes = nev;


                nev = "";

                Program.sqlparancs            = new MySqlCommand(Program.conn.ToString());
                Program.sqlparancs.Connection = Program.conn;

                Program.sqlparancs.CommandText = "INSERT INTO `users` (`id`, `elofizetoneve`, `szuletesineve`, `szuletesihely`, `szuletesiido`, `anyjaszuletesineve`, `szemelyiszam`, `telepitesicim`, `postazasicim`, `telefonszam`, `email`, `internetcsomag`, `fizetesimod`, `megjegyzes`) VALUES(NULL, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);";
                Program.sqlparancs.Parameters.Add("elofizetoneve", MySqlDbType.VarChar).Value      = elofizetoneve;
                Program.sqlparancs.Parameters.Add("szuletesineve", MySqlDbType.VarChar).Value      = szuletesineve;
                Program.sqlparancs.Parameters.Add("szuletesihely", MySqlDbType.VarChar).Value      = szuletesihely;
                Program.sqlparancs.Parameters.Add("szuletesiido", MySqlDbType.VarChar).Value       = szuletesiido;
                Program.sqlparancs.Parameters.Add("anyjaszuletesineve", MySqlDbType.VarChar).Value = anyjaszuletesineve;
                Program.sqlparancs.Parameters.Add("szemelyiszam", MySqlDbType.VarChar).Value       = szemelyiszama;
                Program.sqlparancs.Parameters.Add("telepitesicim", MySqlDbType.VarChar).Value      = telepitesicim;
                Program.sqlparancs.Parameters.Add("postazasicim", MySqlDbType.VarChar).Value       = postazasicim;
                Program.sqlparancs.Parameters.Add("telefonszam", MySqlDbType.VarChar).Value        = telefonszam;
                Program.sqlparancs.Parameters.Add("email", MySqlDbType.VarChar).Value         = email;
                Program.sqlparancs.Parameters.Add("internetcsomag", MySqlDbType.String).Value = intertnetcsomag;
                Program.sqlparancs.Parameters.Add("fizetesimod", MySqlDbType.String).Value    = fizetesimod;
                Program.sqlparancs.Parameters.Add("megjegyzes", MySqlDbType.VarChar).Value    = megjegyzes;
                Program.conn.Open();
                Program.sqlparancs.ExecuteNonQuery();
                Program.conn.Close();
            }
            label1.Text = "";
        }
예제 #3
0
        private void button2_Click(object sender, EventArgs e)
        {
            var fromDate    = dateTimePicker1.Value;
            var checkSeen   = radioButton1.Checked;
            var checkUnSeen = radioButton2.Checked;
            var userName    = user.Text;
            var passWord    = password.Text;

            List <GmailModel> gmailModels = new List <GmailModel>();
            var date = fromDate.ToString("MM/dd/yyyy");

            dataGridView1.Rows.Clear();
            using (Imap imap = new Imap())
            {
                imap.ConnectSSL("imap.gmail.com");
                imap.Login(userName, passWord);

                imap.SelectInbox();
                SimpleImapQuery query = new SimpleImapQuery();

                List <long> uids = new List <long>();
                if (checkSeen == false && checkUnSeen == false)
                {
                    uids = imap.Search().Where(
                        Expression.And(
                            Expression.SentSince(DateTime.Parse(date))
                            )
                        );
                }
                if (checkSeen == true)
                {
                    uids = imap.Search().Where(
                        Expression.And(
                            Expression.SentSince(DateTime.Parse(date)),
                            Expression.HasFlag(Flag.Seen)
                            )
                        );
                }
                if (checkUnSeen == true)
                {
                    uids = imap.Search().Where(
                        Expression.And(
                            Expression.SentSince(DateTime.Parse(date)),
                            Expression.HasFlag(Flag.Unseen)
                            )
                        );
                }
                var a = uids.AsEnumerable().Reverse().Take(50);

                var date1 = fromDate.ToString("dd-MM-yyyy");
                CreateFolder(path + date1);
                foreach (long uid in a)
                {
                    GmailModel gmailModel = new GmailModel();
                    var        eml        = imap.GetMessageByUID(uid);
                    IMail      mail       = new MailBuilder().CreateFromEml(eml);

                    foreach (MimeData attachment in mail.Attachments)
                    {
                        CreateFolder(path + date1 + "\\" + mail.From[0].Name);
                        attachment.Save(path + date1 + "\\" + mail.From[0].Name + "\\" + attachment.SafeFileName);
                    }

                    gmailModel.Name       = mail.From[0].Name;
                    gmailModel.Gmail      = mail.From[0].Address;
                    gmailModel.Content    = mail.Text;
                    gmailModel.Date       = Convert.ToDateTime(mail.Date);
                    gmailModel.CountFiles = mail.Appointments.Count;

                    dataGridView1.Rows.Add(mail.From[0].Name, mail.Text, mail.Date, mail.Attachments.Count);
                }

                imap.Close();
            }
        }