邮件服务器:

邮件服务器提供了邮件系统的基本结构,包括邮件传输,邮件分发,邮件存储等功能,以确保邮件能够发送到互联网中的任意地方。

邮件服务器就像我们生活中的邮局,为人们提供邮件服务。要保证邮件被正确传输和接收,需要统一规则的支持,这就是邮件协议。

邮件协议主要包括: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 !!!!的更多相关文章

  1. Spring 发送 Email

    本文转自:http://zl198751.iteye.com/blog/757617 看到了本文,收获颇丰,感谢之至! 首先介绍下Email的发送流程: 需要选中smtp邮件服务器,Yahoo不提供免 ...

  2. 使用Spring发送Email

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

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

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

  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. 学习PYTHON之路, DAY 4 - PYTHON 基础 4 (内置函数)

    注:查看详细请看https://docs.python.org/3/library/functions.html#next 一 all(), any() False: 0, Noe, '', [], ...

  2. 使用SecureCRT远程链接Ubuntu出现 Change of username or service not allowed的问题

    RT:    首先是确认ubuntu上有运行 sshd服务的 但是用SecureCRT链接时报错,默认用户名是root: 打开ssh_config检查下是否禁止直接用root登陆 这句 改成yes o ...

  3. mac 解决eclipse OutOfMemoryError

    1.找到eclipse.ini文件 找到你的eclipse图标右击————>显示包内容-->contents -->macos -->eclipse.ini 2.修改内容 -s ...

  4. ORACLE行转列通用过程

    create or replace procedure row_to_col(tabname in varchar2,                                   group_ ...

  5. The trip(Uva 11100)

    题目大意: 给出n个数,要求将其分成最少的递增序列,保证序列最少的同时要使得序列长度的最大值最小.  n<=10000 题解: 1.我是直接看着<训练指南>里的中文题面的,lrj似乎 ...

  6. 转-深入理解VMware虚拟网络

    原文出处:http://wangchunhai.blog.51cto.com/225186/381225 VMware Workstation是一款非常不错的虚拟机软件,许多爱好者用VMware Wo ...

  7. Python array,list,dataframe索引切片操作 2016年07月19日——智浪文档

    array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片 ...

  8. hdu 1503, LCS variants, find a LCS, not just the length, backtrack to find LCS, no extra markup 分类: hdoj 2015-07-18 16:24 139人阅读 评论(0) 收藏

    a typical variant of LCS algo. the key point here is, the dp[][] array contains enough message to de ...

  9. 在Java filter中调用service层方法

    在项目中遇到一个问题,在 Filter中注入 Serivce失败,注入的service始终为null.如下所示: public class WeiXinFilter implements Filter ...

  10. Levenberg-Marquardt算法基础知识

    Levenberg-Marquardt算法基础知识 (2013-01-07 16:56:17) 转载▼   什么是最优化?Levenberg-Marquardt算法是最优化算法中的一种.最优化是寻找使 ...