Ik ben al een aantal dagen bezig met het maken van een script dat een e-mail uitleest en dan het onderwerp en de inhoud van het bericht in een database zet.
Ik heb al een script gehad wat bijna werkt alleen als het e-mailtje dan een HTML indeling heeft dan krijg ik allemaal cijfers te zien.
<?
include "../dbconnection.inc.php";
/** Instellingen van je server **/
$server = '..nl';
$port = 143; // Standaard imap poort
/** Mail-acount gegevens **/
$username = '@.nl'; // [email protected]
$password = ''; // wachtwoord
/** Verbinden met mailbox **/
$mbox = imap_open('{' . $server . ':' . $port . '}INBOX', $username, $password);
$headers = imap_headers($mbox);
$info = imap_mailboxmsginfo($mbox);
$aantalberichten = $info->Nmsgs;
if ($headers == false)// als er geen verbinding was of geen email dan error weergeven.
{
echo "Geen berichten!<br>";
}
else
{
while (list ($key, $val) = each ($headers)) // gewoon de email whilen die in de op de server staan
{
$val;
$id = substr($val, 9, 1);
// de gegevens ophalen:
// $bericht = imap_body($mbox, $id);
$data = imap_headerinfo($mbox, $id); // hiermee haal je allerlei aanvullende gegevens over het bericht op. naar wel adres het is gestuurd maar ook de datum en het onderwerp. Tevens kan je zo alls 'flags' opvragen.
$onderwerp = $data->subject;
$datum = $data->date;
$bericht = imap_body ($mbox, $id);
echo '<b>Afzender:</b> '.$data->fromaddress.'<br>';
echo '<b>Onderwerp:</b> '.$data->subject.'<br>';
echo '<b>Bericht:</b><br>'.$bericht.'<br>';
echo '<b>Ontvangen:</b> '.$data->date;
echo"<hr>";
$sql = mysql_query(" INSERT INTO `mail`(`onderwerp`,`bericht`,`datum`)VALUES('$onderwerp','$bericht','$datum')");
imap_delete($mbox, $id);
imap_expunge($mbox);
}
}
imap_close($mbox);
?>
?
Onbekende gebruiker
13-05-2008 13:28
In dit script: http://www.phphulp.nl/php/scripts/2/1302/ worden mailboxen uitgelezen en het onderwerp enzo weergegeven en de berichten verwijderd. Met een paar aanpassingen ben je erzo.
En wat als je het bericht echo't op het scherm? Krijg je dan ook allemaal rare tekens te zien?
Zo ja --> Het zit hem in je script
Zo nee --> het zit hem in je database