笔记之java mail

邮件服务器:相当于邮局

电子邮箱:E-mail地址,就是账号,会分配一定的空间

SMTP:发送协议

POP3:接受协议

可使用命令发邮件:

ehlo flx

auth login

aXRjYXN0MTExMQ==

MTIzNDU2

mail from:<itcast1111@sohu.com>

rcpt to:<itcast1111@sina.com>

data

from:<itcast1111@soho.com>

to:<itcast1111@sina.com>

subject:test

(这里需要空行)

aaaaaaaaaaaaaaaaaaaaaaaaa

.

quit

ehlo flx

auth login

aXRjYXN0MTExMQ==

MTIzNDU2

mail from:<itcast1111@sohu.com>

rcpt to:<itcast1111@sina.com>

data

from:<jjs@taiwan.com>(修改这里可以冒充别人发邮件)

to:<itcast1111@sina.com>

bcc:<xxx@sina.com>

subject:人事安排

经国吾儿:

xx同志不错,请安排国防部长一职,此事不用再汇报,直接搞定。

蒋中正

1956.10.9

.

Quit

端口号:

http:80

Smtp:25

Pop3:110

Ftp:23

 mime:443

编码:

用SOKET连接发送服务器,开启输入输出流,不断的发送数据和读返回的数据

除了大型网站,一般用不到收邮件(解析数据难)

SMTP协议18条命令,6条有用,用户密码要BASE64编码

RFC822文档和MIME协议:

RFC822是简单文本邮件,

MIME是复杂邮件,通过横线划分不同的数据,通过content-type头,指定数据类型,content-type:multipart/related声明引用关系,让图片在正文中显示,不在以附件显示,给图片加 content-id头,在文本正文中<img src="cid:xxx.jpg"/>

编程:J2EE API

MimeMessage创建复杂邮件,setFrom  setTo  setSubject

每一部分数据:MimeBodyPart   setContent设置数据  setType设置类型

MimeMultipart保存多段数据,   addBadyPart 添加到容器  setType设置关系

导入包:mail.jar   activation.jar

图片显示在正文中(related)图片以附件显示(mixed,设置数据处理器,会自动感知类型)

最复杂的邮件:正文和图片组成的MimeMultipart用MimeBodyPart封装后,和附件的MimeBodyPart一起加到新的容器中。

中文乱码:正文或附件名可能乱码

正文:setContent中加上charset="UTF-8"

附件:setFileName中加(MimeUtility.encodeText(dh.getName()))

发送邮件:

创建会话session并设置运行环境Properties (参考JAVAmail pdf   Enviroment properties),getTransport 拿到Transport对象。Connect连接服务器,sendMessage发送邮件,close关闭连接。

session.setDebug(true)会在控制台打印交互信息

WEB中发邮件,发送最好在多线程中。

服务器给服务器转投电子邮件不用密码,需要在DNS注册A记录

别人能找到该服务器,则需在DNS上注册MX记录

查找DNS服务器命令:

Nslookup

Set type=mx

Sina.com

网络爬虫:HttpUrlConnection连接到网页,INPUTsTREAM 读取资源,用正则匹配资源,递归。

JNDI让TOMCAT 创建session:参考tomcat文档。(需要拷贝JAR到服务器lib目录中)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值