Class: Imap/pop3 reader
Ik heb deze class geschreven voor een CRM systeem zodat emails in het systeem konden verwerkt worden. Hij kan gebruikt worden om je imap en/of je pop3 mailbox uit te lezen.
Hoe te gebruiken:
(imap module moet geinstalleert staan op de server)
je roept hem aan als
$imapMail = new imapMail("gebruikersnaam","password","serverAdres","portnr","mailboxnaam",$opties);
opties moet een array zijn waarin je defineert wat je wilt gebruiken(imap of pop3) en bijvoorbeeld ssh wilt gebruiken.
$opties[0] = "pop3";
$opties[1] = "ssh";
nadat je hem heb aangemaakt kan je een connectie opzetten
$imapMail->connect();
Deze returned true of false op basis of hij connectie heeft aan kunnen leggen
als hij een connectie heeft kunnen leggen kan je je mails op 2 manieren ophalen.
Met $imapMail->getMails();
Deze functie haalt al je mails op. Hij heeft ook nog 2 opties.
1ste deleteFromServer als deze op true word gezet worden je mails na het ophalen van de server verwijdert.
2de uids dit is een array variable waarin je unieke berichten id's kan inzetten zodat die worden overgeslagen bij het ophalen van mails, dit heb ik toegevoegt vanwege de slecht/niet bestaande ondersteuning van de SEENFlag in pop3. Hiermee kan je toch steeds nieuwe berichten ophalen zonder de Seenflag.
Je kan ook de mails ophalen via getUnseenMails.
Deze functie kan je gebruiken voor imap om niet gelezen mailtjes op te halen.
1 optionele varialble turnSeen is om mailtje op gelezen te zetten zodat ze de volgende keer niet opgehaalt worden.
allebij deze functies returnen de berichten, in een array ,op deze manier:
$message['subject']
$message['fromaddress']
$message['toaddress']
$message['ccaddress']
$message['bccaddress']
$message['messageId'](kan worden gebruikt voor uids)
$message['date']
$message['attachment'] is een array met alle gegevens van de attachment(s) erin.
De array ziet erzo uit:
$message['attachment'][0]["name"] is de filenaam.
$message['attachment'][0]["goods"] is het bestand zelf.
$message['attachment'][0]["type"] hoe hij binnen gehaald is.(embedded of attachment)
uit lezen kan op deze manier gedaan worden
$imapMail->changeMailbox("mailboxNaam");
is om van mailbox te wisselen input is de mailbox naam je krijgt een boolean terug(true gelukt false niet gelukt)
$imapMail->closeConnection()
kun je weer de connectie sluiten;
totale voorbeeld:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
include("imap.class.php");
$counter = 0;
$opties[$counter++] = "pop3";
$imapMail = new imapMail("gebruikersnaam","password","serverAdres","portnr", "mailboxnaam",$opties);
if($imapMail->connect())
{
if($aMessages = $imapMail->getMails(false))
{
echo count($aMessages)." berichten zijn binnen gehaalt<br/>";
while(list($key,$message) = each($aMessages))
{
// doe hier binnen wat met de binnengehaalden berichten
echo $key." ".$message['subject']."<br/>";
}
}
else
{
echo "er is nog geen connectie";
}
$imapMail->closeConnection();
}
else
{
echo "kan connectie niet opbouwen";
}
?>
Todo:
- Mogelijkheid om attachments downloaden uit te zetten
vragen/opmerkingen kunnen natuurlijk gestelt worden.
updates:
embedded gedeelte geheel omgegooit
Gesponsorde koppelingen
PHP script bestanden
Er zijn 35 reacties op 'Class imappop3 reader'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu