Laden...

Outllook 2010 Hyperlinks in autom. Signatur fehlerhaft

Erstellt von x-03 vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.373 Views
X
x-03 Themenstarter:in
2 Beiträge seit 2013
vor 10 Jahren
Outllook 2010 Hyperlinks in autom. Signatur fehlerhaft

Hallo Leute!

Ich erzeuge in meinem Programm ein neues Mail-Dokument, welches ich mit einer Adresse versehe und dann dem geneigten Anwender zur weiteren Bearbeitung anbiete. Das Mail-Dokument erhält automatisch eine Signatur (da habe ich nix mit zu tun, das macht Outlook), welche zwei Hyperlinks (Mailadresse und Internetseite) enthält.

Nun möchte ich dem (bis auf die Signatur) noch nicht vorhandenen Mail-Text den String "Sehr geehrte Damen und Herren," voranstellen. In diesem Moment gehen die Hyperlinks in der Signatur kaputt, und da steht dann HYPERLINK "mailto:xxx.xxx@yyy.com"xxx.xxx@yyy.com.

Und so sieht das Programm (ausschnittsweise) aus:

using Outlook = Microsoft.Office.Interop.Outlook;

namespace myProgram
{
static class Program
{
public static void WriteEmail(List<ContactRecord>Contacts, string Address)
{
String Receivers = "vorname.nachname@firma.com";

Outlook.Application MailApp = new Outlook.Application();
Outlook._MailItem MailDocument = MailApp.CreateItem(Outlook.OlItemType.olMailItem);
MailDocument.To = Receivers;
MailDocument.Display();

// Bis hierher ist alles in Ordnung und das Dokument wird richtig angezeigt. Jetzt möchte ich eine
// Anrede hinzufügen ...

MailDocument.Body = "Sehr geehrte Damen und Herren,\n" + MailDocument.Body;
// ... und hier sind dann die Hyperlinks in der Signatur kaputt
}

Wenn ich mit MailDocument.Body im Debug-Modus ansehe, befindet sich darin auch bereits HYPERLINK "mailto:xxx.xxx@yyy.com"xxx.xxx@yyy.com.

Ich habe den Eindruck, dass das Ganze in Outlook 2007 noch funktioniert hat, leider kann ich das nicht mehr überprüfen.

Ich verwende Windows 7, Outlook 2010 und Visual Studio C# 2010 Express.

Es wäre schön, wenn mir jemand bei diesem problem helfen könnte.
Dafür jetzt schon einmal vielen Dank!

mfG

Markus

M
53 Beiträge seit 2008
vor 10 Jahren

moin x-03

versuch mal die HTMLBody Eigenschaft anzupassen

Gruß
muhtanten

X
x-03 Themenstarter:in
2 Beiträge seit 2013
vor 10 Jahren

Ja, das funktioniert!

Es ist nur etwas schwierig, im HTML-Body die Stelle herauszufinden, an der ich meinen Text einfügen kann. Jetzt sieht es so aus:


using Outlook = Microsoft.Office.Interop.Outlook;

namespace myProgram
{
static class Program
{
public static void WriteEmail(List<ContactRecord>Contacts, string Address)
{
String Receivers = "vorname.nachname@firma.com";

Outlook.Application MailApp = new Outlook.Application();
Outlook._MailItem MailDocument = MailApp.CreateItem(Outlook.OlItemType.olMailItem);
MailDocument.To = Receivers;
MailDocument.Display();

// Neu
string HTML = MailDocument.HTMLBody;

// darauf kann ich mich eigentlich nicht verlassen, aber zum Ausprobieren muss das reichen
int i = HTML.IndexOf("&nbsp;"); 

string p1 = HTML.Substring(0, i);
string p2 = HTML.Substring(i + 6);
HTML = p1 + Address + p2;
MailDocument.HTMLBody = HTML;

//MailDocument.Body = "Sehr geehrte Damen und Herren,\n" + MailDocument.Body;
}

Vielen Dank für die Unterstützung !