我正在开展一个项目,涉及处理Gmail历史记录中的数据。
具体来说,我想生成一个多页样式的PDF,其中包含100个左右的每个人的自定义页面 - 显示过去一年发送的电子邮件数量,收到的电子邮件数量等数据过去的一年,电子邮件的平均字长,电子邮件中使用最多的条款,发送或接收的最旧电子邮件的日期,甚至可能是每封电子邮件的平均感叹号数或咒骂数等。
我看到了this question,它有一个与IMAP functions in the PHP manual有用的链接,但有人可以帮助我解决这样一个项目的架构和难度吗?
我想象的是:
答案 0 :(得分:2)
首先,你需要php imap库。 然后,只需使用这个简单的分步教程:
$email = "email@gmail.com";//or alamatemail@nama_domain_hosted
$password = "ini password anda";
$imap_host = "{imap.gmail.com:993/imap/ssl}";
$imap_folder = "INBOX"; //it's what is called label in Gmail
$mailbox = imap_open($imap_host . $imap_folder,$email,$password) or die('Failed to open connection with Gmail: ' . imap_last_error());
使用上面的代码,您已经创建了与Gmail的连接 现在,如果要搜索特定消息,请使用:
$emails = imap_search( $mailbox, 'ALL');
阅读RFC 1176了解更详细的选项。搜索字符串“标记SEARCH search_criteria ”或阅读PHP的imap_search文档。
此代码将处理检索到的消息(然后您可以根据需要将其处理为MySQL):
if( $emails )
{
foreach( $emails as $email_id)
{
$email_info = imap_fetch_overview($mailbox,$email_id,0);
$message = imap_fetchbody($mailbox,$email_id,2);
echo "Subject: " . $email_info[0]->subject . "\n";
echo "Message: " . $message . "\n";
}
}
回答您的其他问题: