美文网首页
java 发送电子邮件

java 发送电子邮件

作者: uzip柚子皮 | 来源:发表于2018-03-12 14:59 被阅读56次

    1.引入 java 对电子邮件支持的相关 jar 包

    pom.xml

    <dependency>
      <groupId>com.sun.mail</groupId>
      <artifactId>javax.mail</artifactId>
      <version>1.5.4</version>
    </dependency>
    

    2.发送邮件的工具类

    MailUtil.java

    import javax.mail.*;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    import java.util.Properties;
    
    /**
     * 邮件工具类
     */
    public class MailUtil {
        
      /**
         * 发送邮件
         * @param to 给谁发
         * @param subject 邮件主题
         * @param content 邮件内容
         */
        public static void sendMail(String to,String subject, String content) throws MessagingException {
            //创建连接对象 连接到邮件服务器
            Properties properties = new Properties();
            //设置发送邮件的基本参数
            //发送邮件服务器
            properties.put("mail.smtp.host", "smtp.qq.com");
            //发送端口
            properties.put("mail.smtp.port", "25");
            properties.put("mail.smtp.auth", "true");
            //设置发送邮件的账号和密码
            Session session = Session.getInstance(properties, new Authenticator() {
                @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    //两个参数分别是发送邮件的账户和密码(QQ邮箱则是授权码)
                    return new PasswordAuthentication("yotow@foxmail.com","xxx");
                }
            });
    
            //创建邮件对象
            Message message = new MimeMessage(session);
            //设置发件人
            message.setFrom(new InternetAddress("yotow@foxmail.com"));
            //设置收件人
            message.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
            //设置邮件主题
            message.setSubject(subject);
            //设置邮件正文  第二个参数是邮件发送的类型
            message.setContent(content,"text/html;charset=UTF-8");
            //发送邮件
            Transport.send(message);
        }
    }
    

    3.发送邮件的测试代码

    try {
      MailUtil.sendMail("3161671737@qq.com",
                         "皮皮龙安全保障服务有限公司登录验证",
                         "本次登录验证码,60 秒内有效:" +
                         String.valueOf(Math.random() * 999));
      System.out.println("邮件发送成功!");
    } catch (MessagingException e) {
      e.printStackTrace();
    }
    

    相关文章

      网友评论

          本文标题:java 发送电子邮件

          本文链接:https://www.haomeiwen.com/subject/vsbnfftx.html