Binnenkomende email > Naar database
Wouter Lolz
01/12/2010 19:57:52Hoi,
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
PHP hulp
22/12/2024 20:21:54- Mark -
01/12/2010 20:06:12Het 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.
Sjoerd Wenker
01/12/2010 20:13:15Probeer 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);
?>