IMAP&;PHP-从已发送和收件箱文件夹获取所有电子邮件
我正在尝试获取任何接收和发送的电子邮件,并使用PHP将其写入mySQL数据库 我使用的主机名是:IMAP&;PHP-从已发送和收件箱文件夹获取所有电子邮件,php,mysql,email,imap,Php,Mysql,Email,Imap,我正在尝试获取任何接收和发送的电子邮件,并使用PHP将其写入mySQL数据库 我使用的主机名是: $hostname = '{imap.gmail.com:993/imap/ssl}INBOX'; 它只引用收件箱,并成功抓取收到的电子邮件 为了抓取发送的电子邮件,我尝试使用以下主机名: $hostname = '{imap.gmail.com:993/imap/ssl}[Gmail]/All Mail'; 通过将“收件箱”替换为“[Gmail]/All Mail”,没有电子邮件(甚至没有发送
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
它只引用收件箱,并成功抓取收到的电子邮件
为了抓取发送的电子邮件,我尝试使用以下主机名:
$hostname = '{imap.gmail.com:993/imap/ssl}[Gmail]/All Mail';
通过将“收件箱”替换为“[Gmail]/All Mail”,没有电子邮件(甚至没有发送)并被退回
如何获取所有发送和接收的电子邮件?您可能需要在两个电话中完成此操作,收件箱和已发送邮件。根据这篇文章:,sent items文件夹被称为
[gmail]/sent mail
实际上,从所有这些文件夹中提取邮件非常简单,您只需做一个文件夹扩展名,如.sent、.Drafts等
例如:
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX.Sent'; //For Sent Items<br>
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX.Drafts';//For draft<br>
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX.Trash';//For trash<br>
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX.Junk';//For junk<br>
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX.yourfolder';//For the folders u created
$hostname='{imap.gmail.com:993/imap/ssl}INBOX.Sent'//对于已发送的项目
$hostname='{imap.gmail.com:993/imap/ssl}INBOX.Drafts'//对于草稿
$hostname='{imap.gmail.com:993/imap/ssl}INBOX.Trash'//对于垃圾
$hostname='{imap.gmail.com:993/imap/ssl}INBOX.Junk'//对于垃圾
$hostname='{imap.gmail.com:993/imap/ssl}INBOX.yourfolder'//对于您创建的文件夹
您可以使用此代码
你可以得到这样的数组
Array(
[0] => {imap.gmail.com:993/ssl}INBOX
[1] => {imap.gmail.com:993/ssl}Personal
[2] => {imap.gmail.com:993/ssl}Servers
[3] => {imap.ipage.com:993/imap/ssl}INBOX.Sent Items
[4] => {imap.ipage.com:993/imap/ssl}INBOX.Drafts
)
$host = '{imap.gmail.com:993/ssl}INBOX.Sent';
$mail_con = imap_open($host, $login, $password);
删除上述代码并使用imap_open中的任何数组,如下所示
Array(
[0] => {imap.gmail.com:993/ssl}INBOX
[1] => {imap.gmail.com:993/ssl}Personal
[2] => {imap.gmail.com:993/ssl}Servers
[3] => {imap.ipage.com:993/imap/ssl}INBOX.Sent Items
[4] => {imap.ipage.com:993/imap/ssl}INBOX.Drafts
)
$host = '{imap.gmail.com:993/ssl}INBOX.Sent';
$mail_con = imap_open($host, $login, $password);