手动搭建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中新增加的用户以及域名

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

 

相关文章
|
1月前
|
弹性计算 运维 监控
云产品评测:云服务诊断 — ECS实例健康状态与诊断功能体验
作为一名运维工程师,我日常管理和维护云资源,确保服务稳定运行。阿里云的云服务诊断功能提供了便捷的方式实时了解和优化ECS实例的健康状态。通过健康状态功能,我能够查看CPU、内存等指标,及时发现并解决性能瓶颈,提升了约30%的工作效率。诊断功能则帮助我快速定位复杂问题,减少了40%的诊断时间,并提供详细的优化建议。尽管功能已很强大,但仍建议进一步细化诊断结果和增加自定义告警选项,以提升使用体验。我非常推荐此工具给其他运维人员。
70 22
|
1月前
|
弹性计算 运维 开发者
关于ECS 健康状态 诊断功能评测
这是一位开发兼运维工程师的观点,认为云资源的健康状态和诊断功能作用有限,因为大多数问题根源在于代码质量,而这些工具无法改善低下的代码质量导致的资源异常。
|
2月前
|
NoSQL 应用服务中间件 PHP
布谷一对一直播源码服务器环境配置及app功能
一对一直播源码阿里云服务器环境配置及要求
|
3月前
|
算法 数据挖掘 Linux
服务器数据恢复—EXT3文件系统下邮件数据恢复案例
服务器数据恢复环境: 邮件服务器中有一组由8块盘组成的RAID5阵列, 上层是Linux操作系统+EXT3文件系统。 服务器故障: 由于误删除导致文件系统中的邮件数据丢失。
|
3月前
|
域名解析 弹性计算 缓存
阿里云国际云服务器全局流量分析功能详细介绍
阿里云国际云服务器全局流量分析功能详细介绍
|
5月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
5月前
|
数据库连接 Apache Java
【独家揭秘】图书管理系统的奇幻之旅:一文看透Apache Wicket如何从想法萌芽到服务器上翩翩起舞?
【8月更文挑战第31天】本文通过实战案例,详细介绍从概念到部署的Apache Wicket应用开发全流程。以在线图书管理系统为例,涵盖应用概念定义、项目创建、架构设计、首页编写、数据库交互及应用部署等关键步骤。通过Maven或Gradle引入Wicket依赖,设计包结构,并使用JPA或Hibernate处理数据持久化。最终,将应用配置并部署到Tomcat或Jetty服务器,帮助你全面掌握Wicket开发技巧。
61 0
|
5月前
|
监控 Linux 测试技术
|
5月前
|
监控 安全 网络安全
如何保护 Apache 服务器的安全
【8月更文挑战第23天】
133 0
|
12天前
|
弹性计算 数据挖掘 应用服务中间件
阿里云轻量应用服务器68元与云服务器99元和199元区别及选择参考
目前阿里云有三款特惠云服务器,第一款轻量云服务器2核2G68元一年,第二款经济型云服务器2核2G3M带宽99元1年,第三款通用算力型2核4G5M带宽199元一年。有的新手用户并不是很清楚他们之间的区别,因此不知道如何选择。本文来介绍一下它们之间的区别以及选择参考。
265 87

热门文章

最新文章

推荐镜像

更多