zoukankan      html  css  js  c++  java
  • 使用JavaMail发送邮件

    JavaMail是java提供的一组API,用来发送和接收邮件。

    相关协议:

    smtp(简单的邮件传输协议),服务器端口为25,用于发送邮件
    pop3(邮局协议第3版),服务器端口为110,用于接收邮件

    进行发邮件之前,首先需要导包:mail.jar和 activation.jar

    使用JavaMail进行发送邮件,共分为三步:

    1.获取Session

      获取Session对象后,意味着你与服务器已经建立了连接。

            /**
             * 1.得到session
             */
            Properties props = new Properties();
            props.setProperty("mail.host", "smtp.163.com");  //设置服务器
            props.setProperty("mail.smtp.auth", "true");  //设置需要验证
            
            Authenticator auth = new Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                      return new PasswordAuthentication("用户名", "密码");  //设置用户名和密码
                    }
                  };
            
            Session session = Session.getInstance(props, auth);

    2. 创建MimeMessage对象

    它表示一个邮件对象,你可以调用它的各种方法来设置发件人、设置收件人、设置主题以及正文。

            /**
             * 2.创建MimeMessage对象
             */
            MimeMessage mig = new MimeMessage(session);
            
            mig.setFrom(new InternetAddress("username@163.com")); //设置发信人
            mig.addRecipients(RecipientType.TO, "receive@163.com");//设置个收信人
            mig.setSubject("主题");  //设置主题
            mig.setContent("正文内容", "text/html;charset=utf-8");

    3.发送邮件

      TransPort, 它只有一个功能,发邮件。

            /**
             * 3.发送邮件
             */
            Transport.send(mig);

    上述三步可以发送普通邮件,对于带附件的邮件它就无能为力了。如果想发送带附件的邮件,需要引入MimeMultipart和MimeBodyPart。

    MimeMultipart是一个集合,用来装载多个主体部件。MimeBodyPart是主体部件,我们需要创建两个主体部件,一个是文本内容的,另一个是附件的。

    第一步和第三步不需要修改,仅需要修改第二步。

            //创建MimeMessage对象
            MimeMessage msg = new MimeMessage(session);
            
            msg.setFrom(new InternetAddress("username@163.com"));  //设置发件人
            msg.addRecipients(RecipientType.TO, "receive@163.com"); //设置收件人
            msg.setSubject("主题");
            // 设置附件
            MimeMultipart list = new MimeMultipart(); //创建多部件
            
            /**
             * 设置正文
             */
            MimeBodyPart part1 = new MimeBodyPart();
            part1.setContent("正文", "text/html;charset=utf-8");
            list.addBodyPart(part1);
            
            /**
             * 设置附件
             */
            MimeBodyPart part2 = new MimeBodyPart();
            part2.attachFile(new File("文件路径")); //添加附件
            part2.setFileName(MimeUtility.encodeText("附件名称") );  //设置附件名称
            list.addBodyPart(part2);
            
            //添加到邮件中
            msg.setContent(list);

        

  • 相关阅读:
    shell(计算机壳层)(二)
    Linux Bash Shell快速入门 (三)
    Lua
    bash
    Perl
    脚本语言
    JSP中获取客户端或浏览端信息的方式
    linux环境变量
    逆向思维
    【maven】IDEA:存在jar包,pom.xml文件没报错,但是Maven-Project-Dependencies有红线报错
  • 原文地址:https://www.cnblogs.com/bywallance/p/5785463.html
Copyright © 2011-2022 走看看