• Java邮箱发送——企业版


    企业版邮箱发送工具类

    import java.security.Security;
    import java.util.Properties;
    import javax.mail.Authenticator;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    
    @SuppressWarnings("restriction")
    public class MailSender
    {
        static
        {
            Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
        }
        
        private String        host;
        private String        port;
        private String        username;
        private String        password;
        private Authenticator loginAuth;
        private Properties    props;
        
        public void init()
        {
            props = new Properties();
            props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
            props.setProperty("mail.smtp.socketFactory.fallback", "false");
            props.setProperty("mail.store.protocol", "smtp");
            props.setProperty("mail.smtp.host", host);
            props.setProperty("mail.smtp.port", port);
            props.setProperty("mail.smtp.socketFactory.port", port);
            props.put("mail.smtp.auth", "true");
            loginAuth = new Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication()
                {
                    return new PasswordAuthentication(username, password);
                }
            };
        }
        
        /**
         * 发送邮件进行处理,根据处理结果返回数字
         * 0是成功,1是地址错误,2是发送失败
         * 
         * @param to
         * @param subject
         * @param content
         * @return
         * @throws AddressException
         * @throws MessagingException
         */
        public void sendSimpleText(String to, String subject, String content) throws AddressException, MessagingException
        {
            Session session = Session.getInstance(props, loginAuth);
            Message msg = new MimeMessage(session);
            msg.setFrom(new InternetAddress(username));
            msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));
            msg.setSubject(subject);
            msg.setText(content);
            Transport.send(msg);
        }
        
        public String getHost()
        {
            return host;
        }
        
        public void setHost(String host)
        {
            this.host = host;
        }
        
        public String getPort()
        {
            return port;
        }
        
        public void setPort(String port)
        {
            this.port = port;
        }
        
        public String getUsername()
        {
            return username;
        }
        
        public void setUsername(String username)
        {
            this.username = username;
        }
        
        public String getPassword()
        {
            return password;
        }
        
        public void setPassword(String password)
        {
            this.password = password;
        }
        public static void main(String[] args) {
        }
    }

    使用方式:

    public static void main(String[] args) throws AddressException,MessagingException{
             MailSender mailSender=new MailSender();
             mailSender.setUsername("xxxxxxxxx@qq.com.cn");//企业邮箱账号  先申请一个企业邮箱
             mailSender.setPassword("1234asdfASDF"); //企业邮箱密码
             //腾讯企业邮箱的POP3服务器地址是pop.exmail.qq.com,其端口号为995,SMTP服务器地址是smtp.exmail.qq.com,端口号为465,但都是要开启SSL。
             mailSender.setHost("smtp.exmail.qq.com");//企业邮箱协议
             mailSender.setPort("465");//端口
             mailSender.init();
             mailSender.sendSimpleText("xxxxxxx@qq.com", "验证码", "123456");
    }
  • 相关阅读:
    【C++】类的特殊成员变量+初始化列表
    SM Java实现
    Android使用OKHttp3实现下载(断点续传、显示运行进度)
    codeforces 486C Palindrome Transformation 贪心求构造回文
    手把手教你画AndroidK线分时图及指标
    怎样使用 iOS 7 的 AVSpeechSynthesizer 制作有声书(3)
    C# 读取Excel中的数据
    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
    java debug
    8种移动APP导航设计模式对照
  • 原文地址:https://www.cnblogs.com/shawWey/p/7085961.html
Copyright © 2020-2023  润新知