首页 后端开发 php教程 最好的邮件编码解码类,再没有比这个好的了贴不下了1_PHP教程

最好的邮件编码解码类,再没有比这个好的了贴不下了1_PHP教程

Jul 13, 2016 pm 05:27 PM
decode else 编码 解码 这个 邮件

class mime_decode { var $content = Array(); function mime_encode_headers($string) { if($string == "") return; if(!eregi("^([[:print:]]*)$",$string)) $string = "=?ISO-8859-1?Q?".str_replace("+","_",str_replace("%","=",urlencode($string)))."?="; return $string; } function decode_mime_string($string) { if(($pos = strpos($string,"=?")) === false) return $string; while(!($pos === false)) { $newresult .= substr($string,0,$pos); $string = substr($string,$pos+2,strlen($string)); $intpos = strpos($string,"?"); $charset = substr($string,0,$intpos); $enctype = strtolower(substr($string,$intpos+1,1)); $string = substr($string,$intpos+3,strlen($string)); $endpos = strpos($string,"?="); $mystring = substr($string,0,$endpos); $string = substr($string,$endpos+2,strlen($string)); if($enctype == "q") { $mystring = str_replace("_"," ",$mystring); $mystring = $this->decode_qp($mystring); } else if ($enctype == "b") $mystring = base64_decode($mystring); $newresult .= $mystring; $pos = strpos($string,"=?"); } return $newresult.$string; } function decode_header($header) { $headers = explode(" ",$header); $decodedheaders = Array(); for($i=0;$i"; $closed = 1; for($i=0;$i", $thisPart, $regs)) { $email = trim($regs[2]); $name = trim($regs[1]); } else { if (eregi("([-a-z0-9_$+.]+@[-a-z0-9_.]+[-a-z0-9_]+)((.*))", $thisPart, $regs)) { $email = $regs[1]; $name = $regs[2]; } else $email = $thisPart; } $email = eregi_replace("^$", "\1", $email); $name = eregi_replace("^"(.*)"$", "\1", trim($name)); $name = eregi_replace("^((.*))$", "\1", $name); if ($name == "") $name = $email; if ($email == "") $email = $name; $ARfrom[$i]["name"] = $this->decode_mime_string($name); $ARfrom[$i]["mail"] = $email; unset($name);unset($email); } } return $ARfrom; } function build_alternative_body($ctype,$body) { global $mime_show_html; $boundary = $this->get_boundary($ctype); $part = $this->split_parts($boundary,$body); $thispart = ($mime_show_html)?$part[1]:$part[0]; $email = $this->fetch_structure($thispart); $header = $email["header"]; $body = $email["body"]; $headers = $this->decode_header($header); $body = $this->compile_body($body,$headers["content-transfer-encoding"]); return $body; } function build_related_body($ctype,$body) { global $mime_show_html,$sid,$lid,$ix,$folder; $Rtype = trim(substr($ctype,strpos($ctype,"type=")+5,strlen($ctype))); if(strpos($Rtype,";") != 0) $Rtype = substr($Rtype,0,strpos($Rtype,";")); if(substr($Rtype,0,1) == """ && substr($Rtype,-1) == """) $Rtype = substr($Rtype,1,strlen($Rtype)-2); $boundary = $this->get_boundary($ctype); $part = $this->split_parts($boundary,$body); for($i=0;$ifetch_structure($part[$i]); $header = $email["header"]; $body = $email["body"]; $headers = $this->decode_header($header); $ctype = $headers["content-type"]; $cid = $headers["content-id"]; $Actype = split(";",$headers["content-type"]); $types = split("/",$Actype[0]); $rctype = strtolower($Actype[0]); if($rctype == "multipart/alternative") $msgbody = $this->build_alternative_body($ctype,$body); elseif($rctype == "text/plain" && strpos($headers["content-disposition"],"name") === false) { $body = $this->compile_body($body,$headers["content-transfer-encoding"]); $msgbody = $this->build_text_body($body); } elseif($rctype == "text/html" && strpos($headers["content-disposition"],"name") === false) { $body = $this->compile_body($body,$headers["content-transfer-encoding"]); if(!$mime_show_html) $body = $this->build_text_body(strip_tags($body)); $msgbody = $body; } else { $thisattach = $this->build_attach($header,$body,$boundary,$i); if($cid != "") { if(substr($cid,0,1) == "") $cid = substr($cid,1,strlen($cid)-2); $cid = "cid:$cid"; $thisfile = "download.php?sid=$sid&lid=$lid&folder=".urlencode($folder)."&ix=".$ix."&bound=".base64_encode($thisattach["boundary"])."&part=".$thisattach["part"]."&filename=".urlencode($thisattach["name"]); $msgbody = str_replace($cid,$thisfile,$msgbody); } } } return $msgbody; } function linesize($message="", $length=70) { $line = explode(" ",$message); unset($message); for ($i=0 ;$i $length and $buf_o != "") { $message .= "$buf_o "; $buf = $line_part[$e]; } } $message .= "$buf "; } return($message); }

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/531863.htmlTechArticledecode_qp($mystring); } else if ($enctype == b) $mystring = base64_decode($mystring); $newresult .= $mystring; $pos = strpos($string,=?); } return $newresult.$string; } function de...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1672
14
CakePHP 教程
1428
52
Laravel 教程
1332
25
PHP教程
1277
29
C# 教程
1257
24
Outlook邮件丢失从控制面板在Windows 11 Outlook邮件丢失从控制面板在Windows 11 Feb 29, 2024 pm 03:16 PM

Windows11的控制面板中是否缺少Outlook邮件图标?这一意外情况在一些依赖OutlookMail满足通信需求的个人中引起了困惑和担忧。为什么我的Outlook电子邮件没有显示在控制面板中?控制面板中没有Outlook邮件图标可能有几个可能的原因:Outlook未正确安装。从MicrosoftStore安装Office应用程序不会将邮件小程序添加到控制面板。mlcfg32.cpl文件在控制面板中的位置丢失。注册表中的mlcfg32.cpl文件路径不正确。操作系统当前未配置为运行此应用程序

Word邮件合并打印空白页 Word邮件合并打印空白页 Feb 19, 2024 pm 04:51 PM

如果您发现在使用Word打印邮件合并文档时出现空白页,这篇文章将对您有所帮助。邮件合并是一项便捷的功能,让您能够轻松创建个性化文档并发送给多个收件人。在MicrosoftWord中,邮件合并功能备受推崇,因为它能够帮助用户节省手动为每个收件人复制相同内容的时间。为了打印邮件合并文档,您可以转到邮件选项卡。但是一些Word用户反映,在尝试打印邮件合并文档时,打印机会打印空白页或根本不打印。这可能是由于格式设置不正确或打印机设置问题。尝试检查文档和打印机设置,确保打印前预览文档,以确保内容正确。如果

Oracle DECODE函数的高级用法及技巧分享 Oracle DECODE函数的高级用法及技巧分享 Mar 08, 2024 am 10:30 AM

Oracle数据库中的DECODE函数是一个非常常用的函数,它可以根据一个表达式的结果值在一组值中进行选择。DECODE函数的语法如下:DECODE(expression,search_value1,result1,search_value2,result2,...,default_result)其中,expression是要进行比较的表达式,s

知识图谱:大模型的理想搭档 知识图谱:大模型的理想搭档 Jan 29, 2024 am 09:21 AM

大型语言模型(LLM)具有生成流畅和连贯文本的能力,为人工智能的对话、创造性写作等领域带来了新的前景。然而,LLM也存在一些关键局限。首先,它们的知识仅限于从训练数据中识别出的模式,缺乏对世界的真正理解。其次,推理能力有限,不能进行逻辑推理或从多个数据源融合事实。面对更复杂、更开放的问题时,LLM的回答可能变得荒谬或矛盾,被称为“幻觉”。因此,尽管LLM在某些方面非常有用,但在处理复杂问题和真实世界情境时,仍存在一定的局限性。为了弥补这些差距,近年来出现了检索增强生成(RAG)系统,其核心思想是

Oracle DECODE函数详解及用法示例 Oracle DECODE函数详解及用法示例 Mar 08, 2024 pm 03:51 PM

Oracle中的DECODE函数是一种条件表达式,常用于在查询语句中根据不同的条件返回不同的结果。本文将详细介绍DECODE函数的语法、用法和示例代码。一、DECODE函数语法DECODE(expr,search1,result1[,search2,result2,...,default])expr:要进行比较的表达式或字段。search1,

常见的几种编码方式 常见的几种编码方式 Oct 24, 2023 am 10:09 AM

常见的编码方式有ASCII编码、Unicode编码、UTF-8编码、UTF-16编码、GBK编码等。详细介绍:1、ASCII编码是最早的字符编码标准,使用7位二进制数表示128个字符,包括英文字母、数字、标点符号以及控制字符等;2、Unicode编码是一种用于表示世界上所有字符的标准编码方式,它为每个字符分配了一个唯一的数字码点;3、UTF-8编码等等。

如何在C语言编程中实现中文字符的编码和解码? 如何在C语言编程中实现中文字符的编码和解码? Feb 19, 2024 pm 02:15 PM

在现代计算机编程中,C语言是一种非常常用的编程语言之一。尽管C语言本身并不直接支持中文编码和解码,但我们可以使用一些技术和库来实现这一功能。本文将介绍如何在C语言编程软件中实现中文编码和解码。首先,要实现中文编码和解码,我们需要了解中文编码的基本概念。目前,最常用的中文编码方案是Unicode编码。Unicode编码为每个字符分配了一个唯一的数字值,以便在计

苹果 iOS 18 邮件应用插上 AI 翅膀:增强搜索、智能撰写 / 回复、分类汇总等 苹果 iOS 18 邮件应用插上 AI 翅膀:增强搜索、智能撰写 / 回复、分类汇总等 Jun 11, 2024 pm 09:34 PM

6月7日消息,科技媒体AppleInsider昨日发布博文,曝料苹果公司内部正研发ProjectBlackPearl项目,主要增强iOS18、macOS15系统中的邮件应用,能让AI帮用户撰写和回复邮件。梳理相关内容如下:增强搜索ProjectBlackPearl项目首先增强邮件搜索结果,会显示来自通讯录、位置和本地存储文档的更多信息。智能回复此外邮件应用中新增“智能回复”(SmartReplies)功能,会基于本地运行的大语言模型(LLM)Ajax,结合邮件上下文情境给出合适的回复内容。撰写邮

See all articles