Binnenkomende email > Naar database
Hoi,
Heeft iemand of kan iemand mischien een script maken, dat als er een emailtje binnen komt.
dat die dan in de database komt testaan.
Onder bijv
Onderwerp [Varcher 100]
Email [Varcher 100]
Tekst [text]
Zoiets...
Alvast bednakt! :D
Wouter
Heeft iemand of kan iemand mischien een script maken, dat als er een emailtje binnen komt.
dat die dan in de database komt testaan.
Onder bijv
Onderwerp [Varcher 100]
Email [Varcher 100]
Tekst [text]
Zoiets...
Alvast bednakt! :D
Wouter
Het zou via IMAP moeten kunnen. Maar dat staat niet standaard aan bij de meeste webhost voor zover ik weet. Daar loop ik op het moment zelf ook op vast.
Probeer iets als dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
set_time_limit(0);
mysql_connect('localhost', 'DB USERNAAM', 'DB USERPASS') or die(mysql_error());
mysql_select_db('DB NAAM') or die(mysql_error());
$hostname = 'HOSTNAME'; //bijvoorbeeld {imap.gmail.com:993/imap/ssl}INBOX
$username = 'EMAIL';
$password = 'WACHTWOORD';
$inbox = imap_open($hostname, $username, $password) or die('Cannot connect to Gmail: ' . imap_last_error());
$emails = imap_search($inbox, 'UNSEEN UNDELETED');
if($emails)
{
foreach($emails as $email_number)
{
$overview = imap_fetch_overview($inbox, $email_number, 0);
$message = imap_fetchbody($inbox, $email_number, 1);
mysql_query("INSERT INTO berichten (`subject`, `from`, `date`, `message_id`, `bericht`) VALUES ('".mysql_real_escape_string($overview[0]->subject)."', '".mysql_real_escape_string($overview[0]->from)."', '".mysql_real_escape_string($overview[0]->date)."', '".mysql_real_escape_string($overview[0]->message_id)."', '".mysql_real_escape_string($message)."')");
}
}
imap_close($inbox);
?>
set_time_limit(0);
mysql_connect('localhost', 'DB USERNAAM', 'DB USERPASS') or die(mysql_error());
mysql_select_db('DB NAAM') or die(mysql_error());
$hostname = 'HOSTNAME'; //bijvoorbeeld {imap.gmail.com:993/imap/ssl}INBOX
$username = 'EMAIL';
$password = 'WACHTWOORD';
$inbox = imap_open($hostname, $username, $password) or die('Cannot connect to Gmail: ' . imap_last_error());
$emails = imap_search($inbox, 'UNSEEN UNDELETED');
if($emails)
{
foreach($emails as $email_number)
{
$overview = imap_fetch_overview($inbox, $email_number, 0);
$message = imap_fetchbody($inbox, $email_number, 1);
mysql_query("INSERT INTO berichten (`subject`, `from`, `date`, `message_id`, `bericht`) VALUES ('".mysql_real_escape_string($overview[0]->subject)."', '".mysql_real_escape_string($overview[0]->from)."', '".mysql_real_escape_string($overview[0]->date)."', '".mysql_real_escape_string($overview[0]->message_id)."', '".mysql_real_escape_string($message)."')");
}
}
imap_close($inbox);
?>