authentication is required (java发送邮件)

来源:互联网 发布:新田县广电网络费用 编辑:程序博客网 时间:2024/06/06 15:43

使用java实现邮件发送,今天遇到个authentication is required
代码如下:

public void sendEmail(String to, String subject, String content, boolean isMultipart, boolean isHtml) {        log.debug("Send e-mail[multipart '{}' and html '{}'] to '{}' with subject '{}' and content={}",isMultipart, isHtml, to, subject, content);        MimeMessage mimeMessage = javaMailSender.createMimeMessage();        try {            MimeMessageHelper message = new MimeMessageHelper(mimeMessage, isMultipart, CharEncoding.UTF_8);            message.setTo(to);            message.setFrom(jHipsterProperties.getMail().getFrom());            message.setSubject(subject);            message.setText(content, isHtml);            javaMailSender.send(mimeMessage);            log.debug("Sent e-mail to User '{}'", to);        } catch (Exception e) {            log.warn("E-mail could not be sent to user '{}', exception is: {}", to, e.getMessage());        }    }

结果报错:authentication is required

最后解决方案是在javaMailSender中增加了【mail.smtp.auth】设置,设置方法如下:

public void sendEmail(String to, String subject, String content, boolean isMultipart, boolean isHtml) {        log.debug("Send e-mail[multipart '{}' and html '{}'] to '{}' with subject '{}' and content={}",isMultipart, isHtml, to, subject, content);        Properties props = new Properties();         // 参数配置        props.setProperty("mail.smtp.auth", "true"); // 需要请求认证        javaMailSender.setJavaMailProperties(props);        MimeMessage mimeMessage = javaMailSender.createMimeMessage();        try {            MimeMessageHelper message = new MimeMessageHelper(mimeMessage, isMultipart, CharEncoding.UTF_8);            message.setTo(to);            message.setFrom(new InternetAddress(jHipsterProperties.getMail().getFrom(), "电子商城", "UTF-8"));  //设置邮件显示的发送人            message.setSubject(subject);  //主题            message.setText(content, isHtml);  //文件内容,html            javaMailSender.send(mimeMessage);  //发送            log.debug("Sent e-mail to User '{}'", to);        } catch (Exception e) {            log.warn("E-mail could not be sent to user '{}', exception is: {}", to, e.getMessage());        }    }

测试发送成功
这里写图片描述

0 0