首页 php教程 php手册 用PHP发送MIME邮件(一)

用PHP发送MIME邮件(一)

Jun 21, 2016 am 09:10 AM
ascii content internet multipart

mime

已经厌倦了给你的朋友和客户发送那些单调乏味的文本通知和信件了吗?曾经考虑过发送附件或在邮中嵌入HTML吧

  答案就是MIME。接下来的几页解释了MIME的基础知识,创建符合MIME的信息,然后用一个可以工作的PHP
类结束,这个类实现了发送符合MIME邮件。注意对调用脚本,调用者等等的引用表示使用了将要开发的类的
脚本,客户程序/MUA等等表示邮件阅读的客户程序或邮件使用代理程序。

一些MIME基础
  MIME表示多用途Internet邮件扩允协议。MIME扩允了基本的面向文本的Internet邮件系统,以便可以在
消息中包含二进制附件。

  MIME利用了一个事实就是,RFC 822在消息体的内容中做了一点限制:唯一的限制就是只能使用简单的
ASCII文本。所以,MIME信息由正常的Internet文本邮件组成,文本邮件拥有一些特别的符合RFC
822的信息
头和格式化过的信息体(用ASCII
的子集来表示的附件)。这些MIME头给出了一种在邮件中表示附件的特别
的方法。

MIME信息的剖析
  一个普通的文本邮件的信息包含一个头部分(To: From:
Subject: 等等)和一个体部分(Hello Mr.,
等等)。在一个符合MIME的信息中,也包含一个信息头并不奇怪,邮件的各个部分叫做MIME段,每段前也缀
以一个特别的头。MIME邮件只是基于RFC 822邮件的一个扩展。然而它有着自已的RFC规范集。


头字段
  MIME头根据在邮件包中的位置,大体上分为MIME信息头和MIME段头。(译者:MIME信息头指整个邮件
的头,而MIME段头只每个MIME段的头。)

MIME信息头有:

MIME-Version:
这个头提供了所用MIME的版本号。这个值习惯上为1.0。
Content-Type:
它定义了数据的类型,以便数据能被适当的处理。有效的类型有:text,image,audio,video,
applications,multipart和message。注意任何一个二进制附件都应该被叫做application/octet-
stream。这个头的一些用例为:image/jpg, application/mswork,multipart/mixed,这只是很少的
一部分。
Content-Transfer-Encoding:
这是所有头中最重要的一个,因为它说明了对数据所执行的编码方式,客户/MUA
将用它对附件进行解
码。对于每个附件,可以使用7bit,8bit,binary ,quoted-printable,base64和custom中的一种编
码方式。7bit编码是用在US ASCII字符集上的常用的一种编码方式,也就是,保持它的原样。8bit

binary编码一般不用。对人类可读的标准文本,如果传输要经过对格式有影响的网关时对其进行保护,
可以使用quoted printable 。Base64是一种通用方法,在需要决定使用哪一种编码方法时,它提供了
一个不用费脑子的选择;它通常用在二进制,非文本数据上。注意,任何非7bit
数据必须用一种模式
编码,这样它就可以通过Internet邮件网关!
Content-ID:
如果Content-Type是message/external-body或multipart/alternative时,这个头就有用了。它超出了本文的范围。
Content-Description:
这是一个可选的头。它是任何信息段内容的自由文本描述。描述必须使用us-ascii码。
Content-Disposition:
一个试验性的头,它用于给客户程序/MUA提供提示,来决定是否在行内显示附件或作为单独的附件。
  MIME段头(出现在实际的MIME附件部分的头),除了MIME-Version头,可以拥有以上任何头字段。如果一个MIME头是信息块的一部分,它将作用于整个信息体。例如,如果Content-Transfer-Encoding显示在信息(指整个信息)头中,它应用于整个信息体,但是如果它显示在一个MIME段里,它"只能"用于那个段中。



本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系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脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 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)

什么是公网ip 什么是公网ip Sep 27, 2021 am 10:30 AM

公网ip是指用公网连接Internet上的非保留地址,可以与Internet上的其他计算机随意互相访问。互联网上的每台计算机都有一个独立的IP地址,该IP地址唯一确定互联网上的一台计算机,这个IP地址就是指的公网IP地址。

一个ascii字符占几个字节 一个ascii字符占几个字节 Mar 09, 2023 pm 03:49 PM

一个ascii字符占1个字节。ASCII码字符在计算机中采用7位或8位二进制编码表示,并保存在一个字节中,即一个ASCII码占用一个字节。ASCII码可分为标准ASCII码和扩展ASCII码,其中标准ASCII码也叫基础ASCII码,使用7位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。

win11无法上网的问题如何解决?处理win11电脑无法连接到internet的方法指南 win11无法上网的问题如何解决?处理win11电脑无法连接到internet的方法指南 Jan 29, 2024 pm 08:57 PM

我们在使用电脑的时候都会连接到网络,有了网络我们才能上网冲浪,近期也有不少的用户们在询问小编win11无法连接到internet怎么解决?用户们可以直接的打开系统给出的最佳匹配服务应用来进行设置,下面就让本站来为用户们来仔细的介绍一下win11电脑无法访问internet的解决方法吧。win11电脑无法访问internet的解决方法方法一:可以按下Win+S组合键,或者点击底部任务栏旁边的搜索图标,打开Windows搜索窗口。在搜索框中输入"服务",然后点击打开系统给出的最佳匹配服务应用。方法二

internet的通信协议是什么? internet的通信协议是什么? Dec 24, 2020 pm 02:53 PM

Internet采用的主要通信协议是“TCP/IP协议”,TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议;它是在网络的使用中的最基本的通信协议,TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。

如何在没有 Internet 连接的情况下设置 Windows 11 如何在没有 Internet 连接的情况下设置 Windows 11 Apr 15, 2023 am 10:46 AM

从内部版本22557及更高版本开始,Windows11需要Internet连接才能完成首次设置,也称为家庭版和专业版的开箱即用体验(OOBE),尽管有一种方法可以绕过此要求完全。由于微软希望用户将他们的计算机连接到他们的微软帐户,该公司正在对最初的Windows11设置进行更改,这将使得几乎不可能在没有Internet连接的情况下继续执行全新安装。或者,如果设置检测到设备没有网络连接,您将被发送到糟糕,您丢失了互联网连接屏幕。如果您单击重试选项,您将看到再次连接到Internet

快速了解 PHP 中的 ASCII 数值转换 快速了解 PHP 中的 ASCII 数值转换 Mar 28, 2024 pm 06:42 PM

PHP中的ASCII数值转换是编程中经常会遇到的问题。ASCII(AmericanStandardCodeforInformationInterchange)是一种用于将字符转换为数字的标准编码系统。在PHP中,我们经常需要通过ASCII码来实现字符和数字之间的转换。本文将介绍如何在PHP中进行ASCII数值转换,并给出具体的代码示例。一、将字符

如何删除临时Internet文件 如何删除临时Internet文件 Dec 06, 2023 am 10:56 AM

删除临时Internet文件步骤:1、按下win+r打开“运行”,在运行对话框中输入:%temp%命令,点击确定或者回车,打开用户帐户临时文件夹;2、打开Temp文件夹后按下Ctrl+A键,选中全部临时文件,右键点击,在右键菜单中点击“删除”;3、若出现个别无法删除的临时文件重启电脑即可删除。

网络无internet访问是怎么回事 网络无internet访问是怎么回事 Jun 29, 2023 pm 04:30 PM

网络无internet访问的原因:1、宽带欠费;2、网线接触不良,加固一下网线;3、路由器和光猫故障;4、WiFi本身的问题;5、电脑系统问题;6、IP地址没有设置好;

See all articles