Hallo liebe PHP-Resource,
ich habe seit einiger Zeit Probleme mit meinem E-Mail-System. Ich benutze das kostenlose Autoresponder-Script "Infinite".
Das Problem könnte verschiedene Ursachen haben, ich hab' jetzt einfach mal ins PHP-Forum geschrieben.
Das Problem
Seit einiger Zeit kommen meine E-Mails, die ich raussende, nicht mehr vollständig an. Die Hauptnachricht, die ich im Interface eingebe und in der Datenbank eingetragen ist, wird nach einigen Absätzen einfach mitten in Satz und/oder Wort abgeschnitten.
Der Unsubscribe-Link, der nicht aus der Datenbank ausgelesen wird, sondern einfach vor dem Verschicken an die Hauptnachricht angehängt wird, wird aber vollständig angezeigt.
Das sieht dann so aus:
Hier noch mal der zugehörige Eintrag aus der Datenbank:
Mit folgendem Code aus dem Script wird die E-Mail zusammengesetzt:
Lösungsansatz?
Ich könnte mir vorstellen, dass das Problem mit utf8_decode zu tun hat. Wir hatten nämlich vor einigen Monaten einen Serverumzug und da haben sich auch auf mysteriöse Weise Zeichensätze in der Datenbank geändert, was zu Problemen in einem PHPBB-Forum geführt hat.
Der Zeichensatz für BodyHTML ist latin1_swedish_ci.
Könnt ihr dazu was sagen?
Das ist merkwürdig!
Das echt seltsame ist, dass ein Kumpel und ich, an die ich heute Test-E-Mails versendet habe, vollständige E-Mails erhalten haben.
Eine Test-Mail an einen Account, der schon länger im System eingetragen ist, kam unvollständig an. (siehe Screenshot).
Es scheint also so zu sein, dass Neuanmeldungen vollständige E-Mails erhalten und blos die, die schon länger dabei sind, abgeschnittene bekommen.
Ich hoffe die Fehlerbeschreibung war verständlich und aufschlussreich und würde mich sehr über Input, Tipps und Lösungsvorschläge freuen.
Liebe Grüße,
Macks
ich habe seit einiger Zeit Probleme mit meinem E-Mail-System. Ich benutze das kostenlose Autoresponder-Script "Infinite".
Das Problem könnte verschiedene Ursachen haben, ich hab' jetzt einfach mal ins PHP-Forum geschrieben.
Das Problem
Seit einiger Zeit kommen meine E-Mails, die ich raussende, nicht mehr vollständig an. Die Hauptnachricht, die ich im Interface eingebe und in der Datenbank eingetragen ist, wird nach einigen Absätzen einfach mitten in Satz und/oder Wort abgeschnitten.
Der Unsubscribe-Link, der nicht aus der Datenbank ausgelesen wird, sondern einfach vor dem Verschicken an die Hauptnachricht angehängt wird, wird aber vollständig angezeigt.
Das sieht dann so aus:
Hier noch mal der zugehörige Eintrag aus der Datenbank:
Mit folgendem Code aus dem Script wird die E-Mail zusammengesetzt:
PHP-Code:
# Generate the body
if ($CanReceiveHTML == 1) {
$boundary = md5(time()).rand(1000,9999);
$Message_Headers .= "Content-Type: multipart/alternative; $newline boundary=\"$boundary\"$newline";
$Message_Body .= "This is a multi-part message in MIME format.$newline$newline";
$Message_Body .= "--".$boundary.$newline;
$Message_Body .= "Content-type: text/plain; charset=$charset$newline";
$Message_Body .= "Content-Transfer-Encoding: 8bit".$newline;
$Message_Body .= "Content-Disposition: inline$newline$newline";
$Message_Body .= $DB_MsgBodyText . $newline.$newline;
$Message_Body .= "--".$boundary.$newline;
$Message_Body .= "Content-type: text/html; charset=$charset$newline";
$Message_Body .= "Content-Transfer-Encoding: 8bit".$newline;
$Message_Body .= "Content-Disposition: inline$newline$newline";
$Message_Body .= $DB_MsgBodyHTML . $newline.$newline;
}
else {
$Message_Headers .= "Content-type: text/plain; charset=$charset$newline";
$Message_Headers .= "Content-Transfer-Encoding: 8bit".$newline;
$Message_Body = $DB_MsgBodyText . $newline;
}
# Final filtering
$Send_Subject = stripnl(str_replace("|","",$Send_Subject));
$Message_Body = str_replace("|","",$Message_Body);
$Message_Body .= '<h2>Zur Zeit gibt es leider Probleme mit dem E-Mail-System... blalba</h2>
<br /><br />
<small>Wenn du keine regelmäßigen Mails mehr erhalten möchtest,
kannst du dich <a href="' . $UnsubURL . '">hier abmelden</a>.</small>';
$Message_Headers = str_replace("|","",$Message_Headers);
$Message_Body = utf8_decode($Message_Body);
Ich könnte mir vorstellen, dass das Problem mit utf8_decode zu tun hat. Wir hatten nämlich vor einigen Monaten einen Serverumzug und da haben sich auch auf mysteriöse Weise Zeichensätze in der Datenbank geändert, was zu Problemen in einem PHPBB-Forum geführt hat.
Der Zeichensatz für BodyHTML ist latin1_swedish_ci.
Könnt ihr dazu was sagen?
Das ist merkwürdig!
Das echt seltsame ist, dass ein Kumpel und ich, an die ich heute Test-E-Mails versendet habe, vollständige E-Mails erhalten haben.
Eine Test-Mail an einen Account, der schon länger im System eingetragen ist, kam unvollständig an. (siehe Screenshot).
Es scheint also so zu sein, dass Neuanmeldungen vollständige E-Mails erhalten und blos die, die schon länger dabei sind, abgeschnittene bekommen.
Ich hoffe die Fehlerbeschreibung war verständlich und aufschlussreich und würde mich sehr über Input, Tipps und Lösungsvorschläge freuen.
Liebe Grüße,
Macks
Kommentar