Feedback

C# - Email über Outlook verschicken

Veröffentlicht von am 8/19/2009
(2 Bewertungen)
Code zum Verschicken einer Email über Outlook

//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 4/15/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 4/15/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!