本文转自: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();
    }

}

 

Spring 发送 Email的更多相关文章

  1. 使用Spring发送Email

    配置Spring发送邮件 Spring发送邮件底层还是使用JavaMail,我在http://www.cnblogs.com/lz2017/p/6882925.html 中记录过关于JavaMail的 ...

  2. 第19章-使用Spring发送Email

    1 配置Spring发送邮件 Spring Email抽象的核心是MailSender接口.顾名思义,MailSender的实现能够通过连接Email服务器实现邮件发送的功能,如图19.1所示. 图1 ...

  3. 使用Spring 发送 Email !!!!

    邮件服务器: 邮件服务器提供了邮件系统的基本结构,包括邮件传输,邮件分发,邮件存储等功能,以确保邮件能够发送到互联网中的任意地方. 邮件服务器就像我们生活中的邮局,为人们提供邮件服务.要保证邮件被正确 ...

  4. 使用spring 并加载模板发送Email 发邮件 java 模板

    以下例子是使用spring发送email,然后加载到固定的模板,挺好的,大家可以试试 需要使用到spring-context 包 和 com.springsource.org.apache.veloc ...

  5. 利用Velocity结合Spring发email

    在spring中发mail是一件容易的事,如果利用Velocity做mail的模板来发送就更得心应手了. 首先,还是简单描述sping中的配置,发mail需要一个mail的engin: <bea ...

  6. spring boot 学习(十)SpringBoot配置发送Email

    SpringBoot配置发送Email 引入依赖 在 pom.xml 文件中引入邮件配置: <dependency> <groupId>org.springframework. ...

  7. java发送email

    package com.assess.util; import java.io.File; import java.util.ArrayList; import java.util.List; imp ...

  8. 使用PHP发送email进行账号激活或者密码修改操作

    使用PHPMailer编写发送邮件 PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式(qq邮箱最近做了限制,新开域名邮箱不再允许通过smtp协 ...

  9. 使用python原生的方法实现发送email

    使用python原生的方法实现发送email import smtplib from email.mime.text import MIMEText from email.mime.multipart ...

随机推荐

  1. linux安装jdk(以centos安装jdk1.7为例)

    1准备工作: 1 虚拟机一台vmware12,安装64位centos 2 oracle官网下载jdk1.7-linux-x64.rpm 3 winscp将jdk传送到linux上面 2开始安装: 1 ...

  2. C# lambda表达式(简单易懂)

    前言 1.天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西. 2.夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅.据说它是微软自c#1.0后新增的最重要的功能之一 ...

  3. iOS进阶之多线程

    多线程 注意:iOS关于UI的刷新和添加必须在主线程中操作! pthread的创建方法: pthread_t pthread; //第一个参数 线程指针 //第二个参数 线程的一些属性 //第三个参数 ...

  4. java获取日期 昨天 今天 明天的日期

    Date date=new Date();//取时间 Calendar calendar = new GregorianCalendar(); calendar.setTime(date); cale ...

  5. MVC与webservice上传文件(图片和视频),希望帮且到一些朋友

    最近做一个项目,要把图片和视频传到服务器上(网站与图片服务器分开),在网上找了好久,没找到完整的资料. 自己也折腾了半天,才把完整的代码实现完.可能好多朋友都有实现过,没分享代码吧,写得不好希望不要见 ...

  6. 布局容器layout Container

    画布canvas 盒子Box VBox Hbox-->HGroup VGroup 控制条 ControlBar

  7. 《C++primer》v5 第4章 表达式 读书笔记 习题答案

    4.1 105 4.2 *vec.begin()=*(vec.begin())//先调用点运算符,再解引用 *vec.begin()+1=(*vec.begin())+1//先解引用,再加一 4.3略 ...

  8. ionic2 图片上传

    参考URL:https://github.com/dsgriffin/Ionic-2-File-Transfer-Example

  9. 估计PI——OpenCV&Cpp

    来源:<Learning Image Processing With OpenCV> 算法原理:蒙特卡洛 PI的计算公式: Cpp代码: #include <opencv2/open ...

  10. IOS atomic与nonatomic,assign,copy与retain的定义和区别

    IOS atomic与nonatomic,assign,copy与retain的定义和区别 atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作.        ...