MIME是如何增强肾功能SMTP的功能的?

>> smtp,mime的base64编码算法,指定编码源文件名后,编码所得文件自动生成。其内容即为base64编码。支持二进制文件(可执行程序,图像)编码...
smtp,mime的base64编码算法,指定编码源文件名后,编码所得文件自动生成。其内容即为base64编码。支持二进制文件(可执行程序,图像)编码...
所属分类:
下载地址:
base640.rar文件大小:1.16 kB
分享有礼! 》
请点击右侧的分享按钮,把本代码分享到各社交媒体。
通过您的分享链接访问Codeforge,每来2个新的IP,您将获得0.1 积分的奖励。
通过您的分享链接,每成功注册一个用户,该用户在Codeforge上所获得的每1个积分,您都将获得0.2 积分的分成奖励。
smtp,mime的base64编码算法,指定编码源文件名后,编码所得文件自动生成。其内容即为base64编码。支持二进制文件(可执行程序,图像)编码-smtp, mime the base64 encoding algorithm, encoding the source file name specified after the automatically generated code from a document. Its content is base64 encoded. Support for binary files (executable programs, images) encoding
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^
2.50 kB08-08-08 09:41
(提交有效评论获得积分)
评论内容不能少于15个字,不要超出160个字。
评价成功,多谢!
下载base640.rar
CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了
您的积分不足,优惠套餐快速获取 30 积分
10积分 / ¥100
30积分 / ¥200原价 ¥300 元
100积分 / ¥500原价 ¥1000 元
订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。
支付宝支付宝付款
微信钱包微信付款
更多付款方式:、
您本次下载所消耗的积分将转交上传作者。
同一源码,30天内重复下载,只扣除一次积分。
鲁ICP备号-3 runtime:Elapsed:281.482ms - init:0.1;find:0.6;t:0.4;tags:0.6;related:232.3;comment:0.1; 5.8
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧小站会根据您的关注,为您发现更多,
看到喜欢的小站就马上关注吧!
下一站,你会遇见谁的梦想?
和谐,积极向上
MIME的安全版本——s/mime
MIME和S/MIME
---- Internet电子邮件由一个邮件头部和一个可选的邮件主体组成,其中邮件头部含有邮件的发送方和接收方的有关信息。对于邮件主体来说,特别重要的是,IETF在RFC 2045~RFC 2049中定义的MIME规定,邮件主体除了ASCII字符类型之外,还可以包含各种数据类型。用户可以使用MIME增加非文本对象,比如把图像、音频、格式化的文本或微软的Word文件加到邮件主体中去。MIME中的数据类型一般是复合型的,也称为复合数据。由于允许复合数据,用户可以把不同类型的数据嵌入到同一个邮件主体中。在包含复合数据的邮件主体中,设有边界标志,它标明每种类型数据的开始和结束。
---- S/MIME在安全方面的功能又进行了扩展,它可以把MIME实体(比如数字签名和加密信息等)封装成安全对象。RFC 2634定义了增强的安全服务,例如具有接收方确认签收的功能,这样就可以确保接收者不能否认已经收到过的邮件。微软将在未来的Office 2000新版本中包含这些服务。S/MIME增加了新的MIME数据类型,用于提供数据保密、完整性保护、认证和鉴定服务等功能,这些数据类型包括&应用/pkcs7-MIME&(application/pkcs7-MIME)、&复合/已签名&(multipart/signed)和&应用/pkcs7-签名&(application/pkcs7-signature)等。如果邮件包含了上述MIME复合数据,邮件中将带有有关的MIME附件。在邮件的客户端,接收者在阅读邮件之前,S/MIME应用处理这些附件。如表1所示,附件的扩展名因复合数据类型所提供的S/MIME服务的不同而异。在MIME的头部,标识了MIME附件的名字。一些邮件客户端,如果没有安装具有S/MIME能力的系统,或安装的是早期S/MIME的版本,也需要通过这些附件来识别邮件中和S/MIME有关的内容。其他邮件客户端则更是完全依靠复合数据信息识别MIME实体。
---- S/MIME只保护邮件的邮件主体,对头部信息则不进行加密,以便让邮件成功地在发送者和接收者的网关之间传递。
透明和不透明的签名
---- 如表1所示,用户可以使用application/pkcs7-MIME数据类型或multipart/signed和 application/pkcs7- signature等复合数据类型标记邮件的邮件主体。每个应用执行不同的签名类型:透明的(clear)和不透明的(opaque)。这两种签名类型可以在S/MIME和非S/MIME邮件客户端之间交换已签名的邮件。透明签名的邮件把数字签名同已签名的数据区分开来,不透明的签名邮件将签名和信息绑定在同一个二进制文件中。图1显示了透明签名的邮件格式,图2显示了不透明签名的邮件格式。 &
表1 S/MIME和MISE的内容类型扩展
MISE内容类型MISE子类型S/MIME类型S/MIME服务附件扩展名
应用Pkcs7-MIMS签名数据保证数据的完整性、认证和无法否认接收; 使用不透明签名.p7m
&&封装数据保证数据的真实性.p7m
复合signedNA保证数据的完整性、认证和无法否认接收; 使用透明签名NA
应用Pkcs7- signatureNA保证数据的完整性、认证和无法否认接收; 使用透明签名.p7s
---- 通过Outlook 2000或Outlook Web Access(OWA),系统管理员可以看出透明和不透明签名邮件的区别。浏览透明签名邮件的明文不需要S/MIME处理。Outlook 2000的预览窗口如图3所示,透明签名邮件的内容可以直接显示出来。但对于不透明签名邮件,系统管理员必须双击它,以便让S/MIME对邮件进行处理,才能看到内容。OWA不支持S/MIME,所以只能通过OWA的接口阅读透明签名的邮件;不透明签名的和加密的邮件则显示一个smime.p7m附件。
---- 因为邮件的信息交换隐含了一个一步完成的协议,即在邮件传输完成之前,邮件的发送方和接收方之间没有交互,发送方可能不知道接收方的S/MIME能力。不管邮件客户端是否具有S/MIME能力,都可以阅读透明签名的邮件。然而,不透明签名邮件和透明签名邮件比较起来,有一个重要的优点,因为发送方和接收方之间的网关不能改变不透明签名邮件中MIME数据的隐藏明文部分。当用户从一个邮件API(MAPI)邮件客户,比如团体/工作组(Corparate/Workgroup)方式的Outlook 2000发送一条透明签名邮件给一个SMTP-MIME邮件客户(例如Outlook Express 5.0),发送客户使用MAPI规则格式化邮件。SMTP网关将把邮件转换成MIME格式。在转换过程中,同时也改变了邮件的明文部分,这将造成接收方的签名检查返回无效的结果,好像出现了非法入侵。这种无效错误在Exchange 2000中不像在Exchange Server 5.5中出现得那么频繁。Exchange 2000的流数据库(Streaming Database)存储本地的MIME邮件,这样Exchange 2000只有在绝对必须时才把MIME邮件转换成MAPI邮件,例如,当MAPI客户想要阅读MIME格式的邮件时。
---- 不成文的规矩是,当用户不知道接收方是否具有S/MIME能力时,一般发送透明签名邮件; 向具有S/MIME能力的客户端发送不透明签名的邮件。如果从一个本地的MAPI客户端经过SMTP或X.400网关发送邮件,例如,在两个通过SMTP连接的MAPI客户端之间,或者从MAPI客户端向SMTP客户端发送邮件时,也发送不透明签名的邮件。在Outlook 2000 和Outlook Express 5.0上,用户可以选择任何一种签名方式。在Outlook 2000上,通过邮件选项设置签名方式;在Outlook Express 5.0上,通过邮件客户的&高级安全&选项设置签名方式。
Outlook和S/MIME
---- Outlook 2000是微软公司发布的、比较成熟的邮件客户端的最新版本。微软还提供Outlook Express 5.0,它是微软随Internet Explorer 5.0一起发行的基于Internet的邮件客户系统,相对来说比较简单。系统管理员可以通过或IMAP4把Outlook Express 5.0与Exchange 2000或Exchange Server 5.5相连接。另外,也可以把一个邮件客户端通过轻型目录访问协议(Lightweight Directory Access Protocol,LDAP)连接到一个目录上。表2显示了这些客户端的主要S/MIME特性的概况。 &
表2 微软S/MIME客户端特性的比较
&Outlook 2000Outlook 2000 Internet MailOutlook 2000 Express 5.0
密钥恢复是否否
支持CDP是是是
密钥存储保护存储,选择系统密钥保护保护存储,选择系统密钥保护保护存储,选择系统密钥保护
支持透明和不透明签名是是是
S/MIME登录KMS,内部CA,商业CA内部CA,商业CA内部CA,商业CA
S/MIME登录发起者KMS管理员,用户用户用户
重新认证自动警告(取消和过期)警告(取消和过期)
支持LDAP是是是
支持PKCS#2是是是
---- 系统管理员可以选择以下两种电子邮件方式安装Outlook 2000:&团体/工作组&或&Internet惟一邮件&(Internet Mail Only)方式,或选择&无电子邮件方式&(No E-Mail Mode)。前两种电子邮件方式支持不同的协议:&团体/工作组&方式提供一个具备全部功能的MAPI邮件客户端,它支持SMTP和POP协议,并有LDAP支持选项(通过LDAP目录服务实现)。&Internet惟一邮件&方式提供一个基于ISP的邮件客户端,它支持SMTP、IMAP、POP和LDAP等协议。系统管理员可以在Outlook 2000的邮件服务选项对话框中使用&重新配置邮件支持&按钮选择方式,Outlook 2000在机器级为每个在本机上注册的用户重新配置电子邮件方式。
---- 从S/MIME的观点看,这两种方式之间存在着根本的区别。当系统管理员希望为企业的邮件客户提供密钥恢复功能时,应该采用&团体/工作组&方式安装Outlook 2000客户。因为这种方式使用户能够在Exchange 2000的高级安全中登录客户,从而在邮件客户端可以充分利用Exchange 2000存储在动态目录(AD)中的S/MIME加密参数选择的优势。
验证登录和重新登录
---- 系统管理员负责Exchange 2000高级安全登录的初始化,产生并分发客户可以用来登录S/MIME验证和密钥的登录令牌。如表2所示,每个邮件客户都可以使用一个内部的或商用的CA来进行认证登录。对于由Exchange 2000特有的证书模板加载的KMS-CA,则可以生成可以产生高级安全证书。当系统管理员使用Windows 2000企业版CA时,企业客户可以使用一个基于Web(http://servername/certsrv)的或基于GUI(即微软管理控制台的证书接口)的界面登录。如果一个用户从CA收到一个证书后,仍然不能发送S/MIME签名的邮件,那么就要在Outlook 2000上检查他的S/MIME设置,或通过Outlook Express 5.0检查用户的邮件账号和S/MIME证书之间是如何绑定的,如图4所示。
---- 证书重新登录与登录同样重要。本文所提到的每个微软邮件客户终端,都会警告用户什么时候其证书将过期,或者CA和KMS管理员在什么时候将废除证书。与Exchange Server KMS结合的Outlook 2000的&团体/工作组&方式提供最高级的自动操作:出现一个对话框提示用户登录新证书,当用户接受提示后,CA立即产生证书。Outlook 2000的&Internet惟一邮件&方式或Outlook Express 5.0上的用户则必须重做登录,替换掉过期的或被废除的证书。
---- 在Outlook 2000或Outlook Express 5.0上阅读签名邮件时,系统管理员系统不必安装个人的S/MIME证书,或采用高级安全登录。如果Outlook Express 5.0的用户要发送加密邮件,甚至不需要个人的S/MIME证书。当客户端收到一个有效签名的邮件时,软件会自动地把发送方加到Outlook Express的通信列表中。通信列表条目中包含有发送方的账户证书。Outlook 2000要求用户手工地把发送方加到用户的通信列表或个人地址薄(Personal Address Book,PAB)中,而且要求用户在发送加密邮件时,需要具备个人的S/MIME证书。&
11电气升本&&&&& 程义平
站长在关注MimeText会将UTF-8编码的问题发送电子邮件时-python,utf-8,smtp,ascii,mime-CodeGo.net
MimeText会将UTF-8编码的问题发送电子邮件时
下面是我的代码,它发送一个电子邮件的一部分:
servidor = smtplib.SMTP()
servidor.connect(HOST, PORT)
servidor.login(user, usenha)
assunto = str(self.lineEdit.text())
para = str(globe_email)
texto = self.textEdit.toPlainText()
textos = str(texto)
corpo = MIMEText(textos.encode('utf-8'), _charset='utf-8')
corpo['From'] = user
corpo['To'] = para
corpo['Subject'] = assunto
servidor.sendmail(user, [para], corpo.as_string())
一切都很好,除了主体的一部分。
当我尝试发送一个字符串有特殊字符(如“ação”),它提出了这样的错误:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-2: ordinal not in range(128)
我怎么可以发送电子邮件与MimeText用于的主题特殊字符?
本文地址 :CodeGo.net/380973/
-------------------------------------------------------------------------------------------------------------------------
1. 看来,在python3,一Header对象是需要的编码Subject为“UTF-8”:
&&& from email.mime.text import MIMEText
&&& from email.header import Header
&&& s = 'a??o'
&&& m = MIMEText(s.encode('utf-8'), 'plain', 'utf-8')
&&& m['Subject'] = Header(s, 'utf-8')
&&& m.as_string()
'Content-Type: text/ charset="utf-8"\nMIME-Version: 1.0\nContent-Transfer-Encoding: base64\nSubject: =?utf-8?b?YcOnw6Nv?=\n\nYcOnw6Nv\n'
所以原来的剧本会
servidor = smtplib.SMTP()
servidor.connect(HOST, PORT)
servidor.login(user, usenha)
assunto = str(self.lineEdit.text())
para = str(globe_email)
texto = str(self.textEdit.toPlainText())
corpo = MIMEText(texto.encode('utf-8'), 'plain', 'utf-8')
corpo['From'] = user
corpo['To'] = para
corpo['Subject'] = Header(assunto, 'utf-8')
servidor.sendmail(user, [para], corpo.as_string())
本文标题 :MimeText会将UTF-8编码的问题发送电子邮件时
本文地址 :CodeGo.net/380973/
Copyright (C) 2017 CodeGo.net

我要回帖

更多关于 如何锻炼增强性功能 的文章

 

随机推荐