zoukankan      html  css  js  c++  java
  • 实现发送电子邮件

    <!-- 邮件start -->
    <dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
    </dependency>
    <!-- 邮件end -->

    2、  开启第三方登录;

    3、可以写代码了;

    import javax.mail.*;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Properties;

    public class MailUtil {
    private static final String MAIL_126_FROM = "1111@126.com"; // 126账号
    private static final String MAIL_126_PASSWORD = "1111"; // 126客户端授权码
    private static final String MAIL_QQ_FROM = "98248@qq.com"; // qq账号
    private static final String MAIL_QQ_PASSWORD = "klfbbhd"; // qq客户端授权码


    /**
    * @param mailType 邮箱类型,1 --QQ, 2--126'
    * @param mailTo 加载收件人地址
    * @param mailText 邮件的文本内容
    * @param mailTitle 加载标题
    * @return 邮件发送返回的信息
    */
    public static Map<String, Object> sendMail(Integer mailType, String mailTo, String mailText, String mailTitle) {
    Map<String, Object> map = new HashMap<String, Object>();
    // String mailUser = mailFrom; // 发件人称号,同邮箱地址
    Properties props = new Properties();
    if (1 == mailType) { //qq设置
    props.setProperty("mail.host", "smtp.qq.com");
    props.setProperty("mail.transport.protocol", "smtp");
    props.setProperty("mail.smtp.auth", "true");
    props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    props.setProperty("mail.smtp.port", "465");
    props.setProperty("mail.smtp.socketFactory.port", "465");
    } else if (2 == mailType) { //126设置
    props.setProperty("mail.smtp.host", "smtp.126.com"); // 设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器)
    props.put("mail.smtp.host", "smtp.126.com"); // 需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条)
    props.put("mail.smtp.auth", "true"); // 用刚刚设置好的props对象构建一个session
    }
    Session session = Session.getDefaultInstance(props); // 有了这句便可以在发送邮件的过程中在console处显示过程信息,供调试使
    // 用(你可以在控制台(console)上看到发送邮件的过程)
    session.setDebug(true); // 用session为参数定义消息对象
    MimeMessage message = new MimeMessage(session); // 加载发件人地址
    try {
    if (1 == mailType) {
    message.setFrom(new InternetAddress(MAIL_QQ_FROM));
    } else if (2 == mailType) {
    message.setFrom(new InternetAddress(MAIL_126_FROM));
    }

    message.addRecipient(Message.RecipientType.TO, new InternetAddress(mailTo)); // 加载收件人地址
    message.setSubject(mailTitle); // 加载标题
    Multipart multipart = new MimeMultipart(); // 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件
    BodyPart contentPart = new MimeBodyPart(); // 设置邮件的文本内容
    contentPart.setContent(mailText, "text/html;charset=utf-8");
    multipart.addBodyPart(contentPart);
    message.setContent(multipart);
    message.saveChanges(); // 保存变化
    Transport transport = session.getTransport("smtp"); // 连接服务器的邮箱
    if (1 == mailType) {
    // qq设置
    // transport.connect("smtp.qq.com", mailUser, MAIL_QQ_PASSWORD);// 把邮件发送出去
    transport.connect("smtp.qq.com", MAIL_QQ_FROM, MAIL_QQ_PASSWORD);// 把邮件发送出去
    } else if (2 == mailType) {
    // 126设置
    transport.connect("smtp.126.com", MAIL_126_FROM, MAIL_126_PASSWORD); // 把邮件发送出去
    }


    transport.sendMessage(message, message.getAllRecipients());
    transport.close();
    System.out.println("发送成功");
    map.put("mailResCode", 1);
    map.put("mailResMsg", "发送成功");
    } catch (MessagingException e) {
    e.printStackTrace();
    System.out.println(e.toString());
    System.out.println("发送失败");
    map.put("mailResCode", 0);
    map.put("mailResMsg", e.toString());
    }
    return map;
    }

    }
  • 相关阅读:
    maven项目自动创建src/main/resources等四个资源文件夹
    @Async异步注解与SpringBoot结合使用
    java.util.concurrent包下并发锁的特点与适用场景
    java.util.concurrent包下集合类的特点与适用场景
    springMvc接收ajax数组参数,以及jquery复选框选中、反选、全选、全不选
    MySql 的SQL执行计划查看,判断是否走索引
    windows server系统查看tomcat版本
    物化视图SQL
    element-ui的不稳定性
    ActiveMQ-5.15.2下载和启动(windows)
  • 原文地址:https://www.cnblogs.com/jwlfpzj/p/6848361.html
Copyright © 2011-2022 走看看