标签:
用java发邮件,必须要导入新的包
mail.jar – 发邮件的核心包
activation.jar – 对用户和密码加密.
在mail.jar中有三个核心类:
Javax.mail.Session – 是指与邮件服务器会话。整个项目中只要一个就可以了.
Javax.mail.Message(接口) - 准备发送数据信息。
MimeMessage - 可以设置类型的数据信息。
Transport – 它拥有一个方法可以发送Message。
第一步;导入两个jar包
第二步;发简单的邮件
@Test public void sendMail() throws Exception{ //第一步:声明properties对象放信息 Properties prop = new Properties(); //设置连接哪一台服务器 prop.setProperty("mail.host","smtp.126.com"); //设置是否验证 prop.setProperty("mail.smtp.auth", "true"); //第二步:声明用户名和密码 Authenticator auth = new Authenticator() { //此访求返回用户和密码的对象 public PasswordAuthentication getPasswordAuthentication() { PasswordAuthentication pa = new PasswordAuthentication("wj_leaf12345", "1qaz2wsx"); return pa; } }; ////第二步:获取Session对象 Session session = Session.getDefaultInstance(prop,auth); //设置session的调试模式 session.setDebug(true); //第三步:声明信息 MimeMessage mm1 = new MimeMessage(session); //第四步:设置发件人email Address from = new InternetAddress("wj_leaf12345@126.com"); mm1.setFrom(from); //第五步:设置收件人 mm1.setRecipient(RecipientType.TO,new InternetAddress("wj_leaf12345@163.com")); mm1.setRecipient(RecipientType.CC, new InternetAddress("549051701@qq.com")); mm1.setRecipient(RecipientType.BCC, new InternetAddress("wj@itcast.cn")); //第六步:设置主题 mm1.setSubject("这是用Java发的邮件3"); mm1.setContent("你好,这是用java发的邮件,3333再试一下", "text/plain;charset=UTF-8"); //第七步: Transport.send(mm1); }
第三步:发带有超连接的邮件
mm1.setSubject("这是用Java发的邮件sfasdf3"); mm1.setContent("你好,这是用java发的邮件,<a href=‘http://www.baidu.com‘>传智</a>", "text/html;charset=UTF-8" ); //第七步: Transport.send(mm1);
第四步:附件的邮件
public class SendAttechmentDemo { @Test public void sendFile() throws Exception{ Properties p = new Properties(); p.setProperty("mail.host","smtp.163.com"); p.setProperty("mail.smtp.auth","true"); Session s = Session.getDefaultInstance(p,new Authenticator() { @Override public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("wj_leaf12345", "1qaz2wsx"); } }); s.setDebug(true); //声明MimeMessage MimeMessage msg = new MimeMessage(s); msg.setFrom(new InternetAddress("wj_leaf12345@163.com")); msg.setRecipient(RecipientType.TO, new InternetAddress("wj_leaf12345@126.com")); msg.setSubject("图片的"); //第一步:声明多处理的Part MimeMultipart mm = new MimeMultipart(); //第二步:声明 MimeBodyPart body1 = new MimeBodyPart(); //第三步:设置符件 DataSource ds = new FileDataSource(new File("./img/a.jpg")); DataHandler dh = new DataHandler(ds); body1.setDataHandler(dh); //必须要设置名称 body1.setFileName(MimeUtility.encodeText("美女.jpg")); MimeBodyPart body2 = new MimeBodyPart(); //第三步:设置符件 DataSource ds2 = new FileDataSource(new File("./img/b.jpg")); DataHandler dh2 = new DataHandler(ds2); body2.setDataHandler(dh2); //必须要设置名称 body2.setFileName(MimeUtility.encodeText("美女2.jpg")); MimeBodyPart body3 = new MimeBodyPart(); //第三步:设置符件 DataSource ds3 = new FileDataSource(new File("./img/m.mp3")); DataHandler dh3 = new DataHandler(ds3); body3.setDataHandler(dh3); //必须要设置名称 body3.setFileName(MimeUtility.encodeText("世纪末.mp3")); //将body1添加到mm mm.addBodyPart(body1); mm.addBodyPart(body2); mm.addBodyPart(body3); msg.setContent(mm); //发送 Transport.send(msg); } }
标签:
原文地址:http://www.cnblogs.com/winner-0715/p/4966842.html