javaMial实例

来源:互联网 发布:mysql storage engine 编辑:程序博客网 时间:2024/06/02 03:34

通过java代码发邮件

用java发邮件,必须要导入新的包
mail.jar – 发邮件的核心包
activation.jar – 对用户和密码加密.

在mail.jar中有三个核心类:
Javax.mail.Session – 是指与邮件服务器会话。整个项目中只要一个就可以了.
Javax.mail.Message(接口) - 准备发送数据信息。
MimeMessage - 可以设置类型的数据信息。
Transport – 它拥有一个方法可以发送Message。

第一步;导入两个jar包


第二步;发简单的邮件

@Testpublic 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("name", "password");return pa;}};////第二步:获取Session对象Session session = Session.getDefaultInstance(prop,auth);//设置session的调试模式session.setDebug(true);//第三步:声明信息MimeMessage mm1 = new MimeMessage(session);//第四步:设置发件人emailAddress from = new InternetAddress("xx@126.com");mm1.setFrom(from);//第五步:设置收件人mm1.setRecipient(RecipientType.TO,new InternetAddress("xx@163.com"));mm1.setRecipient(RecipientType.CC, new InternetAddress("xxx@qq.com"));mm1.setRecipient(RecipientType.BCC, new InternetAddress("xx@163.cn"));//第六步:设置主题mm1.setSubject("这是用Java发的邮件3");mm1.setContent("你好,这是用java发的邮件,3333再试一下", "text/plain;charset=UTF-8");//第七步:Transport.send(mm1);}


第三步:v发带有超连接的邮件

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 {@Testpublic void sendFile() throws Exception{Properties p = new Properties();p.setProperty("mail.host","smtp.126.com");p.setProperty("mail.smtp.auth","true");Session s = Session.getDefaultInstance(p,new Authenticator() {@Overridepublic PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication("name", "password");}});s.setDebug(true);//声明MimeMessageMimeMessage msg = new MimeMessage(s);msg.setFrom(new InternetAddress("sias_xxaq_08@126.com"));msg.setRecipient(RecipientType.TO, new InternetAddress("519224747@qq.com"));msg.setSubject("图片的");//第一步:声明多处理的PartMimeMultipart 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添加到mmmm.addBodyPart(body1);mm.addBodyPart(body2);mm.addBodyPart(body3);msg.setContent(mm);//发送Transport.send(msg);}}





0 0