Feedback

C# - Email über Outlook verschicken

Veröffentlicht von am 19.08.2009
(2 Bewertungen)
Code zum Verschicken einer Email über Outlook

GFU-Schulungen  [Anzeige]

C# Aufbaukurs

Sie haben grundlegende .NET- und C#-Kenntnisse und und wollen diese nun erweitern. Der Aufbaukurs C# führt Sie ein die Arbeit mit Interfaces und Delegates, Generics und Parallel Computing.

C# 2017/2015/2013 Aufbau

In dieser Schulung lernen Sie fortgeschrittene Techniken im Bereich .Net C#. Dabei stehen neben den eigentlichen Techniken auch architektonische Aspekte im Mittelpunkt.

//Verweis auf COM -> Outlook dem Projekt hinzufügen

public static void sendmail(string EmailTo, string Subject, string MailBody)
{
    try
    {
        Microsoft.Office.Interop.Outlook.NameSpace lo_NSpace;
        Microsoft.Office.Interop.Outlook.MAPIFolder lo_Folder;
        Microsoft.Office.Interop.Outlook.Application lo_OutApp;
        Microsoft.Office.Interop.Outlook.MailItem lo_Item;

        lo_OutApp = new Microsoft.Office.Interop.Outlook.Application();

        lo_NSpace = lo_OutApp.GetNamespace("MAPI");

        lo_Folder = lo_NSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderSentMail);

        lo_Item = (Microsoft.Office.Interop.Outlook.MailItem)lo_Folder.Items.Add(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);

        lo_Item.To = EmailTo;

        //Wenn man cc oder bcc verschicken will
        //lo_Item.CC = EmailCC;
        //lo_Item.BCC = EmailBCC;

        //wenn man möchte kann man noch Flaggen und Fälligkeit definieren
        //lo_Item.FlagStatus = Microsoft.Office.Interop.Outlook.OlFlagStatus.olFlagMarked;
        //lo_Item.FlagIcon = Microsoft.Office.Interop.Outlook.OlFlagIcon.olRedFlagIcon;
        //lo_Item.FlagDueBy = DateTime.Now.AddDays(7);

        lo_Item.Subject = Subject;
        lo_Item.Body = MailBody;
        //NachrichtenFormat
        lo_Item.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatRichText;

        //Anzeigen modal
        lo_Item.Display(false);

        //Senden der Mail
        lo_Item.Send();
    }
    catch (Exception ex)
    {
        throw ex;
    }
}




Abgelegt unter Outlook, email, verschicken, mapi.

2 Kommentare zum Snippet

WiglWagl schrieb am 15.04.2014:
Hi,

vielen Dank für den Code-Snipe. Ich habe eine Frage dazu. Gibt es eine Möglichkeit einen Wert einer email mitzuschicken, die der Empfänger nutzen könnte?
Ich habe eine kleine Anwendung, welche mir in einer Software einen Datensatz anlegt und die ID im Email speichert. So lang die mail bei mir im Outlook ist, alles bestens. Leite ich die Mail weiter, geht die Information verloren. Gibt es da eine Möglichkeit?

Vielen Dank
lg
TBBsolutions schrieb am 15.04.2014:
ich denke hier spontan an den Mail Header, bei smtp kann man diesen setzen

System.Web.Mail.MailMessage msg = new System.Web.Mail.MailMessage();
msg.Headers.Add("X-ID"myid,"blabla");

was ist mit einem Anhang der xml enthält?
 

Logge dich ein, um hier zu kommentieren!