linux搭建sendmail邮件服务器,Linux系统Sendmail架设Mail服务器[通俗易懂]

一、安装Sendmail完全安装RedHatLinux9.0时,Sendmail就会自动内置,版本号为8.12.8-4.如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查看:[root@ahpengroot]rpm–qa grepsendmail如果确定没有安装,请在图形界面下依次选择单击“主菜单-系统设置-添加删除应用程序”,然后在打开的“软件包管理”窗口里选…

大家好,又见面了,我是你们的朋友全栈君。

b362f5d1bc5e19887c8f5928c4985375.png

一、安装Sendmail

完全安装Red Hat Linux 9.0时,Sendmail就会自动内置,版本号为8.12.8-4.如果你不确定Linux是否已经安装有sendmail,可以输入以下命令查看:

[root@ahpeng root] rpm –qa grep sendmail

如果确定没有安装,请在图形界面下依次选择单击“主菜单-系统设置-添加删除应用程序”,然后在打开的“软件包管理”窗口里选中“邮件服务器”选项,点“更新”后按照提示安装即可。

另一种办法是:直接插入Linux第1张安装光盘,选择/RedHat/RPMS目录下的sendmail-8.12.8-4.i386.rpm安装包,之后运行[root@ahpeng RPMS] # rpm -ivh sendmail-8.12.8-4.i386.rpm即可开始安装,再用此方法在第3张安装光盘的同目录下依次安装sendmail-cf.8.12.8-4.i386.rpm、sendmail-doc. 8.12.8-4.i386.rpm.

二、启动Sendmail服务系统

笔者建议使用带参数的Sendmail命令控制邮件服务器的运行:

[root@ahpeng root]# sendmail -bd –q12h

-b:设定Sendmail服务运行于后台。

-d:指定Sendmail以Daemon(守护进程)方式运行。

-q:设定当Sendmail无法成功发送邮件时,就将邮件保存在队列里,并指定保存时间。上面的12h表示保留12小时。

此外,要检测Sendmail服务器是否正常运行,可以使用命令行:

[root@ahpeng root]#  /etc/rc.d/init.d/sendmail status

三、配置Sendmail

sendmail.cf的配置语法比较难懂,一般资料上都是采用m4宏处理程序来生成所需的sendmail.cf文件(使用m4编译工具一般不容易出错,还可避免某些带有安全漏洞的宏对服务器造成的破坏)。其配置文件位于/etc/mail/sendmail.cf,在创建的过程中还需要一个模板文件,Linux自带有一个模板文件,位于/etc/mail/sendmail.mc.故可以直接通过修改sendmail.mc模板来达到定制sendmail.cf文件的目的,而不必去死啃哪些难理解的配置命令。配置步骤为:

***步:用模板文件sendmail.mc生成sendmail.cf配置文件,并导出到/etc/mail/目录下,使用命令行:m4

/etc/mail/sendmail.mc > /etc/mail/sendmail.cf

第二步:再用

[root@ahpeng root] /etc/rc.d/init.d/sendmail restart

命令行重启sendmail.

至此,邮件服务系统配置完成,已经正常工作。接下来就是创建具体的帐户了。

四、建立电子邮件新帐号

此步骤相对简单,只需在Linux里新增一个用户即可。依次进入“主菜单-系统设置-用户和组群”选项,接着打开“Red Hat用户管理器”对话框,点“添加用户”按钮,在接着出现的“创建新用户”窗口中输入用户名及密码即可。

创建mail使用帐号,命令行方式为:

[root@ahpeng root]#adduser mailA -p Pass

表示创建了一个mailA的帐号,密码为Pass.

五、限制单个用户邮箱容量

如果对用户的邮件容量不加限制,服务器的硬盘是不堪重负的。这可以使用“邮件限额”功能来实现:因为电子邮件的暂存空间是位于/var/spool/mail目录下的,所以只需通过磁盘配额设定每一个邮件帐户在此目录下能使用的***空间即可。

六、单一用户设定多个邮件地址

使用别名(alias)可以解决这个问题。别名是sendmail最重要的功能之一。它在aliases这个文本文件中定义,aliases文件的位置由sendmail.cf指定,一般位于/etc目录下。比如前面我们建立的mailA用户要拥有2个邮件地址:mailA@yourdomain.com和mailB@yourdomain.com,可以这样设置:

首先,新增一个账号mailC,然后用Linux的文本编辑器打开/etc/aliases,在里面加上dearpeter: mailC和truepeter: mailC这两个命令行;然后在命令窗口运行newaliases命令,以要求Sendmail重新读取/etc/aliases文件。如果正确无误,会出现一段回应消息,表示配置成功。这样就可以使用2个地址给mailC发信,而mailC则只需用其中一个账号就可接收寄给以上2个地址的所有邮件。

经过以上步骤后,应该就可以用Outlook Express正常发送邮件了,但这时还不能用Outlook Express从服务器端收取邮件的,因为sendmail默认状态并不具备POP3功能,我们还得自己安装并启用它。

1.POP3(IMAP)服务器安装。

***步:用以下命令行检查系统是否安装:

[root@ahpeng root]# rpm -qa imap

imap-2001a-18

第二步:插入第2张安装光盘,使用下面的命令行开始安装:

[root@ahpeng root]#cd /mnt/cdrom/RedHat/RPMS

[root@ahpeng root]#rpm -ivh imap-2001a-18.i386.rpm

2.启用POP3(IMAP)服务。

POP3服务:请先修改/etc/xinetd.d/ipop3文件,将其中的disable=yes改为disable=no后保存;然后重新启动xinetd程序来读取这个修改过的配置文件,使之生效。

[root@ahpeng root]#/etc/rc.d/init.d/xinetd reload

启动IMAP服务的步骤跟POP3一样,只不过IMAP的配置文件为/etc/xinetd.d/imap。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126897.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rocketmq 长轮询_消息队列RocketMQ版

    rocketmq 长轮询_消息队列RocketMQ版RocketMQ消费端有两种获取消息的方式,Push方式和Pull方式。但这两种方式都有一定的缺陷,后来采用了一种折中的方法,采用”长轮询“的方式,它既可以拥有Pull的优点,又能达到保证实时性的目的。长轮询的思想:服务端接收到新消息请求后,如果队列里没有新消息,并不急于返回,通过一个循环不断查看状态,每次waitForRunning一段时间(默认是5秒),然后再Check。Broker默认最长阻塞时间为15秒,默认情况下当Broker一直没有新消息,第三次Check的时候,等待时间超过最长阻塞时间,

    2022年10月14日
    5
  • 卷积神经网络CNN算法原理「建议收藏」

    卷积神经网络CNN算法原理「建议收藏」写在前面在上一篇【Deeplearning】卷积神经网络CNN结构中我们简单地介绍了CNN的结构。接下来我们看看这种结构的CNN模型是怎么运行的,包括CNN的前向传播和反向传播算法。1.CNN前向传播算法(1)输入层前向传播到卷积层输入层的前向传播是CNN前向传播算法的第一步。一般输入层对应的都是卷积层,因此我们标题是输入层前向传播到卷积层。我们这里还是以图像识别为例。先考虑…

    2025年8月28日
    7
  • oracle amm和asmm,oracle AMM、ASMM区别以及相关用法

    oracle amm和asmm,oracle AMM、ASMM区别以及相关用法AMM:automaticmemorymanagement自动内存管理手动设置totalmemorysizeforthisinstancemaximummemorysizeforthisinstance数据库自动分配totalsgasizesgacomponentsizesinstancepgasizeindividualpgasizes即让数据库完全管理S…

    2022年6月7日
    45
  • java定时任务实现的几种方式注解(JAVA定时任务)

    摘要:在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,包括做些复杂的业务计算逻辑,在选择定时任务的时候,怎么能够快速实现,并且选择一种更适合自己的方式呢?我这里把定时任务的实现收集整理了一些方法,希望可以帮到刚开始做定时任务的同学,写得不对的地方请指正。一在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,…

    2022年4月14日
    778
  • FFMPEG入门[通俗易懂]

    FFMPEG入门[通俗易懂]本文转自 http://blog.csdn.net/leixiaohua1020/article/details/15811977

    2022年6月26日
    28
  • 堆栈callstack打印

    堆栈callstack打印一、适用java1、Log.d(TAG,Log.getStackTraceString(newThrowable()));//在使用Log.d的场合2、newException(“testprintkstack”).printStackTrace();Note:还有其他方法,可以参考网络

    2025年7月26日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号