javamail 发送邮件
来源:互联网 发布:java怎么固定gui位置 编辑:程序博客网 时间:2024/04/19 12:16
Javamail 学习过程
一、邮件发送
1、在javamail的环境下创建一个 Properties 对象,该类在 java.util 包中,以键-值对的形式设置邮件接收中需要用到的传输协议,如 stmp协议,此外还可以设置想要连接的 stmp 服务器的主机名;
如:
其中serverUrl 表示传过来的邮箱的后缀名。
2、创建session对象 如上图所示
这里的session不是javaEE中的session 而是javax.mail.Session,他不能直接new一个对象而是通过Session.getInstance(props);
3、创建session对象以后就要通过session获取发送邮件对象以及连接服务器:
上面的几个参数一看就明了吧 第一个表示服务器名,第二个表示发件人的邮箱,第三个表示发件人邮箱的密码
4、接下来就是创建邮件:
MimeMessage message = new MimeMessage(session);
5、设置发件人和收件人:
message.setForm(new InternetAddress(sendUserEmail));//设置发件人
message.serRecipients(Message.RecipientType.TO, takeUserEmail);//设置收件
6、在上面的前提下我们可以设置邮件的主题以及内容了 先设置主题,内容里面有点复杂,其中里面包括文本内容(可以包含纯文本内容和图片)、图片、附件
先设置主题:
message.setSubject(subject);
创建正文:
先是纯文本内容:
MimeBodyPart text = new MimeBodyPart();
text.setContent(emailContent,"text/html;charset=UTF-8");
图片:
MimeBodyPart image = new MimeBodyPart();
DataHandler dh = new DataHandler(new FIleDataSource(imgUrl));
image.setDataHandler(dh);
image.setContentId(“aaa”);
附件:
MimeBodyPart attachment = new MimeBodyPart();
DataHandler dh1 = new DataHandler(new FIleDataSource(imgUrl));
attachment.setDataHandler(dh1);
attachment.setFileName(MimeUtility.encodeText(dh1.getName()));//特殊注意的地方 得自己设置名字 不然会随机分配的
7、接下来就是整合图片、附件跟正文内容是什么关系咯:
就以图片可以作为正文内的内容为例:
MimeMultipart mm1 = new MimeMultipart();
mm1.addBoduPart(text);
mm1.addBodyPart(image);
mm1.setSybType(“related”);
这就是他们之间的关系
附件就不用说了咯:请看下面
MimeBodyPart content = new MimeBodyPart();
content.setContent(mm1);//记得这是文本+图片的合体
MimeMultipart mm = new MimeMultipart();
mm.addBodyPart(content);
mm.addBodyPart(attachment);
mm.addBodyPart(mixed);//记住他们之间的关系
message.setContent(mm);
这就一份邮件设置好了,哦 不过好像忘了一点还有日期没设置
message.setSentDate(new Date());
最后保存邮件:message.saveChanges();
这是第几步了 应该是倒数第二步 发送邮件:
ts.sendMessage(message,message.getAllRecipients());
ts.close();//最后一步记得关闭邮件发送对象
源代码下载:http://download.csdn.net/detail/yuanfyly/5818251
- javamail发送邮件
- 用javamail 发送邮件
- javamail发送邮件--sendmail
- JAVAMAIL发送邮件方法
- JavaMail发送邮件
- JavaMail发送邮件
- JavaMail发送邮件例子
- 用javamail发送邮件
- 用Javamail发送邮件
- JavaMail直接发送邮件
- JavaMail发送邮件
- JavaMail 发送验证邮件
- 使用JavaMail发送邮件
- javaMail发送邮件实例
- 用javamail 发送邮件
- JavaMail 实现邮件发送
- javamail邮件发送问题
- javamail发送邮件
- c#设置OpenFileDialog的Filter属性
- 常用的字符串处理方法
- Python 标准库 进程池介绍
- 自定义navigationBar上的按钮
- Linux下修改及查看mysql数据库的字符集
- javamail 发送邮件
- 在 Dreamweaver 中 Subversion (SVN) 获取和存回文件的使用
- UNIX下是\n,Windows下是\r\n (Linux & Windows中Enter键的不同解释)
- 详解在visual studio中使用git版本系统(图文)
- Kerberos协议学习报告
- 层层递进Struts1(三)之Struts组成
- 无密码root
- 无法重新组织表 ; 的索引 (分区 1),因为已禁用页级锁定
- MySQL DELETE语句和TRUNCATE TABLE语句的区别