码迷,mamicode.com
首页 > 编程语言 > 详细

通过java代码发邮件

时间:2015-11-15 17:32:59      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

用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);
        
    }
}

 

通过java代码发邮件

标签:

原文地址:http://www.cnblogs.com/winner-0715/p/4966842.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!