Hallöle,
ein seltsames Phänomen. Ein Besucher kann eine Webseite empfehlen und gibt dafür die E-Mail des Empfängers ein.
Diese E-Mail klappt: osmer.khATgmx.de
aber diese nicht: osmer.khATosmer.de
Klappen heißt, mb_send_mail gibt TRUE zurück, sonst FALSE. Mehr Infos gibt's leider nicht - oder doch?
Das AT ist natürlich ein @. Bevor die Mails gesendet werden, wird $_POST mit Slashes versehen und dann mit der Funktion
// =================================
function quote2html ( $string ) {
// =================================
// 2009-09-17 ERSETZT EINFACHES UND DOPPELTES ANFUEHRUNGSZEICHEN DURCH HTML-SPECIAL
$string = stripslashes($string); // kann von GET, POST, COOKIE kommen
$string = htmlspecialchars($string);
$string = str_replace( "'", "'", $string ); // kann aus DB kommen
$string = str_replace( '"', """, $string ); // kann aus DB kommen
return $string;
}
wieder ent-slasht. Aber das kann ja wohl den Unterschied nicht erklären.
Hier der PHP-Schnippsel um's Mailsenden herum:
mb_language ( 'uni' ); // UTF-8
if ( $i == 1 )
{
// MAIL AN SENDER/EMPFAENGER
if ( $arr_in['email_s'] ) mb_send_mail( $arr_in['email_s'], $mail_subject, $mail_body, $mail_header );
$_hmail_sent = mb_send_mail( $arr_in['email_e'], $mail_subject, $mail_body, $mail_header );
$_h00 =( $_h00 || $_hmail_sent );
$_femail_gesendet =(!$_hmail_sent );
if ( $_femail_gesendet ) echo $arr_in['email_e']."<br>";
$_fmail =( $_fmail || $_femail_gesendet );
}
else if ( $i == 2 )
{
// MAIL AN VERANSTALTER/WEBMASTER
if ( $row_trm['vtr_email'] ) mb_send_mail( $row_trm['vtr_email'], $mail_subject, $mail_body, $mail_header );
mb_send_mail( "osmer.kh@gmx.de", $mail_subject, $mail_body, $mail_header );
}
Woran könnte es liegen?
Muss die Mail-Adresse innerhalb von mb_send_mail bei UTF8 mit mb_encode_mimeheader behandelt werden? Das ist doch wohl nur für den Mail-Header angesagt?
LG Kalle