rochasmarcelo / emailmd
一个使用 imap 扩展读取电子邮件的 PHP 库。
1.0
2014-09-21 01:08 UTC
Requires
- php: >=5.3
- ext-imap: *
Requires (Dev)
- phpunit/phpunit: 4.1.*
This package is auto-updated.
Last update: 2024-09-26 20:12:42 UTC
README
一个用于读取电子邮件的 PHP 库。
使用 composer 安装
{
"require": {
"rochasmarcelo/emailmd": "dev-master"
}
}
要求
- PHP 5.3.*
- Imap 扩展
示例
获取 MailBox 实例
<?php
require_once 'vendor/autoload.php';
//Gmail
$MailBox = EmailMD\MailBoxFactory::gmail(
'yourusername@gmail.com',
'yourpassword'
);
//Hotmail / live / msn
$MailBox = EmailMD\MailBoxFactory::live(
'yourusername@live.com',
'yourpassword'
);
//Yahoo
$MailBox = EmailMD\MailBoxFactory::yahoo(
'yourusername@yahoo.com',
'yourpassword'
);
//Other pop3
$MailBox = EmailMD\MailBoxFactory::make(
'{localhost:110/pop3}INBOX',
'yourusername@site.com',
'yourpassword'
);
//Other imap
$MailBox = EmailMD\MailBoxFactory::make(
'{localhost:993/imap/ssl}INBOX',
'yourusername@site.com',
'yourpassword'
);
?>
基本使用
<?php
require_once 'vendor/autoload.php';
//Gmail
$MailBox = EmailMD\MailBoxFactory::gmail(
'yourusername@gmail.com',
'yourpassword'
);
$MailBox->reverse();//Newest message first
$MailBox->filterSince(new DateTime());//Just message recieved today
//Get messages
foreach ( $MailBox as $messageNumber => $message ) {
echo 'Message number: ' . $messageNumber . PHP_EOL;
echo $message->getSubject() . PHP_EOL;
}
?>
获取部分邮件
<?php
require_once 'vendor/autoload.php';
//instance
$MailBox = EmailMD\MailBoxFactory::gmail(
'yourusername@gmail.com',
'yourpassword'
);
//Get some messages
$limit = 10;
foreach ( $MailBox as $messageNumber => $message ) {
echo 'Message number: ' . $messageNumber . PHP_EOL;
echo $message->getSubject() . PHP_EOL;
$limit--;
if ( $limit < 1 ) {
break;
}
}
?>
获取自特定日期收到的邮件
<?php
require_once 'vendor/autoload.php';
//instance
$MailBox = EmailMD\MailBoxFactory::gmail(
'yourusername@gmail.com',
'yourpassword'
);
//Since today
$MailBox->filterSince(new DateTime());
foreach ( $MailBox as $messageNumber => $message ) {
echo 'Message number: ' . $messageNumber . PHP_EOL;
echo $message->getSubject() . PHP_EOL;
}
//Since yesterday
$MailBox->filterSince(new DateTime('-1 days'));
foreach ( $MailBox as $messageNumber => $message ) {
echo 'Message number: ' . $messageNumber . PHP_EOL;
echo $message->getSubject() . PHP_EOL;
}
?>
以倒序获取邮件
默认情况下,邮箱将首先返回最旧的邮件。但有时我们需要首先获取最新的邮件,为了做到这一点,我们需要调用一次 "MailBox::reverse" 方法。
<?php
require_once 'vendor/autoload.php';
//instance
$MailBox = EmailMD\MailBoxFactory::gmail(
'yourusername@gmail.com',
'yourpassword'
);
$MailBox->reverse();//Now we get the newest first
//Since today
$MailBox->filterSince(new DateTime());
foreach ( $MailBox as $messageNumber => $message ) {
echo 'Message number: ' . $messageNumber . PHP_EOL;
echo $message->getSubject() . PHP_EOL;
}
$MailBox->reverse();//Now we get the oldest first
?>