Mail auslesen in Datenbank schreiben

schlawiner

Mitglied
Hat jemand eine Idee wie ich den Body filtern kann so das er Sonderzeichen ÜÖÄ und Zeilenumbrüche Originalgetreu übernimmt ?

<code>
<?php
$host="mail.xxxxxx.net";
$port="110";
$user="info@xxxxxx.net";
$passwort="xxxxx";

function imap_utf8_fix($string) {
return iconv_mime_decode($string,0,"UTF-8");
}


$mailbox=imap_open("{".$host."/pop3:110/notls}INBOX",$user,$passwort);

if ($mailbox)
{

$check=imap_check($mailbox);

$count_msg=$check->Nmsgs;
$count_new_msg=$check->Recent;
for ($i=1; $i<=imap_num_msg($mailbox);
$i++)
{
$mail_header=imap_header($mailbox, $i);
$mail_date=$mail_header->Date;
$mail_id=$mail_header->message_id;
$mail_to=$mail_header->toaddress;
$mail_from_name=$mail_header->from [0]->personal;
$mail_from_address=$mail_header->from [0]->mailbox."@".$mail_header->from [0]->host;
$mail_copy_to=$mail_header->cc[0] ->mailbox."@".$mail_header->cc[0] ->host;
$mail_answer_to=$mail_header->reply_to;

$mail_subject=$mail_header->subject;
$mail_subject = imap_utf8_fix($mail_subject);
$mail_body = imap_body($mailbox,$i);
echo "e-Mail Nr.".$i."<br>";
echo '<b>Versendet am:</b> ';
echo $mail_date."<br>";
echo '<b>Eindeutige eMail-ID: </b>';
echo $mail_id."<br>";
echo '<b>Empfänger: </b>';
echo $mail_to."<br>";
echo '<b>"Name des Absenders: </b>';
echo $mail_from_name."<br>";
echo '<b>"eMail des Absenders: </b>';
echo $mail_from_address."<br>";
echo '<b>Betreff: </b>';
echo $mail_subject."<br><br>";
echo '<b>Nachricht: </b>';
echo $mail_body."<br><br>";

}
imap_close($mailbox);
}
?>
</code>
 
Hallo @schlawiner,

  1. Bitte den Code in die entsprechenden Tags setzen, damit dieser enstsprechend formatiert wird.
  2. du möchtest du den Text der Mail in ein Datenbank speichern? Für die Umlaute müsstes du schauen, ob die Datenbank das korrekte Coding verwendet; Bei den Zeilenumbrüchen musst du im Text entweder \n für die Zeilenumbrüche mitgeben oder <br/>
 
Zurück