";

}

//得到邮件的标头部分:是否已读,发件人,日期,标题。

$header = imap_headerinfo($inbox, $email_number);

$fromaddr = $header->from[0]->mailbox . "@" . $header->from[0]->host;

echo $fromaddr."##

";

$overview = imap_fetch_overview($inbox,$email_number,0);

$sender = imap_utf8($overview[0]->from);

$seen = $overview[0]->seen ? 'read' : 'unread';

$date = $overview[0]->date;

$subject = imap_utf8($overview[0]->subject);

$SendEmailAddress = $fromaddr;

echo $sender."**

";

//得到message的字符编码。

if($tt == 0){

$encodedd = mb_detect_encoding($message, array('UTF-8','US-ASCII','GB2312', 'ISO-8859-1','ISO-8859-2','ISO-8859-4','ISO-8859-5','ISO-8859-6','ISO-8859-7','ISO-8859-8','ISO-8859-9','ISO-8859-10','ISO-2022-JP','ISO-2022-KR'));

//进行转码。

if($encodedd == "EUC-CN"){

$message= iconv("GB2312", "UTF-8", $message);

}else if($encodedd == "ISO-8859-1"){

$message= iconv("ISO-8859-1", "UTF-8", $message);

}else if($encodedd == "ISO-8859-2"){

$message= iconv("ISO-8859-2", "UTF-8", $message);

}else if($encodedd == "ISO-8859-4"){

$message= iconv("ISO-8859-4", "UTF-8", $message);

}else if($encodedd == "ISO-8859-5"){

$message= iconv("ISO-8859-5", "UTF-8", $message);

}else if($encodedd == "ISO-8859-6"){

$message= iconv("ISO-8859-6", "UTF-8", $message);

}else if($encodedd == "ISO-8859-7"){

$message= iconv("ISO-8859-7", "UTF-8", $message);

}else if($encodedd == "ISO-8859-8"){

$message= iconv("ISO-8859-8", "UTF-8", $message);

}else if($encodedd == "ISO-8859-9"){

$message= iconv("ISO-8859-9", "UTF-8", $message);

}else if($encodedd == "ISO-8859-10"){

$message= iconv("ISO-8859-10", "UTF-8", $message);

}else if($encodedd == "ISO-2022-JP"){

$message= iconv("ISO-2022-JP", "UTF-8", $message);

}else if($encodedd == "ISO-2022-KR"){

$message= iconv("ISO-2022-KR", "UTF-8", $message);

}else{

$message= $message;

}

}else{

$message= $message;

}

//邮箱信息保存到数组。

//加载附件

$attachments = array();

/* if any attachments found... */

if(isset($structure->parts) && count($structure->parts))

{

for($i = 0; $i < count($structure->parts); $i++)

{

$attachments[$i] = array(

'is_attachment' => false,

'filename' => '',

'name' => '',

'attachment' => ''

);

if($structure->parts[$i]->ifdparameters)

{

foreach($structure->parts[$i]->dparameters as $object)

{

if(strtolower($object->attribute) == 'filename')

{

$attachments[$i]['is_attachment'] = true;

$attachments[$i]['filename'] = imap_utf8($object->value);

}

}

}

if($structure->parts[$i]->ifparameters)

{

foreach($structure->parts[$i]->parameters as $object)

{

if(strtolower($object->attribute) == 'name')

{

$attachments[$i]['is_attachment'] = true;

$attachments[$i]['name'] = imap_utf8($object->value);

}

}

}

if($attachments[$i]['is_attachment'])

{

$attachments[$i]['attachment'] = imap_fetchbody($inbox, $email_number, $i+1);

/* 4 = QUOTED-PRINTABLE encoding */

if($structure->parts[$i]->encoding == 3)

{

$attachments[$i]['attachment'] = base64_decode($attachments[$i]['attachment']);

}

/* 3 = BASE64 encoding */

elseif($structure->parts[$i]->encoding == 4)

{

$attachments[$i]['attachment'] = quoted_printable_decode($attachments[$i]['attachment']);

}

}

}

}

/* iterate through each attachment and save it */

$atta_array = array();

foreach($attachments as $attachment)

{

if($attachment['is_attachment'] == 1)

{

$filename = $attachment['name'];

if(empty($filename)) $filename = $attachment['filename'];

if(empty($filename)) $filename = time() . ".dat";

/* prefix the email number to the filename in case two emails

* have the attachment with the same file name.

*/

$l_filename = $filename;

$file_hz = strrev(substr(strrev($filename),0,4));

$datatimes = date('Y-m-d-G-i-s', time());

//$datatimes = str_replace(" ","-",$datatimes);

$datatimes = $email_number."-".$datatimes;

$filename =  $datatimes.$file_hz;

$file_dir =  "file/".$filename;

$atta_array[] = array("filename"=>$filename,"filealiases"=>$l_filename,"filedir"=>$file_dir);

//win 7下面的文件编码都是gb2312,所以需要转换编码。

// $filename = iconv("UTF-8", "GB2312",$filename);

//echo $l_filename;

$fp = fopen("./".$file_dir, "w+");

fwrite($fp, $attachment['attachment']);

fclose($fp);

}

}

//var_dump($atta_array);

$email_total_array[] = array("attament"=>$atta_array ,"email_number"=>$email_number,"seen"=>$seen,"date"=>$date,"sender"=>$sender,"subject"=>$subject,"message"=>$message,"SendEmailAddress"=>$SendEmailAddress);

//$email_total_array['attament'] = $atta_array;

}

加载附件代码结束。

//把信息写入到数据库中。

$app = Mage::app();

foreach($email_total_array as $ea){

$n_sender = $ea['sender'];

if(strstr($n_sender,"             $e_sender = substr($n_sender,0,strpos($n_sender,"         }else{

$e_sender = $n_sender;

}

$email_list = Mage::getModel("email/list");

$email_list->setEmailMessageNo($ea['email_number']);

$email_list->setSendEmailAddress($ea['SendEmailAddress']);

$email_list->setEmailSender($e_sender);

$email_list->setReceiveEmailAddress($user);

$email_list->setEmailSendTime($ea['date']);

$email_list->setEmailTitle($ea['subject']);

$email_list->setEmailContent($ea['message']);

$email_list->setOrderNo();

$email_list->setCustomerService();

$email_list->setOrderStyle();

$email_list->setLanguage();

$email_list->setOrderTotal();

$email_list->setCaseStatus();

$email_list->save();

$email_id = $email_list->getId();//

$attament = $ea['attament'];

foreach($attament as $aa){

$filename = $aa['filename'];//

$filealiases = $aa['filealiases'];//

$filedir = $aa['filedir'];//

//保存

$email_attachment = Mage::getModel("email/attachment");

$email_attachment->setEmailId($email_id);

$email_attachment->setAttachmentName($filename);

$email_attachment->setAttachmentAliases($filealiases);

$email_attachment->setAttachmentDir($filedir);

$email_attachment->save();

}

}

}

imap_close($inbox);

?>

php imap gmail,php imap gmail接收邮件。相关推荐

  1. IMAP协议定时监听接收邮件(QQ邮箱、网易邮箱都可)

    前面已介绍过SMTP协议发论文:qq邮箱,网易邮箱,smtp邮箱发邮件 本文将继续介绍如何用IMAP协议收邮件. IMAP协议:即Internet Message Access Protocol(互联 ...

  2. c# 收取邮件 解析_C# 接收邮件

    C#没有内置收邮件的类,参考网络上的代码,针对POP3协议服务器使用 Jmail组件来收邮件,针对IMAP协议服务器使用LumiSoft.Net . 另外,一般免费邮箱需要在邮箱设置中开启 POP3( ...

  3. 活用Koomail的IMAP协议功能同步Gmail邮件

        Gmail是Google推出的邮箱服务,现在已经成为非常流行好用的邮箱之一.我们除了通过传统的webmail方式以及使用邮件客户端的POP3协议来收发外,还可以用Gmail提供的免费Imap协 ...

  4. android pop3与imap方式接收邮件(javamail)

    需要下载3个jar包:mail.jar/    activation.jar/    additionnal.jar 1.pop3 /** * 以pop3方式读取邮件,此方法不能读取邮件是否为已读,已 ...

  5. 【iMessage苹果家庭推源码】软件安装使用IMAP协议接收邮件

    推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...

  6. 新网邮箱接收邮件服务器端口,全球邮企业邮箱MAC OS上POP3/IMAP协议设置方法

    第一步 在 Mac 打开 设置 ,进入"邮件"页面,添加帐户. 第二步 进入新增帐户页面,输入您完整的电子邮件地址和密码,点击"创建",系统会寻找匹配的设置. ...

  7. java imap 乱码_php imap/pop3 接收邮件类,解决中文乱码

    小弟目的想在嵌入式开发板上实现接收邮件,当然谷歌了一下,发现还是有很多实现方法的:php最简单,C socket实现效率最高(我是这么感觉),当然也少不了python实现(不过还没动手测试)等等. 今 ...

  8. php通过IMAP收取各个文件夹的邮件(附代码)

    本文内容 已实现对于Gmail,qq,qq企业邮箱,阿里企业邮箱,outlook,hotmail的指定文件夹来拉取邮件内容,内容截图,附件等功能 ! 什么是IMAP,POP3,IMAP协议 php获取 ...

  9. 邮件服务器imap有推送吗,为什么我的邮件服务器支持imap协议还收不到邮件内容...

    满意答案 qk2523 2017.04.05 采纳率:48%    等级:7 已帮助:163人 支持imap协议和能不能收到邮件没有什么关系. 1.使用Web方式可以正常接收邮件,但使用Outlook ...

  10. 网易闪电邮收信显示连接服务器,网易闪电邮IMAP协议同步网页邮箱收发邮件的使用技巧...

    网易闪电邮是许多网友都在使用的一款邮箱,它为用户提供了非常多有用的功能,比如:使用网易闪电邮IMAP协议,就可以让网易闪电邮同步接收与发送网页邮箱的邮件,下面,就一起来了解一下网易闪电邮IMAP协议同 ...

最新文章

  1. Spring之数据库操作
  2. 2021-02-21 代码不规范,运维两行泪 代码规范
  3. html任务3 模拟滚动条,vue3系列:vue3.0自定义虚拟滚动条V3Scroll|vue3模拟滚动条组件...
  4. Docker ElK安装部署使用教程
  5. Flex与.NET互操作(十三):FluorineFx.Net实现视频录制与视频回放
  6. (三)Netty之Channel通道
  7. mysql 转int_MySQL索引凭什么能让查询效率提高这么多?
  8. DHT11温湿度传感器模块使用方法和驱动代码实现
  9. 最新可乐云商城程序源码V0.6版本 可做实物商城网站
  10. NGS数据分析实践:03. 涉及的常用数据格式[5] - vcf格式
  11. vscode格式化css文件,css文件排版
  12. MAC 录屏工具,录制视频制作GIF—— LICEcap
  13. 早期微处理器相关的中文翻译书籍
  14. EN 14967:防水沥青防潮层—CE认证
  15. 你是否同意放开二胎政策
  16. java实用型:mybatis的好帮手-MybatisCodeHelperPro
  17. 快手在线查询权重网站源码+接口
  18. 计算机网络中的猫,宽带猫的作用和分类【图解】
  19. win7计算机右边预览,如何在win7计算机上打开任务栏缩略图预览功能
  20. 中国科学技术大学计算机科学夏令营,中国科学技术大学计算机科学与技术学院(专业学位)软件工程保研夏令营...

热门文章

  1. 数学知识--外积和内积
  2. 数电基础:时序逻辑电路
  3. 【PHY】关于学习以太网PHY的这件事情
  4. 电脑故障排除-------外来文章
  5. GB2312 汉字拼音对照表(6727字)
  6. shell 中利用sqlplus 执行sql脚本 传参
  7. cad dwg文件在线展示平台源代码cad格式 dwg文件解析,在线展示平台,全套代码
  8. GMT 6.0绘制指针图/GMT绘制指南针/指北针
  9. torch.arange()
  10. 计算机考研考英语作文,2020考研英语备考:描述现象类句式_计算机考研专业课...