使用Spring 发送 Email !!!!
邮件服务器:
邮件服务器提供了邮件系统的基本结构,包括邮件传输,邮件分发,邮件存储等功能,以确保邮件能够发送到互联网中的任意地方。
邮件服务器就像我们生活中的邮局,为人们提供邮件服务。要保证邮件被正确传输和接收,需要统一规则的支持,这就是邮件协议。
邮件协议主要包括:SMTP,POP3,IMAP等。
(1)SMTP:全称是Simple Mail Transfer Protocol即简单邮件传输协议。SMTP是用于发送电子邮件的协议。例如我们平时使用
Outlook,Outlook Express 来发送邮件的时候,就是使用它把本机的邮件发送到已经注册邮箱的服务器上(163.Google.Hotmail等)
然后由邮件服务器再把邮件发送出去。SMTP确保客户端与邮件服务器之间可以高效的传输邮件
(2)POP3:全称是Post Office Protocol 3,即邮局协议的第三个版本。POP3是用于接收邮件服务器的标准协议,类似于现实生活中
我们去邮局取包裹。POP3允许用户从服务器上把邮件存储到本地计算机上,同时根据用户的操作删除或保存在邮件服务器上收邮件。‘
(3)IMAP:全称是Internet Message Access Protocol,即互联网消息访问协议。IMAP是一个应用层协议,用来从本地的客户端
访问远程服务器上的邮件,是POP3的替代协议。
这三种协议在传输时都是使用明文传输的,为了提高安全性可以通过SSL(Secure Sockets Layer 安全套接层)进行加密传输。因此
这三种协议都有SSL加密传输协议分别是SMTPS,POP3S,IMAPS。
搭建James 邮件服务器
James是Apache的一个开源项目,纯Java实现。Apache James Server作为一个企业级的邮件服务器,对SMTP,POP3,IMAP等邮件协议
提供完整的支持。我们可以通过其来搭建自己的邮件服务器。
现在开始我们快速的来搭建一下James邮件服务器
(1)首先我们将下载的apache-james-2.3.2.zip解压

如图在James的bin目录中包含两个重要的文件 run.bat 和 run.sh,运行run.bat就可以启动James邮件服务器,在启动之前要确保JDK环境
和Java_Home已经配置好。James启动时SMTP服务默认在25端口启动。POP3服务默认在110端口启动,NNTP(Network News TransferProtocol
网络新闻传输协议)服务默认在119端口启动。
在James的apps\james\SAR-INF目录下,有一个config.xml文件,这就是James核心配置文件。注意初次启动不会有这个文件,只有当James服务启动一次
之后才会自动构建这个文件。在默认配置下邮件服务器的域名为localhost我们可以修改config.xml文件将其修改为自定义的名称。打开config.xml文件 修改
<servernames autodetect="true" autodetectIP="true">
<servernames>localhost</servernames>
</servernames>
<!-- 修改后--> <servernames autodetect="true" autodetectIP="true">
<servernames>mail.com</servernames>
</servernames>
创建用户账号(采用telnet的方式来添加用户)
使用telnet连接James的Remote Administration Tool。打开一个控制台窗口输入telnet localhost 4555并按 Enter键
注意:win7,telnet服务默认是关闭的,可以通过控制面板---------->卸载或更改程序---------->打开或关闭windows功能进行设置
登陆
系统默认的管理员用户名为root 密码也为root 输入后显示欢迎表示登陆成功
添加用户
语法:adduser[ username ][ password]
查看当前用户
语法:listusers 即可查询当前有哪些用户。
简单的服务我们就搭建成功了
使用Spring 发送 Email !!!!的更多相关文章
- Spring 发送 Email
本文转自:http://zl198751.iteye.com/blog/757617 看到了本文,收获颇丰,感谢之至! 首先介绍下Email的发送流程: 需要选中smtp邮件服务器,Yahoo不提供免 ...
- 使用Spring发送Email
配置Spring发送邮件 Spring发送邮件底层还是使用JavaMail,我在http://www.cnblogs.com/lz2017/p/6882925.html 中记录过关于JavaMail的 ...
- 第19章-使用Spring发送Email
1 配置Spring发送邮件 Spring Email抽象的核心是MailSender接口.顾名思义,MailSender的实现能够通过连接Email服务器实现邮件发送的功能,如图19.1所示. 图1 ...
- 使用spring 并加载模板发送Email 发邮件 java 模板
以下例子是使用spring发送email,然后加载到固定的模板,挺好的,大家可以试试 需要使用到spring-context 包 和 com.springsource.org.apache.veloc ...
- 利用Velocity结合Spring发email
在spring中发mail是一件容易的事,如果利用Velocity做mail的模板来发送就更得心应手了. 首先,还是简单描述sping中的配置,发mail需要一个mail的engin: <bea ...
- spring boot 学习(十)SpringBoot配置发送Email
SpringBoot配置发送Email 引入依赖 在 pom.xml 文件中引入邮件配置: <dependency> <groupId>org.springframework. ...
- java发送email
package com.assess.util; import java.io.File; import java.util.ArrayList; import java.util.List; imp ...
- 使用PHP发送email进行账号激活或者密码修改操作
使用PHPMailer编写发送邮件 PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式(qq邮箱最近做了限制,新开域名邮箱不再允许通过smtp协 ...
- 使用python原生的方法实现发送email
使用python原生的方法实现发送email import smtplib from email.mime.text import MIMEText from email.mime.multipart ...
随机推荐
- meta标签和作用
<meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content=" ...
- mysql5.6新特性总结
一. server参数默认值设置的变化http://dev.mysql.com/doc/refman/5.6/en/server-default-changes.html 二. innodb增强1.全 ...
- Windows7 安装vs2015 之后 调试Web项目IIS启动不了 aspnetcore.dll未能加载
安装windows企业版,整整折腾了两天了,一个本身家里网络环境不好,时不时掉线,终于披荆斩棘,克服了所有困难,结果VS2015 EnterPrise 版本在调试Web环境的时候,始终在任务栏里找不到 ...
- Provisioning Services 7.6 入门到精通系列之一:PVS前期规划
1. Provisioning Services 产品概述 Provisioning Services (简称PVS)采用了一种与传统映像解决方案截然不同的方法,从根本上改变了硬件与依托硬件而运行的 ...
- HalconMFC(三)之打开图像_简单处理
在VS2010中配置完halcon之后就得写个最简单的程序满足一下咱们的自信心呀! 第一步,新建MFC程序 最好是按照下面这么设置然后点击"完成",就不会报错 第二步,导出C++代 ...
- Linux学习 :移植U-boot_2016.09到JZ2440开发板
一.下载源码:ftp://ftp.denx.de/pub/u-boot/ 二.初始化编译: ①新建一个单板: cd board/samsung/ cp smdk2410 smdk2440 -rf ...
- 字符编码和python .encode().decode()方法
字符编码与encode.decode的问题: 用8个开关表示世界万物 ASCII : American Standard Code for Information Interchange,美国 ...
- DotNetBar for Windows Forms 11.8.0.8冰河之刃重打包版
关于 DotNetBar for Windows Forms 11.8.0.8_冰河之刃重打包版 基于 官方原版的安装包 + http://www.cnblogs.com/tracky 提供的补丁DL ...
- Y+的查看及FLUENT壁面函数的选择
y+的查看 其实,我们关心的应该是壁面y+值.那么我们看云图的话,是可以直接看到的,但是个人感觉,如果case大的话,也不是很方便.此外,你要是看云图的话,要用filled的方式,而且把node va ...
- java中创建字符串的两种方式(“”与new String())及区别
结论:通过""创建的字符串实际上在java堆中只有一个,而通过new string创建出来的字符串在java堆中占有不同的内存. 第一个True表明这两个在内存中拥有相同的地址,那 ...