Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   HTML-Mail kommen bei Outlook-Empfängern nicht korrekt an (https://www.delphipraxis.net/182188-html-mail-kommen-bei-outlook-empfaengern-nicht-korrekt.html)

pesi 8. Okt 2014 09:07

HTML-Mail kommen bei Outlook-Empfängern nicht korrekt an
 
Hallo,

ich versende HTML-Mails (inkl. Bilder und Text) direkt aus meinem Programm heraus.
Bei einigen Empfängern, die mit Outlook arbeiten, kommt aber leider die Mail in einem ziemlich
desolaten Zustand an, nämlich eine mehr oder minder leere Mail mit Anhängen für die Bilder
und einem HTML-Anhang der die eigentliche Mail enthält.

Der Admin dort hat schon einiges an dem neuen Server versucht, ist aber bisher wohl nicht so recht
weitergekommen.

Gibt es etwas, was ich an meinen Mails ändern könnte um den Fehler bei diesen Empfängern zu vermeiden???

Meine HTML-Mail geht so los:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=unicode" />
<title>Helpdesk Information</title>

und hier noch ein paar Zeilen Code vom versenden der Mail aus meinem Programm:

email1.Subject := Titel+Trim(Form1.ed_Title.Text);
email1.ContentType := 'multipart/mixed';
email1.Body.Assign(html1);

txtpart := TIdText.Create(email1.MessageParts);
txtpart.ContentType := 'text/plain';
txtpart.Body.Text := '';

htmpart := TIdText.Create(email1.MessageParts, html1);
htmpart.ContentType := 'text/html';

Header:=TIdAttachmentFile.Create(email1.MessagePar ts,Home+Bild);
Header.ContentType := 'image/jpeg';
Header.ContentDisposition := 'inline';
Header.ExtraHeaders.Values['content-id'] := Bild;
Header.DisplayName := Bild;


Wäre super, wenn ich was ändern könnte. Der Admin am Outlook-Server scheint im Moment etwas überfordert :shock:

Danke & Grüße
Peter

mjustin 8. Okt 2014 09:13

AW: HTML-Mail kommen bei Outlook-Empfängern nicht korrekt an
 
Ist es die allerneueste Indy 10.6 Version?

Und wenn ich richtig sehe, dass ausserdem noch ein JPG-Bild angehängt wird: funktioniert es nur mit Bild nicht, oder auch ohne Bild nicht?

Harry Stahl 8. Okt 2014 21:58

AW: HTML-Mail kommen bei Outlook-Empfängern nicht korrekt an
 
Ich nehme mal an, dass hier Dein "multipart/mixed" der Grund ist. "multipart/mixed" gibt dem Mailprogramm an, dass es sich bei den Informationen um unterschiedliche Inhalte handelt, die einzeln anzuzeigen sind.

Wenn Du "multipart/alternative" nimmst, sollte die Mail als HTML-Mail richtig angezeigt werden. Eigentlich wäre es hierfür dann aber korrekt, auch einen alternativen ANSI-Text in den "text/plain" part zu setzten, da ansonsten das eine oder andere Mailprogramm den Text (eigentlich richtig) in der "reinen Textansicht" als leeren Text wiedergibt. Da der plain text bei Dir keinen Inhalt hat, kannst Du den eigentlich auch weglassen und die Mail direkt mit dem Content-Type "text/html" versenden.

Da es für mich als Entwickler eines Mailprogramms es ja fast schon ein "Hobby" ist, sich mit diversen Mailkonstruktionen auseinanderzusetzen, kannst Du mir bei Bedarf auch gerne mal so eine Mail zusenden (an meine Hastasoft-Kontaktadresse, siehe Homepage), ich sage Dir dann, wie sie ankommt und was mein Programm daraus gemacht hat.:wink:

Sir Rufo 8. Okt 2014 22:45

AW: HTML-Mail kommen bei Outlook-Empfängern nicht korrekt an
 
OT

So hübsch die bunten Farben auch sind, warum benutzt du keine Code-Tags?
HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=unicode" />
  <title>Helpdesk Information</title>
Delphi-Quellcode:
 email1.Subject := Titel+Trim(Form1.ed_Title.Text);
 email1.ContentType := 'multipart/mixed';
 email1.Body.Assign(html1);

 txtpart := TIdText.Create(email1.MessageParts);
 txtpart.ContentType := 'text/plain';
 txtpart.Body.Text := '';

 htmpart := TIdText.Create(email1.MessageParts, html1);
 htmpart.ContentType := 'text/html';

 Header:=TIdAttachmentFile.Create(email1.MessageParts,Home+Bild);
 Header.ContentType := 'image/jpeg';
 Header.ContentDisposition := 'inline';
 Header.ExtraHeaders.Values['content-id'] := Bild;
 Header.DisplayName := Bild;

pesi 9. Okt 2014 08:34

AW: HTML-Mail kommen bei Outlook-Empfängern nicht korrekt an
 
Hallo

@mjustin: Kein Indi, nur die "normale" SMTP Mailfunktion in XE5

@Harry: Danke, hab jetzt schon mal ein bißchen mit diesen Einstellungen rumgespielt und noch ein wenig gegoogelt, bin aber nicht wirklich erfolgreich gewesen bisher. Wenn ich auf alternative stelle, dann werdem beim Empfänger nur noch wilde Zeichen angezeigt (egal ob ich einen Plain-Text angebe oder den Teil einfach weglasse)

@Sir Rufo: MIST..... ich hatte es gestern noch gesucht (weil ich genau wusste, dass so ein Kommentar kommt :oops:) und, wie ich jetzt gesehen habe, wohl einfach Tomaten auf den Augen gehabt. JETZT hab ich die Button auch gesehen :cyclops:

Sherlock 9. Okt 2014 08:46

AW: HTML-Mail kommen bei Outlook-Empfängern nicht korrekt an
 
Delphi-Quellcode:
 txtpart := TIdText.Create(email1.MessageParts);
 txtpart.ContentType := 'text/plain';
 txtpart.Body.Text := '';
Das dürfte zumindest den leeren Textanteil auf Empfängerseite erklären...
Du solltest immer sowohl HTML als auch Plaintext füllen, auch wenn es mehr Arbeit ist. HTML-Mails haben nunmal ein "Geschmäckle" unter Windows in Outlook auch zu Recht - man denke nur an die garstigen Möglichkeiten allein schon in der Vorschau.

Sherlock

mjustin 9. Okt 2014 10:14

AW: HTML-Mail kommen bei Outlook-Empfängern nicht korrekt an
 
Zitat:

Zitat von pesi (Beitrag 1275349)

@mjustin: Kein Indi, nur die "normale" SMTP Mailfunktion in XE5


TIdAttachmentFile sind TIdText sind Klassen der Internet Direct (Indy) Open Source Bibliothek (und in Delphi enthalten).
Daher mein Hinweis auf ein eventuell helfendes Update der Indys...

Olli73 9. Okt 2014 15:05

AW: HTML-Mail kommen bei Outlook-Empfängern nicht korrekt an
 
Zitat:

Zitat von pesi (Beitrag 1275349)
Hallo
Wenn ich auf alternative stelle, dann werdem beim Empfänger nur noch wilde Zeichen angezeigt (egal ob ich einen Plain-Text angebe oder den Teil einfach weglasse)

Du hast doch (mindestens) 3 Teile (text, html, jpeg), wobei text und html alternativ angezeigt werden sollen?

Dann benötigst du eine Kombination aus mixed und alternative.

Gruß
Olli

pesi 9. Okt 2014 18:11

AW: HTML-Mail kommen bei Outlook-Empfängern nicht korrekt an
 
@Olli: Was meinst Du mit "Dann benötigst du eine Kombination aus mixed und alternative"???

Ich kann doch nur email1.ContentType := 'multipart/mixed'; ODER email1.ContentType := 'multipart/alternative'; angeben, oder habe ich da was falsch verstanden? :oops:


Mittlerweile habe ich von anderen Outlook Mailempfänger erfahren, dass bei denen die Mail auch leer bzw. HTML und Bilder als Anhänge ankommen. ...und diese Empfänger haben nicht die Outlook-Weboberfläche sondern ein "richtiges" Outlook!
Das Elend muss doch irgendwie bei denen liegen, am Client oder am Exchange-Server! Selbst mein Windows Live Mail zeigt es richtig an und direkt im Web, bei GMX, wird alles korrekt angezeigt. :evil::evil::evil:

Olli73 9. Okt 2014 20:00

AW: HTML-Mail kommen bei Outlook-Empfängern nicht korrekt an
 
Zitat:

Zitat von pesi (Beitrag 1275458)
@Olli: Was meinst Du mit "Dann benötigst du eine Kombination aus mixed und alternative"???

Ich kann doch nur email1.ContentType := 'multipart/mixed'; ODER email1.ContentType := 'multipart/alternative'; angeben, oder habe ich da was falsch verstanden? :oops:

Die MessageParts (TidText etc.) haben ja auch einen ContentType, im Prinzip brauchst du eine Art Baumstruktur, siehe hier.

Gruß
Olli


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:10 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz