zoukankan      html  css  js  c++  java
  • Spring 发送 Email

    本文转自:http://zl198751.iteye.com/blog/757617

    看到了本文,收获颇丰,感谢之至!

    首先介绍下Email的发送流程:

    需要选中smtp邮件服务器,Yahoo不提供免费的smtp服务器,Gmail的可以;需要接送邮件就需要配置pop服务器,Yahoo支持免费 的pop服务器,Gmail一样支持。  介绍下在OutLook中配置Gmail的邮件服务,gmail的smtp端口是465,需要ssl连接,pop是995也是ssl连接,并且需要服务器 身份验证(这个需要在outlook中勾选)。配置好后可以发送和接收和邮件了。

    下面说下如何用java发送邮件:

    Spring的配置文件中初始化 JavaMailSenderImpl或者直接在类中new都可以

     <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"></bean>

    下面是利用freemarkder发送email的简单示例。

    @Service
    public class EmailTestSender {
        
        @Autowired
        @Qualifier("mailSender")
        private JavaMailSenderImpl sender;
        
        public void test() throws MessagingException, TemplateException, IOException {
            sender.setHost("smtp.gmail.com");
            sender.setUsername("******");
            sender.setPassword("******");
            sender.setPort(465);
            
            Properties config = new Properties();
            config.put("mail.smtp.auth", "true");
            config.put("mail.smtp.timeout", 1000 * 60);
            config.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
            config.put("mail.smtp.socketFactory.fallback", "false");
            config.put("mail.smtp.socketFactory.port", new Integer(465));
            
            sender.setJavaMailProperties(config);
            
            MimeMessage message = sender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
            
            helper.setFrom("******");
            helper.setTo("******");
            helper.setSubject("Test By Java");
            helper.setText(getContent(), true);
            sender.send(message);
        }
        
        public String getContent() throws TemplateException, IOException {
            Configuration g = new Configuration();
            g.setEncoding(Locale.getDefault(), "UTF-8");
            g.setDirectoryForTemplateLoading(new File("./"));
            
            Template template = g.getTemplate("content.ftl");
            
            StringWriter out = new StringWriter();
            Map<String, String> data = new HashMap<String, String>();
            data.put("test", "I am in freemarker.");
            template.process(data, out);
            return out.toString();
        }

    }

     
  • 相关阅读:
    linux--menuconfig
    linux--rcs
    linux--VSS/RSS/PSS/USS
    vi编辑器中发现文件中每行都有一个^M字符
    linux umount命令
    Linux mount命令
    Linux rmmod命令
    Linux lsmod命令
    Linux insmod命令
    linux--cpio文件
  • 原文地址:https://www.cnblogs.com/DarrenWeng/p/6206716.html
Copyright © 2011-2022 走看看