¿Alguna forma de envíar correos por Outlook?

publicado por: Anonymous

Este es el problema:

Estoy realizando un proyecto, en una empresa en la que estoy de “prácticas” como becario y tal, la cosa es que me han encomendado un proyecto, para revisar ciertas cosas y demás, lo que yo quería era saber si mediante C# hay alguna forma de enviar correos por outlook, si es así, agradecería si me echáis una mano diciéndome que clases usar o que librerías.

Gracias.

Creo que el outlook está configurado como POP3, fui capaz de hacerlo por SMTP, más o menos…

solución

Esta función recibe como parámetros la dirección, el campo asunto, y el contenido principal. Podemos usar HTML para dar formato al contenido del email, o bien usar texto plano.

public static Boolean SendEmailWithOutlook(string mailDirection, string mailSubject, string mainContent)
{
    try
    {
        var oApp = new Outlook.Application();

        Microsoft.Office.Interop.Outlook.NameSpace ns = oApp.GetNamespace("MAPI");
        var f = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

        System.Threading.Thread.Sleep(1000);

        var mailItem = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
        mailItem.Subject = mailSubject;
        mailItem.HTMLBody = mailContent;
        mailItem.To = mailDirection;
        mailItem.Send();

    }
    catch (Exception ex)                           
    {
        return false;
    }
    finally
    {
    }
    return true;
}

Es un código sencillo. Simplemente creamos un objeto de aplicación Outlook y usamos este para crear un nuevo email. Luego asignamos la dirección, asunto y contenido, y finalmente procedemos a su envío.

USO DE LA FUNCIÓN

A continuación un ejemplo directamente desde la función Main.

static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    string mailDirection = "[email protected]";
    string mailSubject = "Subject test";

    string mainContent;
    mainContent = "Mensaje de prueba";
    mainContent += "<br>" + "Otra línea";
    mainContent += "<br>" + "Otra línea";

    SendEmailWithOutlook(mailDirection, mailSubject, mailContent);
}

Simplemente creamos cadenas de texto con los campos necesarios, y empleamos nuestra función para realizar el envío.

Aquí encontraras otros ejemplos

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *