美文网首页
一个MailClient代码

一个MailClient代码

作者: 丁明威 | 来源:发表于2018-09-04 18:04 被阅读23次

    public class MailClient {

    @Autowired

    private MailConfig mailConfig;

    public boolean sendEmail(String target, String title, String content) {

        Properties props = new Properties();

        // 开启debug调试

        props.setProperty("mail.debug", "false");

        // 发送服务器需要身份验证

        props.setProperty("mail.smtp.auth", "true");

        props.setProperty("mail.transport.protocol", mailConfig.getProtocol());

        props.setProperty("mail.smtp.port", mailConfig.getPort());

        props.setProperty("mail.smtp.host", mailConfig.getServer());

        props.put("mail.smtp.starttls.enable", "true");

        props.put("mail.smtp.socketFactory.port", mailConfig.getPort());

        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

        props.put("mail.smtp.socketFactory.fallback", "false");

        SimpleAuthenticator simpleAuthenticator = new SimpleAuthenticator(mailConfig.getAccount(),

                mailConfig.getPassword());

        // 设置环境信息

        Session session = Session.getDefaultInstance(props, simpleAuthenticator);

        // 创建邮件对象

        Message message = new MimeMessage(session);

        try {

            message.setSubject(title);

            // 设置邮件内容

            Multipart mainPart = new MimeMultipart();

            // 创建一个包含HTML内容的MimeBodyPart

            BodyPart html = new MimeBodyPart();

            // 设置HTML内容

            html.setContent(content, "text/html; charset=utf-8");

            mainPart.addBodyPart(html);

            // 将MiniMultipart对象设置为邮件内容

            message.setContent(mainPart);

            // 设置发件人

            message.setFrom(new InternetAddress(mailConfig.getAccount()));

            Transport transport = session.getTransport();

            // 连接邮件服务器

            transport.connect(mailConfig.getAccount(), mailConfig.getPassword());

            // 发送邮件

            transport.sendMessage(message, new Address[] { new InternetAddress(target) });

            // 关闭连接

            transport.close();

            return true;

        } catch (Exception e) {

            return false;

        }

    }

    }

    相关文章

      网友评论

          本文标题:一个MailClient代码

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