本文转自: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. Raspberry Pi UART with PySerial

    参考:http://programmingadvent.blogspot.hk/2012/12/raspberry-pi-uart-with-pyserial.html Raspberry Pi UA ...

  2. Yii 多个子目录同步登录

    ---恢复内容开始--- 配置文件中:  1 'components'=>array( 'user'=>array( 'class'=>'CWebUser', 'identityCo ...

  3. a标签

    a链接是一种触发行为元素,行内元素 属性:href/target/class/id/title href: <a href="www.baidu.com"></a ...

  4. asp.net mvc api auth

    一.登录 /// <summary> /// 获取令牌 /// </summary> /// <param name="userName">用户 ...

  5. 探索javascript----this的指向问题

    *this只和执行环境有关,和声明环境无关.谁调用this,this就指向谁. *this的指向分为四种: 1.作为普通函数调用: 2.作为对象的方法调用:   指向对对象,但用新变量引用该方法时候, ...

  6. 搭建Android开发环境简要步骤

    (一)安装JDK JDK下载地址 http://www.oracle.com/technetwork/java/javase/downloads/index.html 在Linux终端输入如下命令,设 ...

  7. struts2 错误提示页面

    以前做的一个网站,最近服务器后台出现一些异常,问题是客户访问一个该网站下不存在的action,为了给客户一个友好的界面提示以及减小服务器端日志文件的内容.就在struts2下进行了如下配置: 在str ...

  8. MFC 网络编程中::connect返回-1问题

    在MFC编写网络时遇到了::connect总是返回-1,但是与服务器可以进行接收和发送消息的操作. 原因是在进行连接的时候我没有进行初始化:::WSAStartup(w, &data);//动 ...

  9. iOS技术博客(文摘)链接地址

      objc系列译文(5.1):认识 TextKit 手把手教你配置苹果APNS推送服务 如何使用iOS Addressbook UIApplication深入研究 GCD倒计时 那些不能错过的Xco ...

  10. NSOperation实现线程间通信

    -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { //1.创建队列 NSOperat ...