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

java创建邮件并发送

时间:2017-06-08 12:07:57      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:exception   add   tac   and   表示   filename   change   stat   tde   

创建邮件涉及到的类:MimeMessage、MimeBodyPart、MimeMultipart

发送邮件涉及到的类:Transport

相关类:Session、Properties

实例:

/**
     * 制作带附件的邮件并发送
     * 
     * @throws Exception
     */
    public static void makeEmailAndSend() throws Exception {
        String from = "";// 发件箱
        String to = "";// 收件箱
        String subject = "test";// 邮件主题
        String body = "testResult";// 邮件内容

        // 邮件服务器地址以及登陆用户名和密码
        String smtpHost = "";
        String user = "";
        String password = "";

        Properties props = new Properties();// Properties用户属性配置
        props.setProperty("mail.transport.protocol", "smtp");// 使用的协议(JavaMail规范要求)
        props.setProperty("mail.smtp.host", smtpHost);// 发件人的邮箱的 SMTP服务器地址
        props.setProperty("mail.smtp.auth", "true");// 请求认证,参数名称与具体实现有关

        Session session = Session.getDefaultInstance(props);// session对象主要用于属性操作和会话管理
        // 创建MimeMessage对象,定义MIME消息头信息
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.setRecipients(MimeMessage.RecipientType.TO, to);
        message.setSubject(subject);
        message.setSentDate(new Date());
//        message.setText(body);//发纯文本邮件,可以直接用setText

        // 定义一个MimeMultipart对象,可以包含多个MimeBodyPart
        MimeMultipart multipart = new MimeMultipart();
        // 表示邮件的一个MIME消息
        MimeBodyPart bodyPart = new MimeBodyPart();
        bodyPart.setContent(body, "text/html;charset=utf-8");// 设置HTML格式的邮件正文
        multipart.addBodyPart(bodyPart);

        // 创建一个附件的MimeBodyPart对象, 并将它加入到前面创建的MimeMultipart对象中
        MimeBodyPart attachment = new MimeBodyPart();
        FileDataSource dataSource = new FileDataSource("D:\\test.jpg");
        attachment.setFileName(dataSource.getName());
        attachment.setDataHandler(new DataHandler(dataSource));
        multipart.addBodyPart(attachment);
        //将multipart对象添加到消息体中
        message.setContent(multipart);
        message.saveChanges();//保存并生成邮件内容

        // 用JavaMail Session对象的getTransport 方法来初始化Transport
        Transport transport = session.getTransport("smtp");
        transport.connect(smtpHost, user, password);
        // 发送,message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
    }

 

java创建邮件并发送

标签:exception   add   tac   and   表示   filename   change   stat   tde   

原文地址:http://www.cnblogs.com/lfzw20/p/6961957.html

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