zoukankan      html  css  js  c++  java
  • 邮件发送工具类

    import java.io.UnsupportedEncodingException;
    import java.util.Date;
    import java.util.Properties;
    
    import javax.mail.Address;
    import javax.mail.Message;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    
    /**
     * 邮件发送工具类
     */
    public class SendMailUtil {
        /**
         * 邮件发送的方法
         * 
         * @param to 收件人
         * @param subject 主题
         * @param content 内容
         * @param smtp 协议
         * @param host 发送服务器服务器
         * @param sendName 邮件发送人
         * @param sendPort 邮件发送人端口
         * @param userName 邮件发送人名
         * @param userPwd 邮件发送人密码
         * @return 成功或失败
         */
        public static boolean send(String to, String subject, String content, String smtp, String host,
                String sendName, String sendPort, String userName, String userPwd) {
    
            // 第一步:创建Session
            Properties props = new Properties();
            // 指定邮件的传输协议,smtp(Simple Mail Transfer Protocol 简单的邮件传输协议)
            props.put("mail.transport.protocol", smtp);
            // 指定邮件发送服务器服务器 "smtp.qq.com"
            props.put("mail.host", host);
            // 指定邮件的发送人(您用来发送邮件的服务器,比如您的163\sina等邮箱)
            props.put("mail.from", sendName);
            if (true) {
                props.put("mail.smtp.starttls.enable", "true");
                props.put("mail.smtp.socketFactory.fallback", "false");
                props.put("mail.smtp.socketFactory.port", sendPort);
            }
            Session session = Session.getDefaultInstance(props);
    
            // 开启调试模式
            session.setDebug(true);
            try {
                // 第二步:获取邮件发送对象
                Transport transport = session.getTransport();
                // 连接邮件服务器,链接您的163、sina邮箱,用户名(不带@163.com,登录邮箱的邮箱账号,不是邮箱地址)、密码
                transport.connect(userName, userPwd);
                Address toAddress = new  InternetAddress(to);
    
                // 第三步:创建邮件消息体
                MimeMessage message = new MimeMessage(session);
                //设置自定义发件人昵称
                String nick="";
                try {
                    nick=javax.mail.internet.MimeUtility.encodeText("我的昵称");
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                } 
                message.setFrom(new InternetAddress(nick+" <"+sendName+">"));
              //设置发信人
               // message.setFrom(new InternetAddress(sendName));
    
                // 邮件的主题
                message.setSubject(subject);
                //收件人
                message.addRecipient(Message.RecipientType.TO, toAddress); 
                /*//抄送人
                Address ccAddress = new InternetAddress("first.lady@whitehouse.gov"); 
                message.addRecipient(Message.RecipientType.CC, ccAddress);*/
                // 邮件的内容
                message.setContent(content, "text/html;charset=utf-8");
                // 邮件发送时间
                message.setSentDate(new Date());
    
                // 第四步:发送邮件
                // 第一个参数:邮件的消息体
                // 第二个参数:邮件的接收人,多个接收人用逗号隔开(test1@163.com,test2@sina.com)
                transport.sendMessage(message, InternetAddress.parse(to));
                return true;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return false;
        }
    
        public static void main(String[] args) {
            // 您要发送给谁,标题,内容
            SendMailUtil.send("*****@qq.com", "标题", "内容", "smtp", "smtp.qq.com", "发送人名", "端口号", "用户名", "密码");
        }
    }
    

      

    闷声装大神~~~
  • 相关阅读:
    设计模式之工厂模式-抽象工厂(02)
    1036 跟奥巴马一起编程 (15 分)
    1034 有理数四则运算 (20 分)
    1033 旧键盘打字 (20 分)
    1031 查验身份证 (15 分)
    大学排名定向爬虫
    1030 完美数列 (25 分)二分
    1029 旧键盘 (20 分)
    1028 人口普查 (20 分)
    1026 程序运行时间 (15 分)四舍五入
  • 原文地址:https://www.cnblogs.com/mrccjj/p/7278840.html
Copyright © 2011-2022 走看看