php通过imap获取腾讯企业邮箱信息后的解码处理
最近需要在项目开发的oa中集成一个收发腾讯企业邮箱邮件的功能,今天做到了获取收件箱内容部分,imap如何获取就不写了,百度一堆,主要是关于内容的解码
主要以邮件主题解码为主,腾讯企业邮返回的数据主要有以下几种格式
1."subject": "=?UTF-8?B?5o+Q6YaS77yB77yB5pys5pyI5pyJ5pyq5o+Q5Lqk5pel5oql77yB?="
2."subject": "=?utf-8?Q?5YWz5LqO5YWs5Y+457uE57uH5p625p6E6LCD5pW0?="
3."subject": "=?gb2312?Q?2017=C4=EA10=D4=C2=B9=A4=D7=CA=CC=F5?="
4."subject": "=?GB2312?B?sr/K8Mnqx+u1pQ==?="
主要是分为utf8以及gb2312这两种,后面分别带着B跟Q,代表是base64_decode解码或者是quoted_printable_decode,代码如下
//解析主题 public function editSubject($value){ $valuearr1 = explode('?',$value); //通过问号分割字符串,获取到有用的数据 if($valuearr1[1] == 'UTF-8' || $valuearr1[1] == 'utf-8'){ if($valuearr1[2] == 'Q'){ return quoted_printable_decode($valuearr1[3]); }else{ return base64_decode($valuearr1[3]); } }else if($valuearr1[1] == 'GB2312' || $valuearr1[1] == 'gb2312'){ if($valuearr1[2] == 'Q'){ return iconv('gb2312','UTF-8//IGNORE',quoted_printable_decode( $valuearr1[3])); }else{ return iconv('gb2312','UTF-8//IGNORE',base64_decode( $valuearr1[3])); } }else{ return $value; } } 因为当前的代码环境及文件格式都是utf8的,所以需要将所有的gn2312都通过iconv转为utf8,否则返回数据给前端时会出现问题,另外这个方法对于非utf8及gb2312以外的情况作了特殊处理,直接返回原数据,以后遇到这种特殊情况不会报错,可以直接看到方便后续补充 ps:imap进行收件操作,效率真的很低,很慢。。只获取20封邮件大概从请求接口到发起imap到接受数据(不包括解析,数据只包括信件标头)需要7秒以上(保守估计,受网络影响很严重),如果使用imap直接获取单个邮件内容,需要8-10秒,视情况而定,很坑。。
转载于:https://www.cnblogs.com/lsz920210/p/8177465.html
php通过imap获取腾讯企业邮箱信息后的解码处理相关推荐
- python程序下载腾讯企业邮箱附件_获取腾讯企业邮箱通讯录python脚本(带登录功能)...
之前的 帖子 加入了 @ sdc1992 提供的登录部分 根据邮箱和密码,获取企业通讯录 运行后会生成两个文件 一个只包含邮箱,可以用于后续爆破 一个为部门名称 和 部门下的员工邮箱的树形结构,可以方 ...
- 腾讯企业邮箱OpenApi
一.发送http请求的工具类 import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; ...
- 腾讯企业邮箱API实现单点登录和获取企业未读邮件
应公司要求在ERP平台的OA系统上显示企业邮箱的未读邮件数量,并且实现单点登录.也就是点击数字可以直接进入腾讯企业邮箱不用登录.既然用到这个API肯定大家也都有腾讯企业邮箱OpenApi协议v1.4文 ...
- 腾讯企业邮箱支持 pop/imap/exchange服务器地址(用于客户端)
腾讯企业邮箱支持 pop/imap/exchange 协议从邮件服务器上获取邮件的信息.下载邮件等. IMAP/SMTP 协议 接收邮件服务器:imap.exmail.qq.com ,使用 SSL,端 ...
- python获取未读邮箱数目_利用腾讯企业邮箱开放API获取账户未读邮件数初探
1 /// 2 ///POST时用到的几个数据3 /// 4 public structPostData5 {6 /// 7 ///目标服务器地址8 /// 9 public stringurl;10 ...
- 邮件客户端用IMAP还是POP3,为什么?Thunderbird 雷鸟和免费腾讯企业邮箱
从2023年4月1日起腾讯企业邮箱免费版的容量从2G降到1G,网易企业邮箱免费版也只有1G,所以现实的问题是如何把目前服务器上的所有邮件下载下来? 很久很久以前当网速很慢上网费很贵的时候一直使用POP ...
- 腾讯企业邮箱开发(非官方开发文档方式
** 之前项目系统中包含了一个邮箱下载模块,其中对接的是腾讯企业邮箱,这个模块前后也维护了不短时间,想写下这篇文章来聊聊具体问题,如果有需要对接腾讯企业邮箱的需求,同时官方给予的开发文档无法满足需求, ...
- 腾讯企业邮箱api java_腾讯企业邮全新API,五大新接口上线_腾讯企业邮箱服务中心...
为了更好地支持企业拓展.定制邮箱的功能,腾讯企业邮推出全新的开放接口规范,对旧API接口进行全面升级.新API接口在接口规范.接口能力.接口安全等各方面都得到显著提升. 管理端工具箱的"开放 ...
- php 操作 腾讯企业邮箱设置发邮件,纯代码实现WordPress使用腾讯企业邮箱发送邮件...
为什么选择腾讯企业邮箱,其中有个非常优秀的功能,就是可以绑定在腾讯云购买的域名为邮箱的域名,这样子看起来邮箱会更加的正统一点.另一个就是可以直接绑定到QQ邮箱,相对来说平时读邮件的时候回显得更加方便. ...
- 腾讯企业邮箱java-收发邮件
腾讯企业邮箱-收邮件 package com.hzsmk.ocr.service;import java.io.IOException; import java.io.InputStream; imp ...
最新文章
- DevExpress的对话框XtraMessageBox的使用
- ASP.NET浏览器跨域
- Python笔记-对字符串进行URL编码及解码
- Linux 下进入含空格的目录(以及文件夹名开头为`(`)
- vasp软件全名是什么_vasp软件主要功能
- SOEM Ethercat在TI DSP RTOS上的移植
- 太极root权限_太极iOS 8.4完美越狱曝安全隐患:Root权限易获取
- java防止sql注入的几个途径_Java防止SQL注入的几个途径
- python导入鸢尾花数据集_python 鸢尾花数据集报表展示
- Android--NFC读写
- eclipse集成阿里代码规范工具p3c
- 56ip数字标牌软件
- 很强大的上网行为管理终端软件-云子可信-一键禁止访问视频网站
- 超细节的对比学习和SimCSE知识点
- linux修改BCD文件,关于BCDEdit 命令的使用
- 如何 拆 贴片电容 而不是把焊盘给搞坏
- Openwrt switch vlan配置
- Server Error in ‘/‘ Application.问题解决
- php快手开发平台api签名
- php使用microtime(true)查看代码执行时间
热门文章
- 恭喜马斯克、纳德拉当选美国工程院院士,张宏江、方岱宁入选外籍院士
- java.lang.RuntimeException
- 怎样搭建serveru ftp个人服务器
- Xcode5 创建模板和UIView 关联XIB
- 利用C++的多态写一个电脑组装的具体实现
- 最网最全python框架--scrapy(体系学习,爬取全站校花图片),学完显著提高爬虫能力(附源代码),突破各种反爬
- 解决 No module named 'tensorflow_serving' 问题
- 硬盘分区大学计算机,电脑硬盘容量要怎么选?又要怎么硬盘合理分区?今天我再说一次!...
- build Variants创建不同配置的app(图文详解)
- java内存泄露 垃圾回收_Java中内存泄露及垃圾回收机制