PHP教程之用PHP发送MIME邮件(一)
通过这段时间的学习实践,对软件开发有了更多新的认识,不在局限于之前的片面性。当然,现在所学到的东西其实并不多,离当一个真正的程序员,还有很大的差距。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段里,它"只能"用于谁人段中。也得学会了PHP。然后再学,见异思迁是最不可取的,狗熊掰玉米就是这个道理,如果经常中途放弃,只能是一无所获,还浪费了N多的时间和经历,得不偿失,最重要的是,你会被别人瞧不起。 在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。 基础有没有对学习php没有太大区别,关键是兴趣。 实践是检验自己会不会的真理。 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。 为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
页:
[1]