none
Configurar cuenta remitente al enviar un mail con Microsoft.Office.Interop.Outlook.MailItem RRS feed

  • Pregunta

  • Buen día, tengo una aplicación en WPF, en ella utilizo una función que envía mails con documentos adjuntos y está funcionando muy bien, lo único es que debo tener mi Outlook abierto cuando la ejecuto para que funcione.

    La pregunta es, ¿hay alguna manera en la que le pueda configurar dentro de mi función, cuál es el usuario y contraseña del mail que será el remitente, o sea, el que va a enviar el mail? para no tener que tener abierto el Outlook, y ¿Cómo le digo que esa cuenta y contraseña corresponden a un mail de Hotmail?

    Saludos y gracias


    cyndyrdz

    jueves, 18 de junio de 2020 22:27

Respuestas

  • Ya me funcionó, hice esta función:

    public void sendEMailThroughNET(string PDFAdjunto, string XMLAdjunto, string[] to, string subject, string body)
    {
        string fromEmail = "mimail@mail.com.mx";
        string credEmail = "micontraseña";
    
        try
        {
            using (System.Net.Mail.MailMessage myMail = new System.Net.Mail.MailMessage())
            {
                myMail.From = new MailAddress(fromEmail);
    
                //Agrega destinatarios
                if (to[0] != string.Empty && to[0] != null)
                {
                    myMail.To.Add(to[0]);
                }
                if (to[1] != string.Empty && to[1] != null)
                {
                    myMail.To.Add(to[1]);
                }
    
                myMail.CC.Add("concopia@gmail.com"); 
                System.Net.Mail.Attachment oAttach1 = new Attachment(XMLAdjunto);
                System.Net.Mail.Attachment oAttach2 = new Attachment(PDFAdjunto);
    
                myMail.Attachments.Add(oAttach1);
                myMail.Attachments.Add(oAttach2);
                myMail.Subject = subject;
                myMail.IsBodyHtml = false;
    
                myMail.Body = body;
    
                using (System.Net.Mail.SmtpClient s = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587))
                {
                    s.DeliveryMethod = SmtpDeliveryMethod.Network;
                    s.UseDefaultCredentials = false;
                    s.Credentials = new System.Net.NetworkCredential(myMail.From.ToString(), credEmail);
                    s.EnableSsl = true;
                    s.Send(myMail);
                }
            }
        }
        catch (System.Exception e)
        {
            Mensaje = new wMensaje("Error en envío de Mail", DateTime.Now.ToString()
                + System.Environment.NewLine + subject
                + System.Environment.NewLine + " De: '" + fromEmail + "' "
                + System.Environment.NewLine + " Para: '" + to[0] + "', '" + to[1] + "' '"
                + System.Environment.NewLine + System.Environment.NewLine + " Error: "
            + System.Environment.NewLine + System.Environment.NewLine
            + (e.InnerException == null ? e.Message : e.InnerException.ToString()));
            Mensaje.ShowDialog();
        }
    }
    

    por si a alguien le sirve...


    cyndyrdz

    viernes, 3 de julio de 2020 16:24