zoukankan      html  css  js  c++  java
  • 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");
    }
  • 相关阅读:
    阿里云提示Discuz memcache+ssrf GETSHELL漏洞如何解决
    mysql总是无故退出, InnoDB: mmap(68681728 bytes) failed; errno 12
    ElasticSearch6 报错FORBIDDEN/12/index read-only / allow delete (api)
    Yum安装时提示多库版本保护 Multilib version problems found
    redis:CLUSTER cluster is down 解决方法
    虚拟主机如何绑定网站根目录到子目录中
    iscroll遇到的两个坑
    前端之Sass/Scss实战笔记
    JS与jquery书写插件规范
    css命名推荐
  • 原文地址:https://www.cnblogs.com/shawWey/p/7085961.html
Copyright © 2011-2022 走看看