java实现发送QQ邮箱(文本+附件)

下载mail-1.4.7架包,把架包导入项目

public static void main(String[] args) throws MessagingException {
        
        Properties pro = new Properties();
        //发送服务器需要身份
        pro.put("mail.smtp.auth", "true");
        //设置邮件服务器
        pro.put("mail.host", "smtp.qq.com");
        //发送邮件的协议
        pro.put("mail.transport.protocol", "smtp");
        //端口号
        pro.put("mail.smtp.port", "465");
        
        //qq邮箱需要SSL加密
        pro.put("mail.smtp.socketFactory.port", "465");
        pro.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        
        //创建会话对象
        Session session = Session.getInstance(pro);
        //创建消息对象
        Message message = new MimeMessage(session);
        //设置邮件的标题
        message.setSubject("邮件测试标题");
        
        //内容附件对象
        Multipart part = new MimeMultipart();
        
        
        //文本内容
        BodyPart txt = new MimeBodyPart();
        //设置邮件的内容
        txt.setContent("测试内容<a href='https://www.baidu.com/'>百度一下</a>","text/html;charset=utf-8");
        //把文本添加到part中
        part.addBodyPart(txt);
        
        
        //附件
        BodyPart addpendix = new MimeBodyPart();
        //数据源
        DataSource ds = new FileDataSource("C:\\Users\\Administrator\\Desktop\\mail-1.4.7.jar");
        //添加附件
        addpendix.setDataHandler(new DataHandler(ds));
        addpendix.setFileName("mail-1.4.7.jar");
        //把附件添加到part中
        part.addBodyPart(addpendix);
        
        //把part添加到消息对象中
        message.setContent(part);
        
        
        
        //设置发送人
        message.setFrom(new InternetAddress("yaozhongluo@qq.com"));
        //设置接收人
        message.setRecipient(RecipientType.TO, new InternetAddress("178369106@qq.com"));
        //创建消息发送对象
        Transport tran = session.getTransport();
        //           链接 发送地址      发送人                授权码
        tran.connect("smtp.qq.com","yaozhongluo@qq.com","mcspjejiqzxkjbfc");
        //发送信息
        tran.sendMessage(message, message.getAllRecipients());
        //关闭
        tran.close();
        System.out.println("邮件发送完毕");
        
    }

 

posted @ 2018-09-20 19:47  跳梁小豆  阅读(220)  评论(0编辑  收藏  举报