private void Form_ConfigMail_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt = ClsHos.GetInfoHostEnvio(); DataRow Rws; try { Rws = dt.Rows[0]; textBox_Host.Text = Rws["host"].ToString(); textBox_Puerto.Text = Rws["puerto"].ToString(); textBox_Usuario.Text = Rws["usuario"].ToString(); textBox_Clave.Text = Rws["clave"].ToString(); } catch { textBox_Host.Text = "mail.flexorerp.mx"; textBox_Puerto.Text = "888"; textBox_Usuario.Text = "*****@*****.**"; textBox_Clave.Text = "Flex2013itx"; } dt = ClsHos.GetInfoHostRecepcion(); if (dt.Rows.Count > 0) { Rws = dt.Rows[0]; textBox_Host_Recep.Text = Rws["host"].ToString(); textBox_Puerto_Recep.Text = Rws["puerto"].ToString(); textBox_Correo_Recep.Text = Rws["usuario"].ToString(); textBox_Clave_Recep.Text = Rws["clave"].ToString(); } }
public bool EnviaCorreo(string idCorte, string receptor) { string HTML = getHTML(); DataTable dtCorte = ClsCorte.getListaWhere(" WHERE iidCorte = " + idCorte); if (dtCorte.Rows.Count == 0) { return(false); } HTML = HTML.Replace("{IDCORTE}", Convert.ToInt32(idCorte).ToString("000000")); string BodyContent = ""; BodyContent += "<br/>"; BodyContent += "<br/>"; BodyContent += "<center>No Corte: " + Convert.ToInt32(idCorte).ToString("000000") + "</center>"; BodyContent += "<center>" + dtCorte.Rows[0]["dfechaIn103"].ToString() + " " + dtCorte.Rows[0]["dfechaIn108"].ToString() + "</center>"; BodyContent += "<br/>"; BodyContent += "<center> V E N T A T O T A L </center>"; BodyContent += "<center>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fVentaTotal"].ToString())) + " </center>"; BodyContent += "<br/>"; BodyContent += "<table width='200' style='font-size:12px' align='center'>"; //BodyContent += "<tr><td width='100'>Propinas </td><td width='100' align='right'>" + string.Format("{0:c}",Convert.ToDouble(dtCorte.Rows[0]["fPropinaTotal"].ToString())) + "</td></tr>"; BodyContent += "<tr><td width='100'>Salidas </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fMontoSalidaDinero"].ToString())) + "</td></tr>"; BodyContent += "<tr><td width='100'>Entrada </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fMontoEntradaDinero"].ToString())) + "</td></tr>"; BodyContent += "<tr><td colspan='2' style='border-top:solid 1px #333;'> </td></tr>"; BodyContent += "<tr><td>Total Final </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fTotalFinal"].ToString())) + "</td></tr>"; BodyContent += "<tr><td>Entregado </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fTotalEntregado"].ToString())) + "</td></tr>"; if (Convert.ToDouble(dtCorte.Rows[0]["fTotalFinal"].ToString()) > Convert.ToDouble(dtCorte.Rows[0]["fTotalEntregado"].ToString())) { double Faltante = Convert.ToDouble(dtCorte.Rows[0]["fTotalFinal"].ToString()) - Convert.ToDouble(dtCorte.Rows[0]["fTotalEntregado"].ToString()); BodyContent += "<tr><td>Faltante</td><td width='100' align='right'>" + string.Format("{0:c}", Faltante) + "</td></tr>"; } else { if (Convert.ToDouble(dtCorte.Rows[0]["fTotalEntregado"].ToString()) > Convert.ToDouble(dtCorte.Rows[0]["fTotalFinal"].ToString())) { double Sobrante = Convert.ToDouble(dtCorte.Rows[0]["fTotalEntregado"].ToString()) - Convert.ToDouble(dtCorte.Rows[0]["fTotalFinal"].ToString()); BodyContent += "<tr><td>Sobrante</td><td width='100' align='right'>" + string.Format("{0:c}", Sobrante) + "</td></tr>"; } } BodyContent += "</table>"; BodyContent += "<br/>"; BodyContent += "<br/>"; BodyContent += "<center><b>ENTREGAS</b></center>"; BodyContent += "<table width='200' style='font-size:12px' align='center'>"; BodyContent += "<tr><td width='100'>Efectivo </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fEntregaEfectivo"].ToString())) + "</td></tr>"; BodyContent += "<tr><td width='100'>Credito </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fEntregaCreditoTC"].ToString())) + "</td></tr>"; BodyContent += "<tr><td width='100'>Debito </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fEntregaDebito"].ToString())) + "</td></tr>"; BodyContent += "<tr><td width='100'>Vales </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fEntregaVales"].ToString())) + "</td></tr>"; BodyContent += "<tr><td width='100'>Cheque </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fEntregaCheque"].ToString())) + "</td></tr>"; BodyContent += "<tr><td width='100'>Otro </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fEntregaOtro"].ToString())) + "</td></tr>"; BodyContent += "</table>"; BodyContent += "<br/>"; BodyContent += "<br/>"; BodyContent += "<center><b>VENTAS X FORMA DE PAGO</b></center>"; BodyContent += "<table width='200' style='font-size:12px' align='center'>"; BodyContent += "<tr><td width='100'>Efectivo </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fVentaEfectivo"].ToString())) + "</td></tr>"; BodyContent += "<tr><td width='100'>Credito </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fVentaCreditoTC"].ToString())) + "</td></tr>"; BodyContent += "<tr><td width='100'>Debito </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fVentaDebito"].ToString())) + "</td></tr>"; BodyContent += "<tr><td width='100'>Vales </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fVentaVales"].ToString())) + "</td></tr>"; BodyContent += "<tr><td width='100'>Cheque </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fVentaCheque"].ToString())) + "</td></tr>"; BodyContent += "<tr><td width='100'>Otro </td><td width='100' align='right'>" + string.Format("{0:c}", Convert.ToDouble(dtCorte.Rows[0]["fVentaOtro"].ToString())) + "</td></tr>"; BodyContent += "</table>"; BodyContent += "<br/>"; BodyContent += "<br/>"; BodyContent += "</table>"; BodyContent += "<br/>"; BodyContent += "<br/>"; BodyContent += "<br/>"; BodyContent += "<br/>"; HTML = HTML.Replace("{BODYCORTE}", BodyContent); DataTable dtInfo = ClsHost.GetInfoHostEnvio(); if (dtInfo.Rows.Count == 0) { return(false); } string host = dtInfo.Rows[0]["host"].ToString(); string puerto = dtInfo.Rows[0]["puerto"].ToString(); string usuario = dtInfo.Rows[0]["usuario"].ToString(); string clave = dtInfo.Rows[0]["clave"].ToString(); if (host == "" || usuario == "") { return(false); } char[] delimit = new char[] { ';' }; var mail = new MailMessage(); ContentType mimeType = new System.Net.Mime.ContentType("text/html"); AlternateView alternate = AlternateView.CreateAlternateViewFromString(HTML, mimeType); mail.AlternateViews.Add(alternate); foreach (string enviar_a in receptor.Split(delimit)) { mail.To.Add(new MailAddress(enviar_a)); } mail.IsBodyHtml = true; mail.From = new MailAddress("*****@*****.**"); mail.Subject = "Corte No." + idCorte; mail.Priority = MailPriority.Normal; SmtpClient cliente = new SmtpClient(); cliente.Host = host; cliente.Port = Convert.ToInt32(puerto); cliente.Credentials = new System.Net.NetworkCredential(usuario, clave); // cliente.EnableSsl = true; try { cliente.Send(mail); return(true); } catch { return(false); } }
private void toolStripButton_Enviar_Click(object sender, EventArgs e) { int contador = 0; string Folio = ""; string CodigoCupon = ""; string Correo = ""; string Vence = ""; string Utilizado = ""; string Porcentaje = ""; int diasVence = 0; dataGridView1.EndEdit(); foreach (DataGridViewRow registro in dataGridView1.Rows) { try { if ((Boolean)registro.Cells["Seleccionar"].Value == true) { contador++; Folio = registro.Cells["Folio"].Value.ToString(); CodigoCupon = registro.Cells["vchCodigo"].Value.ToString(); Vence = registro.Cells["Vence"].Value.ToString(); Correo = registro.Cells["Correo"].Value.ToString(); Porcentaje = registro.Cells["Descuento"].Value.ToString(); Utilizado = registro.Cells["Utilizado"].Value.ToString(); diasVence = Convert.ToInt32(registro.Cells["diasVence"].Value); } } catch { } } if (contador != 1) { MessageBox.Show("Debe seleccionar solo un registro."); return; } if (Utilizado == "SI") { MessageBox.Show("El cupon ya fue utilizado, por lo que no puede enviarse"); return; } if (diasVence <= 0) { MessageBox.Show("El cupon ya fue expirado"); return; } DialogResult resultado = MessageBox.Show(@"Esta seguro de eliminar este registro", "Confirmar!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (DialogResult.OK == resultado) { Classes.Herramientas.Class_HostMails ClsHos = new Classes.Herramientas.Class_HostMails(); Classes.Class_Empresa ClsEmp = new Classes.Class_Empresa(); DataTable dtHost = ClsHos.GetInfoHostEnvio(); if (dtHost.Rows.Count == 0) { MessageBox.Show("La configuración de envio de correo, no ha sido configurada aun"); return; } DataTable dtsresultEmp = ClsEmp.GetInfoById(Classes.Class_Session.IDEMPRESA.ToString()); if (dtsresultEmp.Rows.Count == 0) { MessageBox.Show("La configuración de empresa, no ha sido configurada aun"); return; } if (EnviarMail(dtHost, dtsresultEmp, Correo, CodigoCupon, Porcentaje, "Codigo de Descuento", Vence)) { MessageBox.Show("Cupon enviado por correo electronico"); return; } else { MessageBox.Show("Problema en el envio, favor de intentar mas tarde"); return; } } }
public bool EnviarMail(string id, string correos, string cupon, string Cantidad, string asuntoE, string vence) { DataTable dthost = ClsHsMail.GetInfoHostEnvio(); //Obtener informacion de envio string host = ""; string usuario = ""; string puerto = ""; string clave = ""; try { DataRow Rows; Rows = dthost.Rows[0]; host = Rows["host"].ToString(); puerto = Rows["puerto"].ToString(); usuario = Rows["usuario"].ToString(); clave = Rows["clave"].ToString(); } catch { MessageBox.Show("Es necesario configurar la cuenta de correo en herramientas/configurar correo."); button_Guardar.Enabled = true; return(false); } char[] delimit = new char[] { ';' };//Separador de correos var mail = new MailMessage(); //Obtengo los datos de la empresa DataTable dtsresultEmp = new DataTable(); dtsresultEmp = ClsEmp.GetInfoById(id); DataRow rows = dtsresultEmp.Rows[0]; string razonSocial = rows["vchRazon"].ToString(); //Se genera el body del Mail string bodyHtml = "<style type=\"text/css\"> "; bodyHtml += ".Estilo2 {font-family: Arial, Helvetica, sans-serif;font-size: 10px;color: #006699;}"; bodyHtml += ".Estilo1 {font-family: Arial, Helvetica, sans-serif;font-size: 11px;color:#000000;}"; bodyHtml += "</style></head><body><table width=\"700\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-size:12px; font-family:arial;\">"; bodyHtml += "<tr><td style=\"padding-bottom:8px;\"><img src=\"http://flexorerp.mx/img/flexor-mini.png\"></td></tr><tr>"; bodyHtml += "<td style=\"background-color:#E1E1E1; font-size:18px; color:#656565; padding:5px; font-weight:bold;\">Cupon de Descuento</td>"; bodyHtml += " </tr><tr><td height=\"44\" align=\"center\" style=\"background-color:#F4F4F4;\">"; bodyHtml += " Se ha generado un cupon de descuento por parte de Morrison Bar<br>"; bodyHtml += razonSocial + " , con los siguientes datos:</td>"; bodyHtml += " </tr>"; if (cupon != "") { bodyHtml += "<tr><td width=\"48%\" align=\"center\" class=\"Estilo1\" style=\"background-color:#E1E1E1; color:#656565; padding:5px; padding-left:10px;\"><b>Cupon: </b>" + cupon + " <b>Descuento de: </b>-" + Cantidad + "%</td>"; bodyHtml += "<tr><td width=\"48%\" align=\"center\" class=\"Estilo1\" style=\"background-color:#E1E1E1; color:#656565; padding:5px; padding-left:10px;\"><b>Fecha de Vencimiento: </b>" + vence + "</td>"; } bodyHtml += "<tr><td align=\"left\" valign=\"top\"></td></tr></table></td></tr><tr><td align=\"center\" style=\"background-color:#F4F4F4; padding:8px; font-size:16px; color:#656565;\"><em>"; bodyHtml += "</em></td></tr></table></td></tr></table><table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:arial; font-size:12px;\">"; bodyHtml += "<tr><td colspan=\"3\" height=\"30\" align=\"center\" style=\"font-size:10px;\">Si usted no solicitó está información, haz caso omiso de esté correo electrónico.</td>"; bodyHtml += "</tr><tr><td colspan=\"3\" height=\"40\" align=\"center\" style=\"background:#0F1837; color:#FFF;\">@ Copyright CHEFCONTROL Software| Todos los derechos Reservados | 2014</td></tr></table></body></html>"; //Se indica que el el tipo de body ContentType mimeType = new System.Net.Mime.ContentType("text/html"); AlternateView alternate = AlternateView.CreateAlternateViewFromString(bodyHtml, mimeType); //se agrega el body mail.AlternateViews.Add(alternate); string emisor = usuario; string receptor = correos; string asunto = asuntoE; // En caso de que sean multiples destinatarios se recorre el Array de receptor que contiene todos los mail destinatarios foreach (string enviar_a in receptor.Split(delimit)) { mail.To.Add(new MailAddress(enviar_a)); } mail.IsBodyHtml = true; // mail.Body = ""; mail.From = new MailAddress(emisor); //con copia mail.Subject = asunto; // mail.Body = mensajeBody; mail.Priority = MailPriority.Normal; //Obtener los archivos a enviar //declaracion del arreglo que guardara las rutas de los archivos a enviar var archivos = new ArrayList(); //Crea una secuencia cuyo almacén de respaldo es la memoria. MemoryStream memoryStream = new MemoryStream(); foreach (string arhpath in archivos) { try { //Con el memoryStream Libera los archivos MemoryStream ms = new MemoryStream(File.ReadAllBytes(arhpath)); //Adjunta el archivo //Attachment dts = new Attachment(ms, MediaTypeNames.Application.Octet); string nameFile = arhpath.Replace("Ctemp", ""); nameFile = nameFile.Replace("C:\\temp\\", ""); Attachment dts = new Attachment(ms, nameFile, MediaTypeNames.Application.Octet); mail.Attachments.Add(dts); } catch { } } SmtpClient cliente = new SmtpClient(); cliente.Host = host; cliente.Port = Convert.ToInt32(puerto); cliente.Credentials = new System.Net.NetworkCredential(usuario, clave); try { //Envía el mensaje. cliente.Send(mail); //Si se envia return(true); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); button_Guardar.Enabled = true; //ClsLogs.InsertaInformacion(ex.ToString(), "Envio de correo electronico"); return(false); } }
public bool EnviarMail(string correos, string mensaje, string asuntoE) { DataTable dthost = ClsHsMail.GetInfoHostEnvio(); //Obtener informacion de envio if (dthost.Rows.Count == 0) { MessageBox.Show("Es necesario configurar la cuenta de correo en herramientas/configurar correo."); ClsLogs.InsertaInformacion("Envio de facturas", "Es necesario configurar la cuenta de correo en herramientas/configurar correo."); return(false); } string host = dthost.Rows[0]["host"].ToString(); string usuario = dthost.Rows[0]["usuario"].ToString(); string puerto = dthost.Rows[0]["puerto"].ToString(); string clave = dthost.Rows[0]["clave"].ToString(); char[] delimit = new char[] { ';' };//Separador de correos var mail = new MailMessage(); //Se genera el body del Mail string bodyHtml = "<style type=\"text/css\"> "; bodyHtml += ".Estilo2 {font-family: Arial, Helvetica, sans-serif;font-size: 10px;color: #006699;}"; bodyHtml += ".Estilo1 {font-family: Arial, Helvetica, sans-serif;font-size: 11px;color:#000000;}"; bodyHtml += "</style></head><body><table width=\"700\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-size:12px; font-family:arial;\">"; bodyHtml += "<tr><td style=\"padding-bottom:8px;\"><img src=\"http://flexorerp.mx/img/flexor-mini.png\"></td></tr><tr>"; bodyHtml += "<td style=\"background-color:#E1E1E1; font-size:18px; color:#656565; padding:5px; font-weight:bold;\">Generación de CFDI</td>"; bodyHtml += " </tr><tr><td height=\"44\" align=\"center\" style=\"background-color:#F4F4F4;\">"; bodyHtml += " Se ha generado una nueva factura eletrónica por parte de la empresa <br>"; bodyHtml += NombreEpresa + " , con los siguientes datos:</td>"; bodyHtml += " </tr><tr><td align=\"center\" style=\"background-color:#F4F4F4;\">"; bodyHtml += "<table width=\"90%\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-size:12px; font-family:arial;\">"; bodyHtml += "<tr><td width=\"48%\" align=\"left\" class=\"Estilo1\" style=\"background-color:#E1E1E1; color:#656565; padding:5px; padding-left:10px;\"><b>Información </b></td>"; bodyHtml += " <tr><td align=\"left\" valign=\"top\" style=\"padding:10px;\">"; bodyHtml += "<table style=\"font-size:12px; font-family:arial;\"><tr><td width=\"280\"><b>UUID</b></td>"; bodyHtml += "<td width=\"55\"><b>Folio</b></td><td width=\"75\"><b>Importe</b></td><td width=\"120\"><b>Fecha timbrado</b></td></tr>"; foreach (DataRow RowFac in dtFacs.Rows) { string uuidb = RowFac["vchuuid"].ToString(); string fechaTim = RowFac["dfechaTimbrado"].ToString(); string folio = RowFac["vchSerie"].ToString() + "-" + RowFac["iFolio"].ToString(); string total_Formateado = string.Format("{0:00.00}", Convert.ToDouble(RowFac["ftotal"].ToString())); bodyHtml += "<tr> <td width=\"280\">" + uuidb + "</td>"; bodyHtml += " <td width=\"55\">" + folio + "</td>"; bodyHtml += " <td width=\"75\">" + total_Formateado + "</td>"; bodyHtml += " <td width=\"120\">" + fechaTim + "</td></tr>"; } bodyHtml += " </table></td></tr>"; if (mensaje != "") { bodyHtml += "<tr><td width=\"48%\" align=\"left\" class=\"Estilo1\" style=\"background-color:#E1E1E1; color:#656565; padding:5px; padding-left:10px;\"><b>Mensaje: </b></td><tr> "; bodyHtml += "<tr><td align=\"left\">" + mensaje + "</td></tr>"; } bodyHtml += "<tr><td align=\"left\" valign=\"top\"></td></tr></table></td></tr><tr>"; bodyHtml += "<td width=\"371\" align=\"center\" style=\"background-color:#F4F4F4; padding-top:10px; font-size:11px; padding-bottom:8px;\">"; bodyHtml += "<p align=\"center\"><b>Asi mismo adjuntamos una copia del CFDI en formato XML y una copia de la representación grafica del CFDI para su descarga.</b><b></b></p>"; bodyHtml += "</td></tr><tr><td align=\"center\" style=\"background-color:#F4F4F4; padding:8px; font-size:16px; color:#656565;\"><em>"; bodyHtml += "</em></td></tr></table></td></tr></table><table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:arial; font-size:12px;\">"; bodyHtml += "<tr><td colspan=\"3\" height=\"30\" align=\"center\" style=\"font-size:10px;\">Si usted no solicitó está información, haz caso omiso de esté correo electrónico.</td>"; bodyHtml += "</tr><tr><td colspan=\"3\" height=\"40\" align=\"center\" style=\"background:#0F1837; color:#FFF;\">@ Copyright FLEXOR ERP Software| Todos los derechos Reservados | 2012</td></tr></table></body></html>"; ContentType mimeType = new System.Net.Mime.ContentType("text/html"); AlternateView alternate = AlternateView.CreateAlternateViewFromString(bodyHtml, mimeType); mail.AlternateViews.Add(alternate); string emisor = usuario; string receptor = correos; string asunto = asuntoE; foreach (string enviar_a in receptor.Split(delimit)) { mail.To.Add(new MailAddress(enviar_a)); } mail.IsBodyHtml = true; mail.From = new MailAddress(emisor); mail.Subject = asunto; mail.Priority = MailPriority.Normal; var archivos = new ArrayList(); foreach (DataRow RowFac in dtFacs.Rows) { string rutaName = ClsFactura.GetNamePdf(RowFac["vchuuid"].ToString()); if (GeneraPDF(RowFac, rutaArch + rutaName + ".pdf") == true) { archivos.Add(rutaArch + rutaName + ".pdf"); } string archivo = (string)RowFac["vchCfdi"]; System.IO.StreamWriter sw = new System.IO.StreamWriter(rutaArch + rutaName + ".xml"); sw.WriteLine(archivo); sw.Close(); archivos.Add(rutaArch + rutaName + ".xml"); } MemoryStream memoryStream = new MemoryStream(); foreach (string arhpath in archivos) { try { MemoryStream ms = new MemoryStream(File.ReadAllBytes(arhpath)); string nameFile = arhpath.Replace("Ctemp", ""); nameFile = nameFile.Replace("C:\\temp\\", ""); Attachment dts = new Attachment(ms, nameFile, MediaTypeNames.Application.Octet); mail.Attachments.Add(dts); } catch { } } SmtpClient cliente = new SmtpClient(); cliente.Host = host; cliente.Port = Convert.ToInt32(puerto); cliente.Credentials = new System.Net.NetworkCredential(usuario, clave); // cliente.EnableSsl = true; try { cliente.Send(mail); return(true); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); ClsLogs.InsertaInformacion(ex.ToString(), "Envio de correo electronico"); return(false); } }