手动搭建apache james邮件服务器,实现邮件功能

最近一直在搞邮件这块,本来我们邮件发送是用的腾讯免费的企业邮箱,邮件功能没有问题,但是由于邮件的限制,如下:

这些限制导致我们的部分客户是收不到邮件的,哪怕付费,这样的固定频率限制也是无法解决的,可以说我们国内的邮件厂商都是这样,而国外的却要收费。

那么问题来了,如何突破发送邮件的频率限制?

1. 成为该企业用户的白名单,也就是说有关系,让邮件厂商后台开放就行

2. 自己搭建邮件服务器,其实这个就是最实在的

周末花了两天时间搭建了邮件服务器,也走了不少弯路,那么咱们今天就来说说

我自己搭了两款,一款是sendMail,这个搭建过程十分简单,一步一步安装,然后解析一下域名就能发送,sendMail只限于linux部署

而我们做java的接触的最多的就是apache的各大开源组件,而apache恰恰提供了邮件服务,那就是james

james目前已经更新到了3.0的beta5版本,这个版本不是稳定版的

而且在jdk7+会有bug存在,我也试过的确会报错

既然3.0还没有稳定版本并且带有bug,而我们仅仅只需要收发邮件,那么使用2.3的稳定版本是当然没有问题的

好!那我们现在开始使用jame2.3.2的稳定版本来做我们的邮件服务器:

首先需要在linux上安装jdk,我们使用的是JDK7(安装步骤略)

邮件服务器的smtp使用25端口,必须保证此端口没有被占用

如果被占用了,关闭即可

使用ftp工具把james-2.3.2的压缩包上传至服务器:

解压缩并且重命名后:

进入bin目录,并且运行run.sh

哎哟,发现报错,没有这个命令

 没关系,我们给phoenix.sh加上权限即可

 

然后服务器启动成功!

接下来我们就来进行james的相关配置:

ctrl+c 可以退出运行着的后台,然后我们进入以下目录

修改config.xml这个配置文件

 

找到并且修改这段配置

改为:

autodetct:true 表示自动侦测主机名,设成false会使用指定的server name

autodetectIP:true 表示会为你的servername加上ip,所以直接false就行

servername就改成你所需要的域名就行

注释掉此段代码

配置DNS Server,查看DNS

再查看主机dns

然后再设置如下:

 

找到并且注释这段代码

然后再修改hosts

然后我们在来优化一下James内存使用,修改此目录下的这个文件

 改成此配置即可

 

最后在bin下的phoenix.sh中添加如下配置

配置完后reboot一下

computer rebooting... ...

 

重启完后启动james,sh run.sh

这个时候启动完毕,james配置成功。这个时候,我们还是需要用户的,没有用户就不能不收发邮件了

修改用户名密码,这个主要用来登录james进行相关操作的

修改完后保存,这个时候我们就要添加用户了

先登录连接上james,但是发现命令不存在

那么直接安装一下即可

再次登录发现成功

 james主要提供了如下命令,看名字就知道怎么用,十分简单

 

按照命令添加用户

OK,至此所以配置完毕,我们使用javamail来测试一下吧!

测试发送到163,搜狐,以及qq邮箱,163可以接受,而搜狐和qq不能接受,设置白名单就行

最终受到邮件就是这样的,红框匹配james中新增加的用户以及域名

关于发送的邮件被其他邮件厂商当成垃圾邮件,这个暂时没有解决,如果哪位大侠知道请随时指点一二!

 

时间: 2024-09-20 04:15:08

手动搭建apache james邮件服务器,实现邮件功能的相关文章

java利用QQ邮件服务器发邮件的代码 谁有 各位大神谢谢了

问题描述 java利用QQ邮件服务器发邮件的代码 谁有 各位大神谢谢了 ...................................................................... 解决方案 //发送邮件 try { Properties prop = new Properties(); //设置服务器地址 prop.put("mail.smtp.host", "smtp.qq.com"); //设置需要身份验证 prop.put(&

使用CDO通过外部邮件服务器发邮件 (免安装其他邮件组件)

使用CDO通过外部邮件服务器发邮件 (免安装其他邮件组件)John Peterson [ hooke 编译 ] WIN2K下的CDO或CDONTS被默认配置成只能通过本地的Microsoft SMTP服务来发送邮件,如果要用外部的邮件服务器,一般要安装第三方组件.以下代码教你如何利用CDO通过外部邮件服务器发送邮件.(译者win2000下测试通过.)<%Const cdoSendUsingMethod="http://schemas.microsoft.com/cdo/configurat

用Windows Server 2003来搭建简易的邮件服务器

这要说用WindowsServer2003搭建邮件服务器,其实什么都不用准备,微软已经帮我们做好了一切准备,只要轻点鼠标,就可以完成所需要的一切操作.怎么样,听着心动了吧?那就跟随Aaron来用WindowsServer2003搭建属于自己的邮件服务器吧. 由于WindowsServer2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1.将WindowsServer2003的系统光盘放入光驱,或者将镜像文件挂载到虚拟光驱.在控制面板中

邮件服务器-邮件用户名使用中文用户名可能吗?

问题描述 邮件用户名使用中文用户名可能吗? 如题,搭建了个邮件服务器,老板要求能让用户使用中文用户名,但是这个理论能做到吗?以前网易貌似尝试过,结局咋样 解决方案 理论上可以,但是这个用户要冒着无法接收来自大部分邮件服务器的邮件和发不出邮件到大部分邮件服务器的风险. 解决方案二: 就像以前有中文域名,于是很多人脑子一热就搞了一个,然后就呵呵了.反正你的工资是你老板开的,他让搞你就搞呗. 解决方案三: 跟你老板说,用中文用户名使用不稳定,你发的邮件对方有可能拒收,别人给你发邮件也有可能发不出来.

Sendmail邮件服务器的安全解决方案

Sendmail作为免费的邮件服务器软件,已被广泛应用于Internet各种操作系统的服务器中.如:Solaris,HPUX,AIX,IRIX,Linux等等.随着互连网的普及,邮件服务器受攻击的机会也大大增加.目前互连网上的邮件服务器所受攻击有两类:一类就是中继利用(Relay),即远程机器通过你的服务器来发信,这样任何人都可以利用你的服务器向任何地址发邮件,久而久之,你的机器不仅成为发送垃圾邮件的帮凶,也会使你的网络国际流量激增,同时将可能被网上的很多邮件服务器所拒绝.另一类攻击称为垃圾邮件

选择邮件服务器十二要素(1)

服务器|邮件服务器 目前,市场上有多种Internet邮件服务器产品供选择, 这些邮件服务器产品价格各异,所提供的功能也有不少差别.对于网络管理员来说,如何根据自身业务的需求,选择功能完备.价格合理的邮件服务器产品,是一个多因素的综合决策问题.选择邮件服务器时,虽然需要考虑的因素有许多,但主要应该着重考察产品的系统支持能力.服务协议支持能力.多邮件服务器支持能力.用户管理能力.邮箱管理能力.客户端软件支持能力.通信能力.安全防护能力.系统管理能力.版本. 价格.升级与售后服务等以下十二个因素.

选择邮件服务器十二要素(2)

3)IMAP4协议 IMAP协议是Internet消息访问协议(Internet Message Access Protocol)的缩写,现在常用的是版本 4,它为用户提供了有选择的从邮件服务器接收邮件的功能.基于服务器的信息处理功能和共享信箱功能.IMAP4在用户登录到邮件服务器以后,允许采取多段处理方式查询邮件. 首先,用户可以仅读取电子邮箱中的邮件信头(Messageheader);然后,用户可以选择下载指定的邮件或者全部邮件.IMAP4在邮件服务器一端为用户保留邮件. 4)HTTP协议和

Mdaemon邮件服务器作为Exchange反垃圾网关部署方案

系统环境:Exchange邮件服务器.MDaemon邮件网关操作系统均使用server 2003,另模拟外网邮件服务器收发邮件的邮件系统随意(本实验环境采用 MDaemon 10.1.2) 实验基本配置:MDaemon 12.0.3 作为 Exchange邮件服务器的网关,ip:192.168.1.158,域名:sg.kity.com:内部建设Exchange 2003邮件服务器用于接收外部邮件,ip:192.168.1.159,域名:mail.kity.com:MDaemon10.1.2 模拟

如何选择邮件服务器

目前,市场上有多种Internet邮件服务器产品供选择, 这些邮件服务器产品价格各异,所提供的功能也有不少差别.对于网络管理员来说,如何根据自身业务的需求,选择功能完备.价格合理的邮件服务器产品,是一个多因素的综合决策问题.选择邮件服务器时,虽然需要考虑的因素有许多,但主要应该着重考察产品的系统支持能力.服务协议支持能力.多邮件服务器支持能力.用户管理能力.邮箱管理能力.客户端软件支持能力.通信能力.安全防护能力.系统管理能力.版本. 价格.升级与售后服务等以下十二个因素. 一.系统支持能力 无