JavaEmail的使用之邮件发送
有时我们在做程序的时候需要用到收发邮件这件事了...所以一下是JavaEmail这个组件邮件发送的用法了.
首先要导入javamail1_4_4.zip中的几个包...大家可以到官网下载!
1 package com.zuxia.test; 2 3 import java.util.Date; 4 import java.util.Properties; 5 6 import javax.activation.DataHandler; 7 import javax.activation.FileDataSource; 8 import javax.mail.BodyPart; 9 import javax.mail.Multipart; 10 import javax.mail.Session; 11 import javax.mail.Transport; 12 import javax.mail.Message.RecipientType; 13 import javax.mail.internet.InternetAddress; 14 import javax.mail.internet.MimeBodyPart; 15 import javax.mail.internet.MimeMessage; 16 import javax.mail.internet.MimeMultipart; 17 18 public class SendMessage { 19 20 public static void main(String[] args) { 21 //创建Session对象 22 Properties prop=new Properties(); 23 prop.put("mail.smtp.auth", "true"); 24 Session session=Session.getDefaultInstance(prop); 25 26 //创建一封邮件 27 MimeMessage msg=new MimeMessage(session); 28 29 //设置相关参数 30 try { 31 32 //发件人 33 msg.setFrom(new InternetAddress("发件人的地址")); 34 35 //收件人 36 msg.setRecipient(RecipientType.TO, new InternetAddress("收件人的地址")); 37 38 //主题 39 msg.setSubject("这是我用程序所发送的邮件哦......o.o这是带有html内容的哦..."); 40 41 //内容1 42 //msg.setText("这是普通的文本内容..."); 43 44 //内容2(html内容)这是带有html的内容哦 45 BodyPart content=new MimeBodyPart(); 46 String str="我是邮件内容哦,这是带有html的内容哦...点击我连接到<a href='http://www.baidu.com'>百度</a>"; 47 str+="<img src='http://t2.baidu.com/it/u=455668578,3458935872&fm=25&gp=0.jpg' />"; 48 49 content.setContent(str, "text/html;charset=UTF-8");//设置文本的样式以及编码的格式 50 51 52 //内容3(这是带有附件形式的) 53 54 // BodyPart attachment=new MimeBodyPart(); 55 // //文件源 56 // FileDataSource fds=new FileDataSource("e:/a.xls"); 57 // 58 // attachment.setDataHandler(new DataHandler(fds));//设置句柄 59 // 60 // //设置附件的名字 61 // attachment.setFileName(MimeUtility.encodeText(fds.getName(), "UTF-8", null)); 62 // 63 64 65 //必须将内容转换成邮件中指定的类型 66 Multipart mp=new MimeMultipart(); 67 mp.addBodyPart(content); 68 //mp.addBodyPart(attachment); 69 70 msg.setContent(mp); 71 72 //msg.setContent(mp); 73 74 //发送时间 75 msg.setSentDate(new Date()); 76 77 //准备发送 78 Transport tran=session.getTransport("smtp"); 79 80 //连接到服务器 81 tran.connect("发件人所在的服务器", "发件人的用户名", "发件人的密码"); 82 83 //发送 84 tran.sendMessage(msg, msg.getAllRecipients()); 85 86 tran.close(); 87 88 System.out.println("发送成功了...."); 89 90 } catch (Exception e) { 91 e.printStackTrace(); 92 } 93 94 } 95 }