我们知道发送一封电子邮件,需要设置smtp服务器信息,编写邮件内容,最后发送邮件。
一、设置邮件服务器信息
Properties props = new Properties();
props.put( " mail.smtp.host " , " smtp.163.com " );
props.put( " mail.smtp.auth " , " true " );
Session session = Session.getInstance(props, new Authenticator() ... {
public PasswordAuthenticator getPasswordAuthenticator()...{
return new PasswordAuthenticator("username","password");
}
} );
二、创建邮件
// 由邮件会话新建一个消息对象
MimeMessage message = new Message(session);
InternetAddress from = new InternetAddress( " from@163.com " );
// 设置发件人
message.setFrom(from);
InternetAddress to = new InternetAddress( " to@163.com " );
// 设置邮件接收人,并设置接收类型为TO
message.setRecipient(Message.RecipientType.TO,to);
// 设置主题
message.setSubject(subject);
// 设置信件内容
message.setText(content);
设置发信时间
message.setSentDate( new Date());
message.saveChanges();
三、发送邮件
Transport transport = session.getTransport( " smtp " );
// 以smtp方式登录邮箱
transport.connect( " smtp.163.com " , " username " , " password " );
// 发送邮件
transprot.sendMessage(message,message.getAlRecipients());
transport.close();
四、设置邮件正文为HTML格式
// 新建一个存放信件内容的BodyPart对象
BodyPart mdp = new MimeBodyPart();
// 给BodyPart对象设置内容和格式/编码方式
mdp.setContent(content, " text/html;charset=gb2312 " );
// 新建一个MimeMultipart对象用来存放BodyPart对象
MimeMultipart mm = new MimeMultipart();
mm.addBodyPart(mdp);
message.setContent(mm);
五、发送带附件的邮件
// 新建一个存放附件的BodyPart
mdp = new MimeBodyPart();
// 新建一个DataHandler对象,并设置其内容和格式/编码方式
// 也可以是本地文件,如
// FileDataSource fds = new FileDataSource("c:/test.txt");
// DataHandler dh = new DataHandler(fds);
DataHandler dh = new DataHandler( " JavaMail附件测试 " , " text/plain;charset=gb2312 " );
// 设置附件文件名称
mdp.setFileName( " index.html " );
// 给BodyPart对象设置内容为dh
mdp.setDataHandler(dh);
// 将含有附件的BodyPart加入到MimeMultipart对象中
mm.addBodyPart(mdp);
Properties props = new Properties();
props.put( " mail.smtp.host " , " smtp.163.com " );
props.put( " mail.smtp.auth " , " true " );
Session session = Session.getInstance(props, new Authenticator() ... {
public PasswordAuthenticator getPasswordAuthenticator()...{
return new PasswordAuthenticator("username","password");
}
} );
二、创建邮件
// 由邮件会话新建一个消息对象
MimeMessage message = new Message(session);
InternetAddress from = new InternetAddress( " from@163.com " );
// 设置发件人
message.setFrom(from);
InternetAddress to = new InternetAddress( " to@163.com " );
// 设置邮件接收人,并设置接收类型为TO
message.setRecipient(Message.RecipientType.TO,to);
// 设置主题
message.setSubject(subject);
// 设置信件内容
message.setText(content);
设置发信时间
message.setSentDate( new Date());
message.saveChanges();
三、发送邮件
Transport transport = session.getTransport( " smtp " );
// 以smtp方式登录邮箱
transport.connect( " smtp.163.com " , " username " , " password " );
// 发送邮件
transprot.sendMessage(message,message.getAlRecipients());
transport.close();
四、设置邮件正文为HTML格式
// 新建一个存放信件内容的BodyPart对象
BodyPart mdp = new MimeBodyPart();
// 给BodyPart对象设置内容和格式/编码方式
mdp.setContent(content, " text/html;charset=gb2312 " );
// 新建一个MimeMultipart对象用来存放BodyPart对象
MimeMultipart mm = new MimeMultipart();
mm.addBodyPart(mdp);
message.setContent(mm);
五、发送带附件的邮件
// 新建一个存放附件的BodyPart
mdp = new MimeBodyPart();
// 新建一个DataHandler对象,并设置其内容和格式/编码方式
// 也可以是本地文件,如
// FileDataSource fds = new FileDataSource("c:/test.txt");
// DataHandler dh = new DataHandler(fds);
DataHandler dh = new DataHandler( " JavaMail附件测试 " , " text/plain;charset=gb2312 " );
// 设置附件文件名称
mdp.setFileName( " index.html " );
// 给BodyPart对象设置内容为dh
mdp.setDataHandler(dh);
// 将含有附件的BodyPart加入到MimeMultipart对象中
mm.addBodyPart(mdp);