public void GetMail() { bool isHtml = false; string c_name; int team; Pop3Client client = new Pop3Client(); client.Connect("pop.gmail.com", 995, true); //For SSL client.Authenticate("recent:[email protected]", "Edgemo2018", AuthenticationMethod.UsernameAndPassword); int messageCount = client.GetMessageCount(); for (int i = messageCount; i > 0; i--) { messageId = client.GetMessage(i).Headers.MessageId; OpenPop.Mime.Message msg = client.GetMessage(i); if (msg.FindFirstPlainTextVersion() == null) { this.mailContent = msg.MessagePart.GetBodyAsText(); //Hvis teksten er i html, så står der true i isHtml collonnen. //Bruges til at bestemme hvordan teksten skal håndteres. isHtml = true; } else { OpenPop.Mime.MessagePart plainTextPart = msg.FindFirstPlainTextVersion(); this.mailContent = plainTextPart.GetBodyAsText(); isHtml = false; } //Sikrer at datetime er dansk tidszone timeStamp = (msg.Headers.DateSent).ToLocalTime(); subjectLine = msg.Headers.Subject.ToString(); mailAddress = msg.Headers.From.MailAddress.Address.ToString(); if (MessageIdExists(messageId)) { break; } ////SE HER //Hvis vi kan nå at lave en FORM til denne, så er koden lavet. Læs nedenfor (try/catch eller andet for at fange fejlindtastning) if (!db.CustomerMailExists(mailAddress)) { int c_id = db.NewCustomer("Ukendt", mailAddress, 2); } ticketId = TicketIdInSubjectLine(subjectLine); db.InsertCorrespondence(ticketId, mailContent, timeStamp, subjectLine, mailAddress, isHtml, messageId); Console.WriteLine("Correspondence is added to ticket: " + ticketId); } Console.WriteLine("Alle nye mails er hermed registreret"); }
private void startReceive() { QuerysDb querysDb = new QuerysDb(); var emails = querysDb.SelectEmails(); for (int key = 0; key < emails.Rows.Count; key++) { if (!backList.Contains(emails.Rows[key][1].ToString())) { if (!string.IsNullOrWhiteSpace(emails.Rows[key][1].ToString())) { mail_grid.Rows.Add(false, emails.Rows[key][3].ToString(), emails.Rows[key][4].ToString(), emails.Rows[key][5].ToString(), emails.Rows[key][6].ToString()); backList.Add(emails.Rows[key][1].ToString()); } } } Thread thread = new Thread(() => { try { var client = new Pop3Client(); client.Connect("pop.mail.yahoo.com", 995, true); client.Authenticate(Toemail, Topass); var count = client.GetMessageCount(); OpenPop.Mime.Message message = client.GetMessage(count); // var mailbody = ASCIIEncoding.ASCII.GetString(message.RawMessage); StringBuilder builder = new StringBuilder(); OpenPop.Mime.MessagePart plainText = message.FindFirstPlainTextVersion(); if (plainText != null) { CreateDb.ExecuteSqlCommand($"INSERT INTO box_mail (dateId, mail_from, subject, body, tipo) VALUES('{message.Headers.Date.Trim()}','{message.Headers.From}','{message.Headers.Subject.Trim()}','{plainText.GetBodyAsText()}', 'text')"); } else { // Might include a part holding html instead OpenPop.Mime.MessagePart html = message.FindFirstHtmlVersion(); if (html != null) { CreateDb.ExecuteSqlCommand($"INSERT INTO box_mail (dateId, mail_from, subject, body, tipo) VALUES('{message.Headers.Date.Trim()}','{message.Headers.From}','{message.Headers.Subject.Trim()}','{html.GetBodyAsText()}', 'html')"); } } } catch (Exception ex) { MessageBox.Show(ex.Message); // corpo_email.AppendText(ex.Message + "\r\n"); } }) { IsBackground = true }; thread.Start(); }
/* Function to retrive mails from pop3 and insert the data into the database. */ public void InsertMail(Message mail) { /* Variable containing the SQLite commands needed to insert the data into the database */ Debug.WriteLine("Insert mail to DB"); string sql = "INSERT INTO mailInbox (sender,recipient,bc,cc,subject,message,datetime) " + "VALUES (@sender,@recipient,@bc,@cc,@subject,@message,@datetime)"; /* Variables created to contain data from the pop3/"real" mail. */ string message; string sender = mail.Headers.From.ToString(); string recipient = String.Join(",", mail.Headers.To); string bc = String.Join(",", mail.Headers.Bcc); string cc = String.Join(",", mail.Headers.Cc); string subject = mail.Headers.Subject; DateTime datetime = mail.Headers.DateSent; Debug.WriteLine(datetime); /* check if the mail message if multilined. */ if (!mail.MessagePart.IsMultiPart) { message = mail.MessagePart.GetBodyAsText(); } else { OpenPop.Mime.MessagePart plainText = mail.FindFirstPlainTextVersion(); message = plainText.GetBodyAsText(); } /* Debug output */ //Debug.WriteLine("Sender: " + sender); //Debug.WriteLine("Recipient: " + recipient); //Debug.WriteLine("Bc: " + bc); //Debug.WriteLine("Cc: " + cc); //Debug.WriteLine("Subject: " + subject); //Debug.WriteLine("Message: " + message); /* SQLite Commands to insert the data from the variables into the database */ SQLiteCommand cmd = new SQLiteCommand(sql, DbConn); cmd.Parameters.AddWithValue("@sender", sender); cmd.Parameters.AddWithValue("@recipient", recipient); cmd.Parameters.AddWithValue("@bc", bc); cmd.Parameters.AddWithValue("@cc", cc); cmd.Parameters.AddWithValue("@subject", subject); cmd.Parameters.AddWithValue("@message", message); cmd.Parameters.AddWithValue("@datetime", datetime); //cmd.Parameters.AddWithValue("@attachment", mail.MessagePart.FileName); cmd.ExecuteNonQuery(); }
private void startReceive() { var client = new Pop3Client(); client.Connect("pop.mail.yahoo.com", 995, true); client.Authenticate(Toemail, Topass); var count = client.GetMessageCount(); OpenPop.Mime.Message message = client.GetMessage(count); // var mailbody = ASCIIEncoding.ASCII.GetString(message.RawMessage); OpenPop.Mime.MessagePart body = message.FindFirstPlainTextVersion(); GetBody = body.GetBodyAsText(); }
public void InsertMail(Message mail) { Debug.WriteLine("Insert mail to DB"); string sql = "INSERT INTO mailInbox (sender,recipient,bc,cc,subject,message) " + "VALUES (@sender,@recipient,@bc,@cc,@subject,@message)"; string message; string sender = mail.Headers.From.ToString(); string recipient = String.Join(",", mail.Headers.To); string bc = String.Join(",", mail.Headers.Bcc); string cc = String.Join(",", mail.Headers.Cc); string subject = mail.Headers.Subject; if (!mail.MessagePart.IsMultiPart) { message = mail.MessagePart.GetBodyAsText(); } else { OpenPop.Mime.MessagePart plainText = mail.FindFirstPlainTextVersion(); message = plainText.GetBodyAsText(); } /* Debug output */ //Debug.WriteLine("Sender: " + sender); //Debug.WriteLine("Recipient: " + recipient); //Debug.WriteLine("Bc: " + bc); //Debug.WriteLine("Cc: " + cc); //Debug.WriteLine("Subject: " + subject); //Debug.WriteLine("Message: " + message); SQLiteCommand cmd = new SQLiteCommand(sql, DbConn); cmd.CommandText = sql; cmd.Parameters.AddWithValue("@sender", sender); cmd.Parameters.AddWithValue("@recipient", recipient); cmd.Parameters.AddWithValue("@bc", bc); cmd.Parameters.AddWithValue("@cc", cc); cmd.Parameters.AddWithValue("@subject", subject); cmd.Parameters.AddWithValue("@message", message); //cmd.Parameters.AddWithValue("@attachment", mail.MessagePart.FileName); cmd.ExecuteNonQuery(); }
void SaveMessageDB_HT_DacTrungNH(OpenPop.Mime.Message message) { try { string mes = message.FindFirstPlainTextVersion().GetBodyAsText(); XDocument xDoc = XDocument.Parse(mes); HT_DacTrungNguoiHien dt = new HT_DacTrungNguoiHien(xDoc); if (dbht.GetDacTrungByID(dt.Id) == null) { dbht.AddDacTrung(dt); } else { dbht.EditDacTrung(dt.Id, dt); } SaveFile(message); } catch (Exception ex) { throw ex; } }
void SaveMessageDB_HN_HoiBenh(OpenPop.Mime.Message message) { try { string mes = message.FindFirstPlainTextVersion().GetBodyAsText(); XDocument xDoc = XDocument.Parse(mes); HN_HoiBenh bn = new HN_HoiBenh(xDoc); if (dbhn.GetHoiBenhByID(bn.Id) == null) { dbhn.AddHoiBenh(bn); } else { dbhn.EditHoiBenh(bn.Id, bn); } SaveFile(message); } catch (Exception ex) { throw ex; } }
void SaveMessageDB_HN_ThongTinBenhNhan(OpenPop.Mime.Message message) { try { string mes = message.FindFirstPlainTextVersion().GetBodyAsText(); XDocument xDoc = XDocument.Parse(mes); HN_ThongTinNguoiHienNoan nh = new HN_ThongTinNguoiHienNoan(xDoc); if (dbhn.GetInformationPatient(nh.MaBN) == null) { dbhn.AddNewPatient(nh); } else { dbhn.EditInformationPatient(nh.MaBN, nh); } SaveFile(message); } catch (Exception ex) { throw ex; } }
void SaveMessageDB_HT_KQXN(OpenPop.Mime.Message message) { try { string mes = message.FindFirstPlainTextVersion().GetBodyAsText(); XDocument xDoc = XDocument.Parse(mes); HT_KetQuaXetNghiem kq = new HT_KetQuaXetNghiem(xDoc); if (dbht.GetKetQuaXetNghiemByID(kq.Id) == null) { dbht.AddKetQuaXetNghiem(kq); } else { dbht.EditKetQuaXetNghiem(kq.Id, kq); } SaveFile(message); } catch (Exception ex) { throw ex; } }
void SaveMessageDB_HT_ThongTinNguoiQuanHeBN(OpenPop.Mime.Message message) { try { string mes = message.FindFirstPlainTextVersion().GetBodyAsText(); XDocument xDoc = XDocument.Parse(mes); HT_ThongTinNguoiQuanHeBN nqh = new HT_ThongTinNguoiQuanHeBN(xDoc); if (dbht.GetVoBNByID(nqh.Id) == null) { dbht.AddVoBN(nqh.MaBN, nqh); } else { dbht.EditVoBN(nqh.Id, nqh); } SaveFile(message); } catch (Exception ex) { throw ex; } }
void SaveMessageDB_HT_TinhDichDo(OpenPop.Mime.Message message) { try { string mes = message.FindFirstPlainTextVersion().GetBodyAsText(); XDocument xDoc = XDocument.Parse(mes); HT_TinhDichDo tdd = new HT_TinhDichDo(xDoc); if (dbht.GetTinhDichDoByID(tdd.Id) == null) { dbht.AddTinhDichDo(tdd); } else { dbht.EditTinhDichDo(tdd.Id, tdd); } SaveFile(message); } catch (Exception ex) { throw ex; } }
void SaveMessageDB_HT_LuuTruMau(OpenPop.Mime.Message message) { try { string mes = message.FindFirstPlainTextVersion().GetBodyAsText(); XDocument xDoc = XDocument.Parse(mes); HT_LuuTruMau ltm = new HT_LuuTruMau(xDoc); if (dbht.GetLuuTruMauByID(ltm.Id) == null) { dbht.AddLuuTruMau(ltm); } else { dbht.EditLuuTruMau(ltm.Id, ltm); } SaveFile(message); } catch (Exception ex) { throw ex; } }
void SaveMessageDB_HT_NguoiVanDong(OpenPop.Mime.Message message) { try { string mes = message.FindFirstPlainTextVersion().GetBodyAsText(); XDocument xDoc = XDocument.Parse(mes); HT_NguoiVanDong nvd = new HT_NguoiVanDong(xDoc); if (dbht.GetNguoiVanDongByID(nvd.Id) == null) { dbht.AddNguoiVanDong(nvd); } else { dbht.EditNguoiVanDong(nvd.Id, nvd); } SaveFile(message); } catch (Exception ex) { throw ex; } }
void SaveMessageDB_HT_KhamNamKhoa(OpenPop.Mime.Message message) { try { string mes = message.FindFirstPlainTextVersion().GetBodyAsText(); XDocument xDoc = XDocument.Parse(mes); HT_KhamNamKhoa knk = new HT_KhamNamKhoa(xDoc); if (dbht.GetKhamNamKhoaByID(knk.Id) == null) { dbht.AddKhamNamKhoa(knk); } else { dbht.EditKhamNamKhoa(knk.Id, knk); } SaveFile(message); } catch (Exception ex) { throw ex; } }
public static void FetchAllMessages(object sender, DoWorkEventArgs e) { // Add messages from pop3 server to message database try { // Makes a new POP3 session // POP3 does not allow to check for new mails // * facepalm * popClient.Disconnect(); popClient.Connect(currentUser.pop_hostname, currentUser.pop_port, currentUser.pop_ssl); popClient.Authenticate(currentUser.mailaddress, currentUser.password); } catch (SystemException err) { MessageBox.Show("Kunne ikke genoprette en forbindelse" + Environment.NewLine + err.Message); } // gets messagecount int messageCount = popClient.GetMessageCount(); // progress of process int progress = 0; // the progress value when it was sent to the progressbar int lastProgress = 0; for (int i = messageCount; i > 0; i--) { OpenPop.Mime.Message msg = popClient.GetMessage(i); // We don't like the fact about messageId is optional, // so we make our own messageID by a md5 of // - the sender's email // - the tick value (ticks since 1. January year 1) // - md5 of messageID (if it doesnt present then = md5 of "") // - subject of the mail string id = genMd5(string.Format("{0}_{1}_{2}_{3}", msg.Headers.From.MailAddress.Address, msg.Headers.DateSent.Ticks.ToString(), genMd5(msg.Headers.MessageId), msg.Headers.Subject)); string from = msg.Headers.From.MailAddress.Address; string subject = msg.Headers.Subject; string body = ""; // We prefer multipart if it's available if (msg.MessagePart.IsMultiPart) { body = msg.FindFirstHtmlVersion().GetBodyAsText(); } else { body = msg.FindFirstPlainTextVersion().GetBodyAsText(); } // Date sent to SQLite DateTime format DateTime sent_o = msg.Headers.DateSent; string sent = string.Format("{0:d4}-{1:d2}-{2:d2} {3:d2}:{4:d2}:{5:d2}", sent_o.Year, sent_o.Month, sent_o.Day, sent_o.Hour, sent_o.Minute, sent_o.Second); // Insert it (or not, if it already exists) to the SQLite database SQLiteCommand crCMD = new SQLiteCommand("INSERT OR IGNORE INTO messagetable (id,sender,subject,body,date) VALUES (@_id,@_sender,@_subject,@_body,datetime(strftime('%Y-%m-%d %H:%M:%S',@_sent)))", msgSqlCon); crCMD.Parameters.AddWithValue("@_id", id); crCMD.Parameters.AddWithValue("@_sender", from); crCMD.Parameters.AddWithValue("@_subject", subject); crCMD.Parameters.AddWithValue("@_body", MerMail.Symmetric.EncryptString(currentUser.encryption_key, body)); crCMD.Parameters.AddWithValue("@_sent", sent); crCMD.ExecuteNonQuery(); // calculate the progress percentage progress = (i * 100) / (messageCount); if (progress > lastProgress + 10) { // if the progress is 10 percent higher than lastprogress, // then report it to the progressBar, and set lastprogress // to the progress percentage right now (sender as BackgroundWorker).ReportProgress(progress); lastProgress = progress; } } }
private void LoadMassagesInDb(Message message, Pop3Client client, int i_msg) { string[] separator = new string[] { "\r\n", "\n" }; MessageHeader headers = client.GetMessageHeaders(i_msg); RfcMailAddress from = headers.From; if (from.HasValidMailAddress && from.Address.Equals(this.mail_ppu)) { if (message.Headers.Subject.Contains("_TEST")) { Debug.WriteLine("MAIL_TS"); var mail_strings = message.FindFirstPlainTextVersion() .GetBodyAsText() .Split(separator, StringSplitOptions.RemoveEmptyEntries) .Select(s => s.Split(new[] { '=' })); Dictionary <string, string> dict = new Dictionary <string, string>(); foreach (var item in mail_strings) { dict.Add(item[0], item[1]); } using (var context = new db_sqlceEntities()) { try { var package_ts = new package_ts() { pt = "/home/ts", na = dict["na"], r1 = Convert.ToInt32(dict["r1"]), r2 = Convert.ToInt32(dict["r2"]), pw1 = Convert.ToInt32(dict["pw1"]), pw2 = Convert.ToInt32(dict["pw2"]), gp = Convert.ToInt32(dict["gp"]), te = Convert.ToInt32(dict["te"]), vc = Convert.ToInt32(dict["vc"]), vg = Convert.ToInt32(dict["vg"]), ti = Convert.ToInt32(dict["ti"]), sn1 = dict["sn1"], sn2 = dict["sn2"], mail_uid = client.GetMessageUid(i_msg), ismail = true, da = DateTime.ParseExact(dict["da"], "yyMMdd", null).Date, date_time_inc = DateTime.Now }; context.package_ts.Add(package_ts); context.SaveChanges(); } catch (DbEntityValidationException ex) { MessageBox.Show(ex.ToString()); } } log.Write(message.FindFirstPlainTextVersion() .GetBodyAsText()); } if (message.Headers.Subject.Contains("_TM")) { Debug.WriteLine("MAIL_TM"); var mail_strings = message.FindFirstPlainTextVersion() .GetBodyAsText() .Split(separator, StringSplitOptions.RemoveEmptyEntries) .Select(s => s.Split(new[] { '=' })); Dictionary <string, string> dict = new Dictionary <string, string>(); foreach (var item in mail_strings) { dict.Add(item[0], item[1]); } using (var context = new db_sqlceEntities()) { try { var package_tm = new package_tm() { pt = "/home/tm", na = dict["na"], ismail = true, mail_uid = client.GetMessageUid(i_msg), date_inc = DateTime.Now }; context.package_tm.Add(package_tm); context.SaveChanges(); } catch (DbEntityValidationException ex) { MessageBox.Show(ex.ToString()); } } } if (message.Headers.Subject.Contains("_ON")) { Debug.WriteLine("MAIL_ON"); var mail_strings = message.FindFirstPlainTextVersion() .GetBodyAsText() .Trim() .Split(separator, StringSplitOptions.RemoveEmptyEntries) .Select(s => s.Split(new[] { '=' })); Dictionary <string, string> dict = new Dictionary <string, string>(); foreach (var item in mail_strings) { dict.Add(item[0], item[1]); } using (var context = new db_sqlceEntities()) { try { var package_on = new package_on() { pt = "/home/on", na = dict["na"], r1 = Convert.ToInt32(dict["r1"]), r2 = Convert.ToInt32(dict["r2"]), pw1 = Convert.ToInt32(dict["pw1"]), pw2 = Convert.ToInt32(dict["pw2"]), gp = Convert.ToInt32(dict["gp"]), te = Convert.ToInt32(dict["te"]), vc = Convert.ToInt32(dict["vc"]), vg = Convert.ToInt32(dict["vg"]), ti = Convert.ToInt32(dict["ti"]), sn1 = dict["sn1"], sn2 = dict["sn2"], mail_uid = client.GetMessageUid(i_msg), ismail = true, da = DateTime.ParseExact(dict["da"], "yyMMdd", null).Date, date_time_inc = DateTime.Now }; context.package_on.Add(package_on); context.SaveChanges(); } catch (DbEntityValidationException ex) { MessageBox.Show(ex.ToString()); } } log.Write(message.FindFirstPlainTextVersion() .GetBodyAsText()); } if (message.Headers.Subject.Contains("_AL")) { Debug.WriteLine("MAIL_AL"); var mail_strings = message.FindFirstPlainTextVersion() .GetBodyAsText() .Split(separator, StringSplitOptions.RemoveEmptyEntries) .Select(s => s.Split(new[] { '=' })); Dictionary <string, string> dict = new Dictionary <string, string>(); foreach (var item in mail_strings) { dict.Add(item[0], item[1]); } var wr_txt = ""; var war = Convert.ToInt32(dict["w"]); switch (war) { case (0): wr_txt = "Вскрыте крышки!"; break; case (1): wr_txt = "Расход за час для первого счетчика больше предельного!"; break; case (2): wr_txt = "Расход за час для второго счетчика больше предельного!"; break; } using (var context = new db_sqlceEntities()) { try { var package_al = new package_al() { pt = "/home/wr", na = dict["na"], wr = war, date_inc = DateTime.Now, ismail = true, mail_uid = client.GetMessageUid(i_msg), wr_txt = wr_txt }; context.package_al.Add(package_al); context.SaveChanges(); } catch (DbEntityValidationException ex) { MessageBox.Show(ex.ToString()); } } } if (message.Headers.Subject.Contains("_Data")) { Debug.WriteLine("MAIL_IZ"); var mail_strings = message.FindFirstPlainTextVersion() .GetBodyAsText() .Trim() .Split(separator, StringSplitOptions.RemoveEmptyEntries) .Select(s => s.Split(new[] { '=' })); Dictionary <string, string> dict = mail_strings.ToDictionary(item => item[0], item => item[1]); using (var context = new db_sqlceEntities()) { try { string rw_1 = dict["r1"].Substring(0, 8); string rw_2 = dict["r2"].Substring(0, 8); string r1 = dict["r1"].Substring(8, 96); string r2 = dict["r2"].Substring(8, 96); // r1 = r1.Replace('g', '0'); // r2 = r2.Replace('g', '0'); r1 = Regex.Replace(r1, @"([^0-9])(\d){3}", "0000"); r2 = Regex.Replace(r2, @"([^0-9])(\d){3}", "0000"); IEnumerable <string> groups1 = Enumerable.Range(0, r1.Length / 4) .Select(i => r1.Substring(i * 4, 4)); List <int> rw1 = new List <int>(); foreach (var grp in groups1) { rw1.Add(Convert.ToInt32(grp)); } IEnumerable <string> groups2 = Enumerable.Range(0, r2.Length / 4) .Select(i => r2.Substring(i * 4, 4)); List <int> rw2 = new List <int>(); foreach (var grp in groups2) { rw2.Add(Convert.ToInt32(grp)); } string ppu_na = null; if (!string.IsNullOrEmpty(dict["na"])) { ppu_na = dict["na"]; } var package_iz = new package_iz() { pt = "/home/iz", na = dict["na"], r1 = Convert.ToInt32(rw_1), r1_0 = Convert.ToInt32(groups1.ElementAt(0)), r1_1 = Convert.ToInt32(groups1.ElementAt(1)), r1_2 = Convert.ToInt32(groups1.ElementAt(2)), r1_3 = Convert.ToInt32(groups1.ElementAt(3)), r1_4 = Convert.ToInt32(groups1.ElementAt(4)), r1_5 = Convert.ToInt32(groups1.ElementAt(5)), r1_6 = Convert.ToInt32(groups1.ElementAt(6)), r1_7 = Convert.ToInt32(groups1.ElementAt(7)), r1_8 = Convert.ToInt32(groups1.ElementAt(8)), r1_9 = Convert.ToInt32(groups1.ElementAt(9)), r1_10 = Convert.ToInt32(groups1.ElementAt(10)), r1_11 = Convert.ToInt32(groups1.ElementAt(11)), r1_12 = Convert.ToInt32(groups1.ElementAt(12)), r1_13 = Convert.ToInt32(groups1.ElementAt(13)), r1_14 = Convert.ToInt32(groups1.ElementAt(14)), r1_15 = Convert.ToInt32(groups1.ElementAt(15)), r1_16 = Convert.ToInt32(groups1.ElementAt(16)), r1_17 = Convert.ToInt32(groups1.ElementAt(17)), r1_18 = Convert.ToInt32(groups1.ElementAt(18)), r1_19 = Convert.ToInt32(groups1.ElementAt(19)), r1_20 = Convert.ToInt32(groups1.ElementAt(20)), r1_21 = Convert.ToInt32(groups1.ElementAt(21)), r1_22 = Convert.ToInt32(groups1.ElementAt(22)), r1_23 = Convert.ToInt32(groups1.ElementAt(23)), // r1_24 = Convert.ToInt32(groups1.ElementAt(24)), r2 = Convert.ToInt32(rw_2), r2_0 = Convert.ToInt32(groups2.ElementAt(0)), r2_1 = Convert.ToInt32(groups2.ElementAt(1)), r2_2 = Convert.ToInt32(groups2.ElementAt(2)), r2_3 = Convert.ToInt32(groups2.ElementAt(3)), r2_4 = Convert.ToInt32(groups2.ElementAt(4)), r2_5 = Convert.ToInt32(groups2.ElementAt(5)), r2_6 = Convert.ToInt32(groups2.ElementAt(6)), r2_7 = Convert.ToInt32(groups2.ElementAt(7)), r2_8 = Convert.ToInt32(groups2.ElementAt(8)), r2_9 = Convert.ToInt32(groups2.ElementAt(9)), r2_10 = Convert.ToInt32(groups2.ElementAt(10)), r2_11 = Convert.ToInt32(groups2.ElementAt(11)), r2_12 = Convert.ToInt32(groups2.ElementAt(12)), r2_13 = Convert.ToInt32(groups2.ElementAt(13)), r2_14 = Convert.ToInt32(groups2.ElementAt(14)), r2_15 = Convert.ToInt32(groups2.ElementAt(15)), r2_16 = Convert.ToInt32(groups2.ElementAt(16)), r2_17 = Convert.ToInt32(groups2.ElementAt(17)), r2_18 = Convert.ToInt32(groups2.ElementAt(18)), r2_19 = Convert.ToInt32(groups2.ElementAt(19)), r2_20 = Convert.ToInt32(groups2.ElementAt(20)), r2_21 = Convert.ToInt32(groups2.ElementAt(21)), r2_22 = Convert.ToInt32(groups2.ElementAt(22)), r2_23 = Convert.ToInt32(groups2.ElementAt(23)), //r2_24 = Convert.ToInt32(groups2.ElementAt(24)), pw1 = Convert.ToInt32(dict["pw1"]), pw2 = Convert.ToInt32(dict["pw2"]), gp = Convert.ToInt32(dict["gp"]), te = dict["te"], vc = Convert.ToInt32(dict["vc"]), vg = Convert.ToInt32(dict["vg"]), ti = Convert.ToInt32(dict["ti"]), sn1 = dict["sn1"], sn2 = dict["sn2"], da = DateTime.ParseExact(dict["da"], "yyMMdd", null).Date, ismail = true, mail_uid = client.GetMessageUid(i_msg), date_inc = DateTime.Now }; context.package_iz.Add(package_iz); context.SaveChanges(); var qu = context.counters.FirstOrDefault(c => c.serial_amspi == ppu_na); if (qu != null) { qu.serial_r1 = dict["sn1"]; qu.serial_r2 = dict["sn2"]; context.SaveChanges(); } } catch (DbEntityValidationException ex) { MessageBox.Show(ex.ToString()); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } log.Write(message.FindFirstPlainTextVersion() .GetBodyAsText()); } } }
protected void PrepararCorreo() { try { using (CobranzasDataContext db = new CobranzasDataContext()) { idOperador.Value = Request["idOperador"];//Sesion.idOperador.ToString(); int id = Convert.ToInt32(Request["idCorreo"]); int Tipo = Convert.ToInt32(Request["Tipo"]); idCorreo.Value = id.ToString(); Entidades.Correos Correo = db.Correos.Single(x => x.idCorreo == id); try { List <Entidades.Correos> CorreoAnterior; List <Entidades.Correos> CorreoSiguiente; if (Tipo == 1) { CorreoSiguiente = db.Correos.Where(x => x.idOperador == Correo.idOperador && x.FechaCreacion < Correo.FechaCreacion && x.TipoEspecial == null && !x.Correos_Personas.Any() && x.RutaEml != null).OrderByDescending(x => x.FechaCreacion).Take(1).ToList(); CorreoAnterior = db.Correos.Where(x => x.idOperador == Correo.idOperador && x.FechaCreacion > Correo.FechaCreacion && x.TipoEspecial == null && !x.Correos_Personas.Any() && x.RutaEml != null).OrderBy(x => x.FechaCreacion).Take(1).ToList(); } else if (Tipo == 2) { CorreoSiguiente = db.Correos.Where(x => x.idOperador == Correo.idOperador && x.FechaCreacion < Correo.FechaCreacion && x.Correos_Personas.Any() && x.RutaEml != null && !x.Leido).OrderByDescending(x => x.FechaCreacion).Take(1).ToList(); CorreoAnterior = db.Correos.Where(x => x.idOperador == Correo.idOperador && x.FechaCreacion > Correo.FechaCreacion && x.Correos_Personas.Any() && x.RutaEml != null && !x.Leido).OrderBy(x => x.FechaCreacion).Take(1).ToList(); } else { CorreoSiguiente = new List <Entidades.Correos>(); CorreoAnterior = new List <Entidades.Correos>(); } if (CorreoSiguiente.Count == 0) { lnkSiguiente.Visible = false; } else { lnkSiguiente.HRef = "ctrlCorreo.aspx?idCorreo=" + CorreoSiguiente.First().idCorreo + "&idOperador=" + idOperador.Value + "&Tipo=" + Tipo; } if (CorreoAnterior.Count == 0) { lnkAnterior.Visible = false; } else { lnkAnterior.HRef = "ctrlCorreo.aspx?idCorreo=" + CorreoAnterior.First().idCorreo + "&idOperador=" + idOperador.Value + "&Tipo=" + Tipo; } } catch { } Correo.Leido = true; db.SubmitChanges(); lblAsunto.Text = Correo.Asunto; lblDestinatarios.Text = Server.HtmlEncode(Correo.Destinatarios); lblDestinatariosCopia.Text = Server.HtmlEncode(Correo.DestinatariosCopia); lblDestinatariosCopiaOculta.Text = Server.HtmlEncode(Correo.DestinatariosCopiaOculta); lblFecha.Text = Correo.FechaCreacion.ToString("dd/MM/yyyy HH:mm:ss tt"); String Mensaje = ""; //Boolean isHTML = true; if (Correo.Mensaje != null) { Mensaje = Correo.Mensaje; } if (Correo.RutaEml != null) { List <String> NoAdjuntos = new List <string>(); String Ruta = db.Parametros.Single(x => x.Clave == "RutaCorreos").Valor; OpenPop.Mime.Message m = OpenPop.Mime.Message.Load(new System.IO.FileInfo(Ruta + Correo.RutaEml + ".eml")); OpenPop.Mime.MessagePart Parte = m.FindFirstHtmlVersion(); if (Parte == null) { Parte = m.FindFirstPlainTextVersion(); } Mensaje = Parte.GetBodyAsText(); //isHTML = !m.MessagePart.IsText; if (Parte.ContentType.MediaType.ToLower() == "text/plain") { Mensaje = "<pre>" + Mensaje + "</pre>"; } try { foreach (Match Match in Regex.Matches(Mensaje, "\"(cid:(\\S+))\"")) { //Debug.Print(Match.ToString()); String ID = Match.Groups[2].Value; NoAdjuntos.Add(ID); try { OpenPop.Mime.MessagePart Parte2 = BuscarParte(ID, m.MessagePart); String Ext = Parte2.FileName; try { Ext = Ext.Substring(Ext.LastIndexOf(".")); } catch { Ext = ""; } String Ruta2 = Guardar(Parte2, id.ToString()); //Parte2.Save(new FileInfo(MapPath(Ruta2))); Mensaje = Mensaje.Replace(Match.Groups[0].Value, "\"" + Ruta2 + "\""); } catch { } } foreach (OpenPop.Mime.MessagePart Adjunto in m.FindAllAttachments()) { if (NoAdjuntos.Contains(Adjunto.ContentId)) { continue; } String Ruta2 = Guardar(Adjunto, id.ToString()); lblAdjuntos.Text += String.Format(@"</span><a href=""{0}"" title=""{2}"" target=""_blank"" class=""AdjuntoSL"">{1}</a><span>", Ruta2, Adjunto.ContentDisposition.FileName ?? "Adjunto", Adjunto.ContentDescription); } } catch { } } //lblAdjuntos.Text=@"</span><a href=""http://www.google.com"" target=""_blank"" class=""Adjunto"">aquí</a><span>"; lblRemitente.Text = Correo.Remitente; try { String RutaCorreo = (@"/Temp/Correo" + id.ToString() + (true ? ".html" : ".txt")); iframe.Attributes["src"] = RutaCorreo; File.WriteAllText(MapPath(RutaCorreo), Mensaje, System.Text.Encoding.UTF8); } catch { } } } catch (Exception Ex) { Ex.Registrar(); } }
private void listBoxMails_SelectedIndexChanged(object sender, EventArgs e) { // Check if the value should be ignored, in this case if it is below zero. if (listBoxMails.SelectedIndex < 0) return; // Retrieve the selected mail from the database. mailMessage = mailDatabase.ReadMail(textBoxMail.Text, listBoxMails.Items.Count - listBoxMails.SelectedIndex); // Check if an html format is present. if (mailMessage.FindFirstHtmlVersion() != null) // Show the html format in the webbrowser. webBrowserView.DocumentText = mailMessage.FindFirstHtmlVersion().GetBodyAsText(); // Check if an text format is present. else if (mailMessage.FindFirstPlainTextVersion() != null) // Show the text format in the webbrowser. webBrowserView.DocumentText = mailMessage.FindFirstPlainTextVersion().GetBodyAsText(); else // If nothing is found then output that something is wrong. webBrowserView.DocumentText = "Problems showing this mail, Contact Simon :-)"; }