之前分享过一个发邮件的类,今天再分享一个收邮件的类,
package zhang.stony.mail;
import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
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;
/**
* @author Stony Zhang (Mybeautiful)
* @Createdate 2010-8-12
* @Emal:stonyz@live.com
* @QQ:55279427
*/
public class MailSender {
private MailSetting mSetting;
private Session session;
public MailSender(MailSetting mSetting) {
this.mSetting = mSetting;
final String username = mSetting.getUser();
final String password = mSetting.getPassword();
Properties props = new Properties();
props.put("mail.smtp.host", mSetting.getSmtpHost());
props.put("mail.smtp.auth", "true");
session = Session.getInstance(props, new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
public void sentMessage(String titile, String msg, String[] to)
throws MessagingException {
this.sentMessage(titile, msg, to, null);
}
public void sentMessage(String titile, String msg, String[] to, String[] cc)
throws MessagingException {
Message mailMessage = new MimeMessage(session);
Address from = new InternetAddress(mSetting.getUser());
mailMessage.setFrom(from);
// Address to = new InternetAddress(mSetting.getUser());
Address[] tos = new Address[to.length];
for (int i = 0; i < to.length; i++) {
tos[i] = new InternetAddress(to[i]);
}
mailMessage.setRecipients(Message.RecipientType.TO, tos);
if (cc != null && cc.length > 0) {
Address[] ccs = new Address[cc.length];
for (int i = 0; i < cc.length; i++) {
ccs[i] = new InternetAddress(cc[i]);
}
mailMessage.setRecipients(Message.RecipientType.CC, ccs);
}
mailMessage.setSubject(titile);
mailMessage.setSentDate(new Date());
// mailMessage.setText(msg);
BodyPart mdp = new MimeBodyPart();
mdp.setContent(msg, "text/html;charset=gb2312");
Multipart mm = new MimeMultipart();
mm.addBodyPart(mdp);
mailMessage.setContent(mm);
mailMessage.saveChanges();
Transport.send(mailMessage);
}
}
其中用到了一个MailSetting的类,其内容请参阅 分享一个收邮件的类,使用相当简单
关于Javamail,几年间已经用了N多次了,其间也碰到了一些问题,也都一一解决了,比如发送附件,乱码等等,如果各位有兴趣就相关问题进行探讨,欢迎留言。
分享到:
相关推荐
JSP与JavaMail发送HTML格式... java,javamail发送html邮件..
配置好用户名密码以及SMTP服务器就可以直接运行。已包含相关jar
javamail 自动发送邮件 发送html格式邮件 发送带有附件的邮件
javamail 邮件发送支持带有图片的html格式和普通文本格式
javamail发送邮件;支持群发、单次发送;文本发送,html发送
利用JavaMail API来发送Email的工具类 支持单发,群发及无限制数量的附件功能,并同时支持简单邮件和HTML两种格式的邮件内容 支持抄送,密送功能 具体使用参见其mail方法的使用示例
JavaMail实现邮件发送的简单封装(包括文本、图片、html、附件) 详见http://blog.csdn.net/lyisray/article/details/42002215
使用JavaMail发送邮件,可以发送附件,邮件的内容也可以是html格式的。在工作中做的小demo
java实现邮件发送html
完美JavaMail+redis完成邮件发送和邮箱认证,用javaMail发送内嵌图片的html邮件内容
利用JavaMail进行邮件开发的发邮件的源代码,其中有四个例子,demo1/demo2是发送简单的邮件,demo3是发送一封html格式(正文为html格式,html代码中有一张图片)带附件的邮件。demo4是对demo3的补充,解决了附件的...
本资源是一个集合发送图片,附件,内容,HTML等得JAVAMAIL代码,并且可以同时发送多个附件多个图片,只需填充VO类,即可直接调用并发送邮件,例子已经写好,只要填充上必要值即可,经163,qq,sina测试没有问题,有...
java实现的发送电子邮件,支持HTMl格式且支持多附件发送
//发送邮件格式为html String messageText = request.getParameter("Message");// 发送内容 boolean sessionDebug = false; try { // 设定所要用的Mail 服务器和所使用的传输协议 java.util.Properties ...
springboot集成javamail,实现发送邮件的功能,可以发送文本类型邮件,也可以发送html格式的邮件,其中整合了mysql、mybatis 具体集成步骤可以参考我的文章: https://www.jianshu.com/p/668d320b4981
java 发邮件java 发邮件java 发邮件java 发邮件
实现简单几步,发送邮件。把javamail进行了包装。支持像多人发送,多人抄送。多附件,纯文本及html格式邮件。
利用javamail开发的邮件发送工具类 支持普通文本,html,抄送,密送,发送附件 zip中有jar,文档,工程
javamail开发,带图形界面,邮件的发送,接收,带附件,html,邮件解析
封装了javamail底层实现,可以实现简单文本邮件的发送和html格式的邮件发送。