Sprache: C#
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;
}
}
//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;
}
}
Alte URL:
/snippet/email-ueber-outlook-verschicken/1205
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
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?