昆明java培训
达内昆明广州春城路

18487146383

热门课程

JavaMail邮件开发中带文本、图片、附件的邮件

  • 时间:2016-10-24
  • 发布:昆明Java培训
  • 来源:达内新闻

昆明达内Java培训的老师这一期继续给大家讲JavaMail邮件开发,讲其中带有文本、图片、附件的邮件。

代码事例:

package com.lyh.sendemail;

import java.util.Properties;

import javax.activation.DataHandler;

import javax.activation.FileDataSource;

import javax.mail.Message;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeBodyPart;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeMultipart;

import javax.mail.internet.MimeUtility;

//发送邮件

public class MessageDemo3 {

public static void main(String[] args) throws Exception{

Properties props = new Properties();//key value:配置参数。真正发送邮件时再配置

props.setProperty("mail.transport.protocol", "smtp");//指定邮件发送的协议,参数是规范规定的

props.setProperty("mail.host", "smtp.163.com");//指定发件服务器的地址,参数是规范规定的

//       props.setProperty("mail.debug", "true");//邮件发送的调试模式,参数是规范规定的

props.setProperty("mail.smtp.auth", "true");//请求服务器进行身份认证。参数与具体的JavaMail实现有关

Session session = Session.getInstance(props);//发送邮件时使用的环境配置

//       session.setDebug(true);

MimeMessage message = new MimeMessage(session);

//设置邮件的头

message.setFrom(new InternetAddress("xxx@163.com"));

message.setRecipients(Message.RecipientType.TO, "xxxqq.com");

message.setSubject("这是一封复杂的邮件");

//设置正文

//搞出文本部分

MimeBodyPart textPart = new MimeBodyPart();

textPart.setContent("美女<img src='cid:mm'/>aaa", "text/html;charset=UTF-8");

//搞图片部分

MimeBodyPart imagePart = new MimeBodyPart();

imagePart.setContentID("mm");

//把磁盘上的文件加到part中使用到了JAF框架

DataHandler dh = new DataHandler(new FileDataSource("src/0.jpg"));

imagePart.setDataHandler(dh);

MimeMultipart mp = new MimeMultipart();

mp.addBodyPart(textPart);

mp.addBodyPart(imagePart);

mp.setSubType("related");//有关系的

MimeBodyPart textImagePart = new MimeBodyPart();   //将MimeMultipart添加到MimeBodyPart实现附件的发送

textImagePart.setContent(mp);

//创建附件部分

MimeBodyPart attachmentPart = new MimeBodyPart();

dh = new DataHandler(new FileDataSource("src/账户.rar"));

String filename = dh.getName();

attachmentPart.setDataHandler(dh);

//手工设置文件名 防止乱码使用 javaMail里的MimeUtility进行编码

attachmentPart.setFileName(MimeUtility.encodeText(filename));

//最终的MimeMultipart

MimeMultipart finalMp = new MimeMultipart();

finalMp.addBodyPart(attachmentPart);

finalMp.addBodyPart(textImagePart);

finalMp.setSubType("mixed");

message.setContent(finalMp);

message.saveChanges();

//发送邮件

Transport ts = session.getTransport();

ts.connect("xxx@163.com", "123456"); //密码为授权码不是邮箱的登录密码

ts.sendMessage(message, message.getAllRecipients());//对象,用实例方法

}

}

昆明达内Java培训的老师讲到这里JavaMail邮件开发系列的知识点就已经讲完了。

上一篇:JavaMail邮件开发中带图片的邮件
下一篇:【昆明达内Java培训】java RSA 生成公钥私钥

Effective java的创建和销毁对象

昆明达内Java培训学费多少?

LinkedIn服务:三人行,必有我师【达内java培训】

Java培训:7月排行榜Go创新高Java稳第一

选择城市和中心
贵州省

广西省

海南省

台湾