Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close

Peeker - A framework for building automated email applications.

Peeker started here at Bitbucket, but recent updates to the code have been made at Github:

https://github.com/sophistry/peeker

Please read the documentation in the docs directory.

Peeker is a wrapper around the IMAP/POP3 extension available in PHP. It helps you avoid learning all the strange things about talking to an email server and concentrate on getting email as objects and properly-decoded attachments onto your filesystem.

Start with the Quick Start in peeker_quickstart.html.

Basic usage: (gmail IMAP, make sure IMAP is enabled in your gmail account)

// class files in peeker directory
// change these lines
// the path to the peeker.php class file
include('path/to/peeker.php');
// this can also be a Google Apps email account
$config['login']='your_gmail_address@gmail.com';
$config['pass']='your_gmail_password';

// do not change these lines
// this should not change unless you are having problems
$config['host']='imap.gmail.com';
$config['port']='993';
$config['service_flags'] = '/imap/ssl/novalidate-cert';

// you can definitely change these lines!
// because your application code goes here
$peeker = new peeker($config);
$cnt = $peeker->get_message_count();
echo $cnt.' message waiting';

// EOF

Advanced PHP developers only: Peeker also has a declarative Event programming architecture (Detector-Callback circuit) and "Traits-like" method layering (a simple Dependency Injection - just drop in a custom class and request the new methods be added to the email objects).

Recent activity

sophistry

Commits by sophistry were pushed to sophistry/peeker

da6fad8 - changed peeker message() method to behave as documented.
sophistry

Commits by sophistry were pushed to sophistry/peeker

cfa0bdd - updated documentation to clarify new parameters for message() method in peeker class.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.