美文网首页JAVA技术文章
使用spring发送邮件

使用spring发送邮件

作者: rejoice001 | 来源:发表于2017-12-06 09:47 被阅读1次
    import java.io.IOException;  
    import java.io.InputStream;  
    import java.util.ArrayList;  
    import java.util.Date;  
    import java.util.List;  
    import java.util.Properties;  
      
    import javax.mail.BodyPart;  
    import javax.mail.MessagingException;  
    import javax.mail.Message.RecipientType;  
    import javax.mail.Multipart;  
    import javax.mail.internet.AddressException;  
    import javax.mail.internet.InternetAddress;  
    import javax.mail.internet.MimeBodyPart;  
    import javax.mail.internet.MimeMessage;  
    import javax.mail.internet.MimeMultipart;  
      
    import org.springframework.mail.javamail.JavaMailSenderImpl;  
      
    public class MailSender {  
      
        public static class Config{  
            public static Integer port;  
            public static String host;  
            public static String from;   
            public static String charset;  
            public static String password;  
            public static String subject;  
            public static String content;  
            public static String receiverSeperator;  
            public static String[] recipients;  
            static {  
                InputStream in = null;  
                try {  
                      
                    // 加载default.properties配置文件  
                    Properties props = new Properties();  
                    in = Config.class.getClassLoader().getResourceAsStream("javaMail.properties");  
                    props.load(in);  
      
                    // 获取配置的值  
                     port = Integer.parseInt(props.getProperty("port"));  
                     host = props.getProperty("host");  
                     from = props.getProperty("from");  
                     charset = props.getProperty("charset");  
                     password = props.getProperty("password");  
                     content = new String(props.getProperty("content").getBytes("ISO-8859-1"),charset);  
                     subject = new String(props.getProperty("subject").getBytes("ISO-8859-1"),charset);  
                     receiverSeperator = props.getProperty("receiverSeperator");  
                     recipients = props.getProperty("recipients").split(receiverSeperator);  
                      
                } catch (Exception e) {  
                    throw new RuntimeException(e);  
                } finally {  
                    if (in != null) {  
                        try {  
                            in.close();  
                        } catch (IOException e) {  
                            throw new RuntimeException(e);  
                        }  
                    }  
                }  
            }  
        }  
          
          
        public static void main(String argc[]) throws MessagingException  
        {  
            Config config = new Config();  
            System.out.println("开始发送邮件。。。。");  
            send(config, config.subject, config.content, config.recipients);  
            System.out.println("发送邮件完毕。。。。");  
        }  
          
        public static void send(Config config, String subject, String content, String ...recipients) throws MessagingException{  
              
            JavaMailSenderImpl mailSender = getMailSender(config);  
              
            MimeMessage message = mailSender.createMimeMessage();  
            message.setSentDate(new Date());  
            message.setFrom(new InternetAddress(config.from));  
            message.setRecipients(RecipientType.TO, addAddress(recipients));  
            message.setSubject(subject, config.charset);  
              
            Multipart mp = new MimeMultipart();  
            BodyPart bp = new MimeBodyPart();  
            bp.setContent(content, "text/html; charset=" + config.charset);  
            mp.addBodyPart(bp);  
            message.setContent(mp);  
            mailSender.send(message);  
        }  
          
        private static InternetAddress[] addAddress(String[] address) throws AddressException {  
            List<InternetAddress> rets = new ArrayList<InternetAddress>(address.length);  
            for (int i = 0; i < address.length; i++) {  
                rets.add(new InternetAddress(address[i]));  
            }  
            return rets.toArray(new InternetAddress[rets.size()]);  
        }  
          
        private static JavaMailSenderImpl getMailSender(Config config){  
            JavaMailSenderImpl mailSender = new JavaMailSenderImpl();  
            Properties properties = new Properties();  
            properties.setProperty("mail.smtp.auth", "true");  
            properties.setProperty("mail.smtp.timeout", "2500");  
            mailSender.setJavaMailProperties(properties);  
            mailSender.setHost(config.host);  
            mailSender.setPort(config.port);  
            mailSender.setUsername(config.from);  
            mailSender.setPassword(config.password);  
            return mailSender;  
        }  
    }  
    111

    相关文章

      网友评论

        本文标题:使用spring发送邮件

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