邮件系统图片内嵌教程.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
邮件系统图片内嵌教程

邮件系统优化文档整理 学习目的:提高自身能力,增强解决问题的能力,养成独立思考的习惯 学习内容:学习邮件系统开发的基础知识并对现有的一个邮件系统优化,实现邮件发送图片时将图片资源内嵌到邮件内容中去 学习过程: 熟悉邮件系统的基础知识,了解邮件传输协议(SMTP协议、POP3协议等) SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)定义了邮件客户端软件与SMTP服务器之间以及两台SMTP服务器之间的通信规则。SMTP协议的通信双方采用一问一答的命令/响应形式进行对话。 POP3协议定义了邮件客户端程序与POP3服务器进行通信的具体规则和细节。用户要从邮件服务器提供商提供的电子邮箱来获取自己的电子邮件,需要通过邮件服务提供商的POP3邮件服务器来帮助完成。 了解电子邮件的工作原理(假设lyk@向lhl@163.com发送邮件) lyk@的邮件客户端程序与对应的SMTP服务器建立网络连接,并以其用户名和密码登录后使用SMTP协议把邮件发送到sina的SMTP服务器 Sina的SMTP服务器收到lyk@提交的电子邮件后,首先根据收件人的得知后缀判断接收者的邮件地址是否属于该SMTP服务器的管辖范围,如果是就直接把邮件存储到收件人的邮箱中,否则sina的SMTP服务器想DNS服务器查询收件人的邮件地址后缀所表示的域名的MX记录,与163的SMTP服务器建立连接并采用SMTP协议吧邮件发送给163的SMTP服务器。 163的SMTP服务器收到sina的SMTP服务器发来的电子邮件后,也将根据收件人的地址判断该邮件是否属于该SMTP服务器的管辖范围,如果是就直接把邮件存储到收件人的邮箱中,否则163的SMTP服务器可能继续转发这封电子邮件,也可能丢弃这封电子邮件。 用户lhl@163.com通过邮件客户端与163的POP3/IMAP服务器建立网络连接,登录后就可以通过POP3或IMAP协议瞎看邮箱中是否有新邮件。如果有,则用POP3或IMAP协议读取邮箱中的邮件。 创建HTML格式的邮件 在发送邮件的过程中可能会发送图片,但是由于java自带的编辑器是纯文本框,无法插入图片,所以需要创建HTML格式的邮件。邮件正文用HTML文本表示时,可以使用HTML文件的特性来丰富邮件正文,加入一些图片和声音等。 包含内嵌图片的复杂邮件 如上所说,创建HTML格式的邮件能够添加图片等,在html页面中直接嵌入图片数据通常是在html页面中应用图片的链接,如: img src=/logo.gif 但是,这样的前提是我们需要将图片先上传到指定的网站,然后获取外链。一方面 略麻烦,最主要的是存储图片的网站是否持续的支持外链引用。所以,将图片直接插入到html页面中。如img src=data:image/png;base64,....... 其中base64逗号之后的就是将图片经过base64编码后的数据。 如何实现图片的嵌入 实现邮件正文中图片的嵌入,其实就是从邮件的html文件中将图片的绝对URL解析出来再用base64编码,将所得编码以上诉的img src=data:image/png;base64,.......形式替换原来的img标签的src属性值 操作过程 由前面的学习可知实现邮件正文的图片嵌入,需要以img src=data:image/png;base64,.......形式插入图片。其中要将图片进行base64编码,base64方法如下: import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public static String GetImageStr() {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理 String imgFile = 111.jpg;//待处理的图片 //File f=new File(imgFile); f.length() FileInputStream in = null; byte[] data = null; FileChannel fc= null; //读取图片字节数组 try { in = new FileInputStream(imgFile); fc=in.getChannel(); data = new byte[(int)fc.size()];//[in.available()];

您可能关注的文档

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档