[ Foro de C# ]

Enviar contenido de list box por email

02-Dec-2019 21:35
Invitado (mclock)
2 Respuestas

tengo el siguiente codigo para enviar el correo pero el body del correo se envia vacio por favor ayuda


private void button2_Click(object sender, EventArgs e)
        {
            CNSueldo objn = new CNSueldo();



                StringBuilder sb = new StringBuilder();
                 foreach (object item in listBox1.SelectedItems)
                 {
                      sb.Append(item.ToString() + ", ");
                 }
                 string resultado = sb.ToString();
                  System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
                    msg.To.Add(txt1.Text);
                    msg.Subject = "Presupuesto";
                    msg.SubjectEncoding = System.Text.Encoding.UTF8;
                    //para copias 
                    msg.Bcc.Add(UserLoginCache.Email);
                    msg.Body = Image.FromFile(;
                     msg.From = new System.Net.Mail.MailAddress(UserLoginCache.Email);

                    System.Net.Mail.SmtpClient cliente = new System.Net.Mail.SmtpClient();

                    cliente.Credentials = new System.Net.NetworkCredential("gmcoin11@gmail.com", "123789456963");
                    cliente.Port = 587;
                    cliente.EnableSsl = true;
                    cliente.Host = "smtp.gmail.com";
                    try
                    {
                        cliente.Send(msg);
                        MessageBox.Show("se envio correctamente");
                        try
                        {
                            txt1.Clear();
                            txt1.Visible = false;
                            listBox1.Items.Clear();
                            listBox1.Visible = false;
                            button2.Visible = false;

                         }
                        finally { }

                    }
                    catch (Exception)
                    {

                        MessageBox.Show("error al enviar");
                    }
                  }
                }


 


04-Dec-2019 23:01
Nacho Cabanes (+84)

Eso está incompleto. La línea del "Body" es claramente incorrecta:

msg.Body = Image.FromFile(;


21-Dec-2019 22:24
Roy Mata

Body debe ser un string. En tu caso deberias pasarle el contenido de la variable resultado:
msg.Body = resultado;
Por otro lado, para envio de e-mail utilizando el servidor de Google, lo recomendable (y más eficaz) es utilizar el puerto 465. Y, como lo que estas pasando es texto plano, podrias poner en false la codificacion HTML en el cuerpo del mensaje, para evitar inconsistencias:
cliente.Port = 465;
msg.IsBodyHtml - false;






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)