Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
Blodsfana
Threadersteller
Dabei seit: 21.11.2004
Ort: Momentan aus Melsungen
Alter: 38
Geschlecht:
|
Verfasst Sa 29.12.2007 17:21
Titel Falsches Format Text statt html |
|
|
Code: | /* Check Structure Availability */
if (!defined("CORE_STRAP")) die("Out of structure call");
function sendmail($to, $subject, $body) {
global $CONF;
/* Convert CR to BR if required */
if ($CONF["SYSMAIL_CONVERT_CR_TO_BR"]) $body = nl2br($body);
/* Convert \r\n to \n if required */
if ($CONF["SYSMAIL_CONVERT_NR_TO_N"]) $body = str_replace("\r\n", "\n", $body);
/* Strip the tab character if needed */
if ($CONF["SYSMAIL_STRIP_TAB"]) $body = str_replace("\t", "", $body);
/* Set the boundary and linefeed variables */
$boundary = md5(uniqid(1));
$lf = "\r\n";
/* Prepare the header */
$headers = "From: {$CONF["SITE_NAME"]} <{$CONF["SITE_SYSTEM_EMAIL"]}>" .$lf;
$headers .= "To: <{$to}>" .$lf;
$headers .= "Return-Path: {$CONF["SITE_NAME"]} <{$CONF["SITE_SYSTEM_EMAIL"]}>" .$lf;
$headers .= "Message-id: <".uniqid(0,0)."@{$_SERVER['HTTP_HOST']}>" .$lf;
$headers .= "User-Agent: ".$GLOBALS["SYSTEM_VERSION"] .$lf;
$headers .= "MIME-Version: 1.0" .$lf;
$headers .= "Content-Type: multipart/alternative; boundary=\"{$boundary}\"" .$lf.$lf;
$headers .= strip_tags($body) .$lf;
$headers .= "--{$boundary}" .$lf;
$headers .= "Content-Type: text/plain; charset=ISO-8859-1" .$lf;
$headers .= "Content-Transfer-Encoding: 8bit" .$lf.$lf;
$headers .= strip_tags($body) .$lf;
$headers .= "--{$boundary}" .$lf;
$headers .= "Content-Type: text/HTML; charset=ISO-8859-1" .$lf;
$headers .= "Content-Transfer-Encoding: 8bit" .$lf.$lf;
$headers .= nl2br($body) .$lf;
$headers .= "--{$boundary}--" .$lf;
// IMAP MAIL METHOD //////////////////////////////////////////////////////////////
if ($CONF["SYSMAIL_USE_IMAP_GATE"] && function_exists('imap_mail')) {
if (!imap_mail("<".$to.">", $subject, $body, "From: {$CONF["SITE_NAME"]}") and $CONF["SYSMAIL_ROLLBACK_ON_ERROR"]) {
return mail(NULL, $subject, NULL, $headers);
} else return true;
}
else return mail(NULL, $subject, NULL, $headers);
}
?> |
weiss jemand warum das codestück nur text statt html sendet?
|
|
|
|
|
webdeveloper
Dabei seit: 25.05.2003
Ort: SG
Alter: 39
Geschlecht:
|
Verfasst Sa 29.12.2007 17:29
Titel
|
|
|
hmm, schreib das text/HTML mal klein, also Content-type: text/html;
//edit:
wieso erst
Content-Type: text/plain
und dann
Content-Type: text/html
??
Zuletzt bearbeitet von webdeveloper am Sa 29.12.2007 19:06, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Sa 29.12.2007 18:47
Titel
|
|
|
habs mir noch nicht genau angesehen. vorweg die typische frage:
hat der mailclient denn sicher auch html-mail-empfang anktiviert??
|
|
|
|
|
Blodsfana
Threadersteller
Dabei seit: 21.11.2004
Ort: Momentan aus Melsungen
Alter: 38
Geschlecht:
|
Verfasst So 30.12.2007 11:38
Titel
|
|
|
Haha, Ich empfange seit ich denken kann schon html mails. Und serverseitig mit anderen scripten funktioniert es ja auch.
|
|
|
|
|
achwasweisich
Dabei seit: 27.09.2007
Ort: Stuttgarter Raum
Alter: -
Geschlecht:
|
Verfasst Mi 02.01.2008 11:50
Titel
|
|
|
Wie sieht denn der Quelltext einer Mail aus, die so verschickt wurde?
Ich würde erst mal prüfen, ob eher ein Darstellungsproblem des Clients
verantwortlich ist (z.B. weil er "text/HTML" nicht versteht und stattdessen
"text/html" als type braucht) oder ob tatsächlich Teile vom Quelltext fehlen.
Zitat: | weiss jemand warum das codestück nur text statt html sendet? |
Das ist ne ziemlich schlechte Fehlerbeschreibung. Ich finde, Du könntest Dir
da schon etwas mehr Mühe geben. Was wird denn nun wirklich genau
gesendet? (Quelltext der Mail) Wie sieht der sendmail() Aufruf aus, mit dem
Du es versucht hast, etc.
Grundsätzlich würde ich übrigens eine solche eigene Funktion nie sendmail()
nennen. Die Wahrscheinlichkeit, daß es so was schon intern oder als Modul
gibt oder zumindest mal geben wird, wäre mir zu hoch. Bei mir würde so
eine Funktion immer irgendwie do_sendemail() oder email_send_now() oder
so heissen. Im Idealfall haben alle eigenen Funktionen ein Namens-Kürzel vornedran,
dann weiß ich auch nach Jahren noch, daß ich die Funktion selbst geschrieben
hab und kann in den Libraries danach suchen.
Also eben so was wie bf_sendmail() für eine sendmail-Funktion von Blodsfana.
Zitat: | Und serverseitig mit anderen scripten funktioniert es ja auch. |
Na dann hast Du doch einen super Weg, um zu debuggen.
Verschicke die gleiche Mail zwei mal, einmal über das script das nicht funktioniert und einmal über deine serverseitigen scripte. Dann schaust Du Dir die Quelltexte der Mails an und guckst, wo der Unterschied ist. Ich wette, so kannst Du das in kurzer Zeit rausfinden wo der Fehler hängt.
|
|
|
|
|
|
|
|
Ähnliche Themen |
InDesign - Falsches Format im Inhaltsverzeichnis
Bilder für E-Mail-Newsletter im HTML-Format?
PHP-Funktion zum Umwandeln von Text in URL-fähiges Format
HTML TAG als Text in Javasript
Text einzug in HTML?
text laden ins html
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|