Linux环境用Sendmail架设Mail服务器

有服务器方面的问题无法解决?点击这里寻求帮助。

文章目录
[隐藏]

人们在互联网上最常使用的就是电子邮件了,很多企业用户也经常使用免费的电子邮件系统。今天我就给大家介绍一种在Red Hat Linux 9.0环境下运行的邮件服务器软件Sendmail.Sendmail作为一种免费的邮件服务器软件,已被广泛的应用于各种服务器中,它在稳定性、可移植性、及确保没有bug等方面具有一定的特色,且可以在网络中搜索到大量的使用资料。
  

一、安装Sendmail

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

  1.  [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命令控制邮件服务器的运行:
  

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

  -b:设定Sendmail服务运行于后台。
  -d:指定Sendmail以Daemon(守护进程)方式运行。
  -q:设定当Sendmail无法成功发送邮件时,就将邮件保存在队列里,并指定保存时间。上面的12h表示保留12小时。
  此外,要检测Sendmail服务器是否正常运行,可以使用命令行:

  1. [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

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

  第二步:再用

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

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

四、建立电子邮件新帐号

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

  1. [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)服务器安装。
  第一步:用以下命令行检查系统是否安装:
  

  1. [root@ahpeng root]# rpm -qa imap

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

  1.   [root@ahpeng root]#cd /mnt/cdrom/RedHat/RPMS
  2.   [root@ahpeng root]#rpm -ivh imap-2001a-18.i386.rpm

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

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

  启动IMAP服务的步骤跟POP3一样,只不过IMAP的配置文件为/etc/xinetd.d/imap.
转自:http://linux.chinaitlab.com/server/731736.html

转载请保留原文链接:Linux运维日志 » Linux环境用Sendmail架设Mail服务器

打赏

如果此文对你有所帮助,请随意打赏鼓励作者^_^

相关推荐

    暂无内容!

评论 20

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. luguoHello, 请问朱老师有没有centos配置文件服务器、打印服务器、目录服务的教程和脚本? :razz:回复
    • 朱 茂海搜索一下谷歌就有。回复
      • luguo比较信任朱老师的,哈哈回复
  2. 鱼龙帅请问直接用linux中mail能直接发送邮件不?需要配置什么吗?回复
    • 朱 茂海可以的,使用mail命令就行,如echo "邮件内容" | mail -s "主题" 邮件地址回复
  3. 七欲鬼王怎么在vps下安装? 网络下载怎么安装?回复
    • 朱 茂海centos系统的话,yum install sendmail,ubuntu系统apt-get install sendmail回复
  4. scott您好,能问您一个问题吗?centos系统的发邮件功能。如果我外网开的话,发邮件的功能是可以的。我想问一下,这个能否在内网进行发邮件,就是公司设置的局域网。如果可以需要配置什么东西?在外网可以成功发送是不是说明配置方面没有问题。所以在内网是不需要再进行相关邮件的设置的?(这个主要是RT上的应运)。谢谢朱老师阿,着急阿,对这个不懂啊。回复
    • 朱 茂海这个简单啊,只需要把域名解析到内网ip就可以了回复
      • scott@朱 茂海 朱老师,我不是学习这个的,刚才在百度了一下,还是有点模糊,能给我稍微详细地说一下嘛?我这个比较着急啊,谢谢回复
        • 朱 茂海哦,我理解错了,我还以为你是在内网使用,不需要发送邮件到外网。 其实什么都不用设置的。你现在出现了什么问题吗回复
          • scott@朱 茂海 是这样的,在rt平台上有自动发邮件提醒的功能。我们公司下面有一个子公司,域名是不相同的,但是我们相互发邮件功能是正常的,我把默认发邮件的信箱设为子公司的一个邮箱,然后测试给我们发邮件,刚才说的那个平台,也开了一个外网端口,通过外网也是可以访问的。现在我把那个服务器外网开了,邮件就可以发送了。可是如果不开外网邮件就是发送不成功。这个是不是说明这个平台发邮件功能只能在外网进行发送,而内网就不行的呢?还是说是其他说明问题?本来想测试域名相同发邮件功能,可是别人说什么我们公司的邮箱不能当做默认发邮件的邮箱,所以也不好测试。我实在不懂,请指教回复
            • 朱 茂海1、不太了解你的那个什么平台 2、不开外网邮件发送不成功,因为你那域名是解析到外网ip的,不开外网怎么能访问呢 3、那平台开了一个外网端口,外网可以访问。但内网是否可以访问外网呢,否则应该只能接收,而不能发送了。 4、不能当做默认发邮件的邮箱,这个不太明白。回复
  5. baojieearth您好,我想问下为什么我在centos上装了sendmail,能发邮件了,但为什么输入mail命令,提示找不到啊?回复
    • 朱 茂海需要安装,ubuntu:apt-get install mailutils,centos:yum -y install mailx回复
  6. yiiycc你好,请问我安装sendmail, 用yum install sendmail 提示 No package sendmail available. 我的系统是centos 5.10 ,请问如何解决。回复
    • 朱 茂海不知道是不是换了包名,你yum search sendmail看看回复
  7. 懵逼中老师,请问为什么邮件发不出去,MAIL函数正常,百度的各种指令什么的显示command not found 懵逼了回复
    • 懵逼中Feb 26 05:03:58 ttlzj sendmail[3661]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA-v4: cannot bind: Address already in use Feb 26 05:03:58 ttlzj sendmail[3661]: daemon MTA-v4: problem creating SMTP socket Feb 26 05:03:58 ttlzj sendmail[3661]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA-v4: server SMTP socket wedged: exiting回复