Sendmail aufruf im HTML Format (Mail mit HTML Inhalten) ???
Max
- perl
0 Philipp Hasenfratz0 Cheatah
Hallo,
Ich habe einen Form Mailer in Perl, zum versenden von Formularinhalten, geht auch wunderbar. Aber es geht nicht das die Email HTML Code enthält dieser wird dann verhindert d.h. "<" wird zu "&glt;" usw.
Quelltextausschnitt:
--------------------------------------------------------------
open(MAIL,"|$Sendmail_Prog -t");
print MAIL "To: $mailto\n";
print MAIL "Subject: $subject\n\n";
print MAIL "$mailtext\n";
close(MAIL);
--------------------------------------------------------------
Meine Frage hängt das an dem Aufruf von Sendmail das die Daten
nur als Text versendet werden und nicht als html. (-t) ???
2. Frage wie muß der aufruf lauten das die Mail in Html form versand wird ???
Bin für jede Hilfe Dankbar.
Halihallo Max
Ich habe einen Form Mailer in Perl, zum versenden von Formularinhalten, geht auch wunderbar. Aber es geht nicht das die Email HTML Code enthält dieser wird dann verhindert d.h. "<" wird zu "&glt;" usw.
Unterbinde diese Transformation.
open(MAIL,"|$Sendmail_Prog -t");
|| die "Konnte sendmail nicht öffnen: $!";
print MAIL "To: $mailto\n";
print MAIL "Subject: $subject\n\n";
Du musst dem Mail-Client sagen, welchen MIME-Typen er erhält. Im Falle von Textinhalt
ist dies print MAIL "Content-Type: text/plain\n", im Falle von HTML
"print MAIL "Content-Type: text/html\n".
Meine Frage hängt das an dem Aufruf von Sendmail das die Daten
nur als Text versendet werden und nicht als html. (-t) ???
sendmail interessiert den Inhalt der E-Mail keine Bohne. Einzig und allein der Client
könnte ein Interesse daran haben und diese Information gibst du ihm über den
Content-Type - Header.
- Frage wie muß der aufruf lauten das die Mail in Html form versand wird ???
Nicht Aufruf, Header der E-Mail!
---
Zudem ist die Verwendung von MIME::Entity und Net::SMTP zu empfehlen.
Viele Grüsse
Philipp
"print MAIL "Content-Type: text/html\n".
Funktioniert darauf bin ich nicht gekommen.
Vielen Dank für die Professionelle Hifle.
Tschüss Max
Hi Philipp!
Zudem ist die Verwendung von MIME::Entity und Net::SMTP zu empfehlen.
Warum? Interessiert mich wirklich, weil ich eigentlich auch lieber solche Dinge "zu Fuß" mache. Aber kann ja sein, daß die entsprechenden Module wirklich Vorteile haben. Aber welche?
Gruß
csx
Hi,
Zudem ist die Verwendung von MIME::Entity und Net::SMTP zu empfehlen.
Warum? Interessiert mich wirklich, weil ich eigentlich auch lieber solche Dinge "zu Fuß" mache. Aber kann ja sein, daß die entsprechenden Module wirklich Vorteile haben. Aber welche?
Net::SMTP vereinfacht dir den direkten Zugriff auf deinen SMTP-Server. Zusätzlich würde ich noch Mail::POP3Client empfehlen, das ist recht komfortabel. Vereinfacht stellst du mit Mail::POP3Client eine Verbindung zu deinem Mailserver her, danach kannst du mit Net::SMTP deine Mails versenden (http://www.thomas-fahle.de/pub/perl/Mail_and_News/SMTP_over_POP.html#wie). MIME::Entity brauchst du bspw., um deine eingehenden Mails komfortabel verarbeiten zu können (Header-Analyse, Ausgabe von Attachments etc.)
Viele Grüße
Torsten
Hi!
Net::SMTP vereinfacht dir den direkten Zugriff auf deinen SMTP-Server. Zusätzlich würde ich noch Mail::POP3Client empfehlen, das ist recht komfortabel. Vereinfacht stellst du mit Mail::POP3Client eine Verbindung zu deinem Mailserver her, danach kannst du mit Net::SMTP deine Mails versenden (http://www.thomas-fahle.de/pub/perl/Mail_and_News/SMTP_over_POP.html#wie). MIME::Entity brauchst du bspw., um deine eingehenden Mails komfortabel verarbeiten zu können (Header-Analyse, Ausgabe von Attachments etc.)
Ok, klar, da hast du recht. Aber bei sowas simplem wie "eine mail verschicken", dachte ich. Da brauch ich ja normalerwese kein POP-before-SMTP oder sowas, weil die mail ja von localhost aus abgeschickt wird und somit das Relaying auch ohne Authentifizierung erfolgt. Wenn man kompliziertere Sachen machen will, da geb ich dir Recht, sind die Module natürlich (fast) unverzichtbar.
Halihallo csx
Ok, klar, da hast du recht. Aber bei sowas simplem wie "eine mail verschicken", dachte ich. Da brauch ich ja normalerwese kein POP-before-SMTP oder sowas, weil die mail ja von localhost aus abgeschickt wird und somit das Relaying auch ohne Authentifizierung erfolgt. Wenn man kompliziertere Sachen machen will, da geb ich dir Recht, sind die Module natürlich (fast) unverzichtbar.
Ich finde es auch bei kleinen Mails sinnvoll. Man macht weniger Fehler, da die
Generierung des Mails z.B. vom Modul abgenommen wird und es ist ein quasistandardisiertes
und plattformunabhängiges Vorgehen.
Neben den von Torsten genannten Vorteilen liessen sich da noch einige, wirklich einige
Vorteile von der objektorientierten Programmierung aufzählen. Wiederverwendbarkeit des
Codes um ein wesentlicher zu nennen.
Viele Grüsse
Philipp
Hi,
Ich habe einen Form Mailer in Perl, zum versenden von Formularinhalten, geht auch wunderbar. Aber es geht nicht das die Email HTML Code enthält dieser wird dann verhindert d.h. "<" wird zu "&glt;" usw.
dann macht Dein Script anderswo etwas falsch.
Meine Frage hängt das an dem Aufruf von Sendmail das die Daten
nur als Text versendet werden und nicht als html. (-t) ???
Nein, mit dem Format der von Dir an sendmail gesendeten Daten. Was der -t Schalter macht, erfährst Du in der Doku zu sendmail (Unix: man sendmail).
- Frage wie muß der aufruf lauten das die Mail in Html form versand wird ???
Warum suchst Du danach nicht im Archiv?
Cheatah