发邮件-java

来源:互联网 发布:淘宝做客服考试答案 编辑:程序博客网 时间:2024/06/02 03:27

发送邮件的邮箱设置

  • 开启客户端授权码,如图:
    • 这里写图片描述

代码部分

  • 导入依赖项如下:
        <!-- 发送邮件 -->        <dependency>            <groupId>com.sun.mail</groupId>            <artifactId>javax.mail</artifactId>            <version>1.5.3</version>        </dependency>        <dependency>            <groupId>javax.mail</groupId>            <artifactId>javax.mail-api</artifactId>            <version>1.5.6</version>        </dependency>
  • 封装一个写邮件的类,并定义一个含有两个参数的发邮件的静态方法,

  • 传过来发送到的邮箱地址,与想要发送的内容,这里发送的是一个激活链接

  • 在类的title写邮件的标题,body中写要发送的内容,也可以设置成参数传过来

  • 代码如下:

public class WriteEmail {    public static void emailSend(String email,String url) {        // http://blog.csdn.net/ja_ii_ck/article/details/3018553        String smtpHost = "smtp.126.com";        String toaddress = email;        String user = "********@126.com";        String password = "*********";        String title = "公开课验证!";        String body = "点击此链接激活:"+url;        Properties props = new Properties();        props.put("mail.smtp.host", smtpHost);        props.put("mail.smtp.auth", "true");        Session session = Session.getDefaultInstance(props, new Authenticator() {            public PasswordAuthentication getPasswordAuthentication() {                return new PasswordAuthentication(user, password);            }        });        MimeMessage message = new MimeMessage(session);        try {            message.setSubject(title);            message.setText(body);            message.setFrom(new InternetAddress("******@126.com"));            message.addRecipient(Message.RecipientType.TO, new InternetAddress(toaddress));            Transport.send(message);            System.out.println("发送成功");        } catch (MessagingException e) {            System.out.println(e);        }    }}

控制层,只需要调用静态类中的方发即可发送邮件,如下:

 WriteEmail.emailSend(user.getEmail(), "http://localhost:8088/" + salt);
原创粉丝点击