使用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 ...
随机推荐
- 深入springMVC源码------文件上传源码解析(下篇)
在上篇<深入springMVC------文件上传源码解析(上篇) >中,介绍了springmvc文件上传相关.那么本篇呢,将进一步介绍springmvc 上传文件的效率问题. 相信大部分 ...
- 10.6 CCPC northeast
1001 Minimum's Revenge 点的编号从 1 到 n ,u v 的边权是 LCM(u,v) ,求这个图的最下生成树 搞成一颗以 1 为 根 的菊花树 ---------------- ...
- RMAN 参数详解
使用RMAN>show all;可以显示出RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # defaultCONFIGURE B ...
- Leetcode详解Maximum Sum Subarray
Question: Find the contiguous subarray within an array (containing at least one number) that has the ...
- P53 T3
为方便旅客,某航空公司拟开发一个机票预定系统.旅行社把预定机票的旅客信息(姓名.性别.工作单位.身份证号码.旅行时间.旅行目的地等)输入进入该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起 ...
- 【DIY】【外壳】木板 & 亚克力 加工
—————————————————————————————————————————————————————————————————————— 一.途径 淘宝 https://item.taobao.c ...
- 基于内存,redis,mysql的高速游戏数据服务器设计架构
转载请注明出处,欢迎大家批评指正 1.数据服务器详细设计 数据服务器在设计上采用三个层次的数据同步,实现玩家数据的高速获取和修改. 数据层次上分为:内存数据,redis数据,mysql数据 设计目的: ...
- HDU 5010 Get the Nut(2014 ACM/ICPC Asia Regional Xi'an Online)
思路:广搜, 因为空格加上动物最多只有32个那么对这32个进行编号,就能可以用一个数字来表示状态了,因为只有 ‘P’ 'S' 'M' '.' 那么就可以用4进制刚好可以用64位表示. 接下去每次就 ...
- Python学习07——字典(2)
笨办法学Python第40节,上次用的第三版的书,这次是第四版的书. 这一节的代码如下: cities = {'CA':'San Francisco', 'MI':'Detroit', 'FL':'J ...
- eclipse 启动失败(找不到jvm)
今天启动eclipse时提示了一个错误 在网上找到的解决方法是在eclipse的快捷方式中加入Java的JVM的路径,方法如下: 右键eclipse快捷方式 ->属性 在目标中 如果只有 D: ...