javamail发送邮件(简单-->复杂)
2013-07-09 12:02
369 查看
javaMail可以很轻松实现邮件发送--读取邮件功能:需要下载javaMail和JAF的jar包,可以自己去网上下载!
1.一般的简单邮件--如纯文本,超文本类型的,下面例子可以很多好的解决
//字符集 一般采用 ----GBK-----GB2312---utf-8
//使用指定的base64方式编码,并指定编码内容的字符集是gb2312
//text/plain(纯文本)和text/html(超文本) 纯文本换行---\r\n 超文本---<br>
public static void main(String[] args) throws AddressException, MessagingException {
//properties设置会话一些必要属性
Properties pro = new Properties();
//设置---服务器协议
pro.put("mail.transport.protocol","smtp");
//是否需要---认证--用户名和密码
pro.put("mail.smtp.auth","true");
//服务器--地址
pro.put("mail.host","smtp.qq.com");
//Session.getDefaultInstance(props, null);第二个参数-null说明不需要验证用户名和密码
Session session = Session.getDefaultInstance(pro,new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
// TODO Auto-generated method stub
return new PasswordAuthentication("***用户名****","*****密码*****");
}
});
//打印---过程信息
session.setDebug(true);
//发送信息 协议的 实现类Transport
Transport transport = session.getTransport();
//信息实现类MimeMessage
Message msg = new MimeMessage(session);
//设置 发送者
msg.setFrom(new InternetAddress("*****发送邮箱地址*****"));
//设置 邮件主题
msg.setSubject("测试javaMail。。。。。");
//设置邮件 正文
msg.setContent("<a href='http://www.nala.com.cn'>NALA</a>欢迎您,请点击注册!","text/html;charset=gbk");
//msg.setText("我的邮件系统,测试中。。。看到了说明成功了噢!<a href='http://www.nala.com.cn'>NALA</a>");//纯文本 直接这样就行了
//transport.connect("smtp.qq.com",25,"用户名","密码");---连接,在此可不用写
Transport.send(msg,new Address[]{new InternetAddress("***收件人地址***")});
transport.close();
}
2.带有 附件并有插入图片的邮件发送
//使用指定的base64方式编码,并指定编码内容的字符集是gb2312 public static void main(String[] args) throws MessagingException, UnsupportedEncodingException { Properties props = new Properties(); //邮件 协议 props.put("mail.transport.protocol", "smtp"); //邮件 是否需要验证 props.put("mail.smtp.auth","true"); //邮件 服务器 props.put("mail.host","smtp.qq.com"); Session session = Session.getDefaultInstance(props, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { // TODO Auto-generated method stub return new PasswordAuthentication("**用户名***","***密码***"); } }); session.setDebug(true); //发送 邮件----发送功能 Transport transport = session.getTransport(); //邮件的 消息 Message msg = new MimeMessage(session); //邮件主题 msg.setSubject("带--附件的邮件发送测试。。。。。。。。。"); //邮件 接收者 Address addTarget = new InternetAddress("**接收地址***"); msg.addRecipient(Message.RecipientType.TO,addTarget); //邮件 发送者 Address addFrom = new InternetAddress("**发送者地址**"); msg.setFrom(addFrom); //设置 容器类 Multipart mainPart = new MimeMultipart();//默认是 “MIXED”类型 BodyPart body = new MimeBodyPart();//附件 BodyPart body_ = new MimeBodyPart();//正文 BodyPart bodyFile = new MimeBodyPart();//嵌入文本的图片 //正文内容 设置---src='cid:IMG'---bodyFile.setHeader("Content-ID","<IMG>") 其中"<IMG>"的"<>"不能省,'cid:IMG'的'cid:'记住要加上 body_.setContent("<a href='http://www.nala.com.cn'>NALA</a>欢迎您,请点击注册!<br><img src='cid:IMG' alt='正文嵌入图片'/>","text/html;charset=utf-8"); mainPart.addBodyPart(body_); //附件 ---- File file = new File("images/berty.jpg"); body.setDataHandler(new DataHandler(new FileDataSource(file))); //文件-----一定要 设置,字符集,base64编码 body.setFileName(MimeUtility.encodeText(file.getName(),"utf-8","B")); mainPart.addBodyPart(body); File file_ = new File("images/u=1846933279,1960524136&fm=21&gp=0.jpg"); bodyFile.setDataHandler(new DataHandler(new FileDataSource(file_))); //文件-----一定要 设置,字符集及base64编码 bodyFile.setFileName(MimeUtility.encodeText(file_.getName(),"GB2312","B")); bodyFile.setHeader("Content-ID","<IMG>"); mainPart.addBodyPart(bodyFile); msg.setContent(mainPart); msg.saveChanges(); //这种方式--发送邮件 在群发情况下 效率很高 transport.send(msg, msg.getAllRecipients()); transport.close(); }
--------------------------------------自己不懂 可以去网上 找javamail的API看看,很简单的--------------------------------
相关文章推荐
- javamail发送邮件的简单实例
- 基于JavaMail的Java邮件发送:简单邮件发送
- javamail发送邮件的简单实例
- JavaMail邮件发送<一>
- javamail发送邮件的简单实例
- 基于JavaMail的Java邮件发送:复杂邮件发送
- JavaMail学习笔记-1(简单纯文本的邮件发送)
- 基于JavaMail的Java邮件发送:简单邮件发送
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- JavaMail 简单发送邮件
- javaMail简单发送邮件
- Joomla如何发送一封 简单的&&复杂的 邮件
- 基于JavaMail的Java邮件发送:复杂邮件发送
- 使用javaMail发送复杂邮件,支持附件发送
- javamail发送邮件的简单实例
- JAVAmail简单实现发送邮件
- javamail发送邮件的简单实例
- JavaMail学习笔记-1(简单纯文本的邮件发送)
- javamail 发送邮件的简单实例 学习