基于postfix做一个简单的邮件服务器,你学会了吗?

邮件服务器(Mail Server)是电子邮件系统的核心,它包括邮件发送服务器(SMTP服务器)和邮件接收服务器(POP3)。邮件服务器的功能是发送和接收邮件,同时还向发送人报告邮件的发送情况。

SMTP:Simple Mail Tansfer Protocol 简单邮件传输协议,它使用传输层TCP协议的25端口;

POP3:Post Office Protocol 邮局协议,它使用传输层TCP协议的110端口。

一、首先做DNS服务器

1、下载yum源

clip_image002

2、安装bind包

clip_image004

3、编辑配置文件内容vim /etc/named.conf 内容修改如下:

clip_image006

4、vim /etc/named.rfc1912.zones 添加内容如下

clip_image008

5、编辑完配置文件后检查是否有语法错误

clip_image010

6、cd /var/named

vim wxx.com.zone 编辑配置文件内容如下

clip_image012

7、检查是否有语法错误并关闭selinux

clip_image014

vim /etc/sysconfig/selinux (vim /etc/sysconfig/selinux是vim /etc/selinux/config的链接,这两个路径将来在很多地方都能看到)

clip_image016

8、修改权限

clip_image018

clip_image020

9、查看53号端口

clip_image022

测试一下

clip_image024

10、vim /etc/resolv.conf 编辑配置文件内容如下

clip_image026

11、编辑配置文件vim /etc/sysconfig/network 改自己的主机名

clip_image028

hostname mail.wxx.com 与主机名保持一致

named已完成,下一步安装postfix

二、安装postfix

1、安装postfix前请确保我们的开发库都已安装

clip_image030

2、安装mysql-server和mysql-devel

clip_image032

3、启动mysql

clip_image034

clip_image036

chkconfig mysqld on 开启mysql

4、测试mysql

clip_image038

5、下载安装mysql

clip_image040

6、创建postfix用户

groupadd -g 2525 postfix

useradd -g postfix -u 2525 -s /sbin/nologin -M postfix

groupadd -g 2526 postdrop

useradd -g postdrop -u 2526 -s /sbin/nologin -M postdrop

7、解压postfix文件并设定系统用户的时间

clip_image042

crontab -e 编辑内容如下

clip_image044

8、make makefiles

clip_image046

make

make install

9、vim /etc/init.d/postfix 编辑配置文件内容脚本如下:  

  
  
  
  
  1. #!/bin/bash  
  2. #  
  3. # postfix Postfix Mail Transfer Agent  
  4. #  
  5. # chkconfig: 2345 80 30  
  6. # description: Postfix is a Mail Transport Agent, which is the program \  
  7. # that moves mail from one machine to another.  
  8. # processname: master  
  9. # pidfile: /var/spool/postfix/pid/master.pid  
  10. # config: /etc/postfix/main.cf  
  11. # config: /etc/postfix/master.cf  
  12. # Source function library.  
  13. . /etc/rc.d/init.d/functions  
  14. # Source networking configuration.  
  15. . /etc/sysconfig/network  
  16. Check that networking is up.  
  17. [ $NETWORKING = "no" ] && exit 3  
  18. [ -x /usr/sbin/postfix ] || exit 4  
  19. [ -d /etc/postfix ] || exit 5  
  20. [ -d /var/spool/postfix ] || exit 6  
  21. RETVAL=0  
  22. prog="postfix" 
  23. start() {  
  24. # Start daemons.  
  25. echo -n $"Starting postfix: " 
  26. /usr/bin/newaliases >/dev/null 2>&1  
  27. /usr/sbin/postfix start 2>/dev/null 1>&2 && success || failure $"$prog start" 
  28. RETVAL=$?  
  29. [ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix  
  30. echo  
  31. return $RETVAL  
  32. }  
  33. stop() {  
  34. # Stop daemons.  
  35. echo -n $"Shutting down postfix: " 
  36. /usr/sbin/postfix stop 2>/dev/null 1>&2 && success || failure $"$prog stop" 
  37. RETVAL=$?  
  38. [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix  
  39. echo  
  40. return $RETVAL  
  41. }  
  42. reload() {  
  43. echo -n $"Reloading postfix: " 
  44. /usr/sbin/postfix reload 2>/dev/null 1>&2 && success || failure $"$prog reload" 
  45. RETVAL=$?  
  46. echo  
  47. return $RETVAL  
  48. }  
  49. abort() {  
  50. /usr/sbin/postfix abort 2>/dev/null 1>&2 && success || failure $"$prog abort" 
  51. return $?  
  52. }  
  53. flush() {  
  54. /usr/sbin/postfix flush 2>/dev/null 1>&2 && success || failure $"$prog flush" 
  55. return $?  
  56. }  
  57. check() {  
  58. /usr/sbin/postfix check 2>/dev/null 1>&2 && success || failure $"$prog check" 
  59. return $?  
  60. }  
  61. restart() {  
  62. stop  
  63. start  
  64. }  
  65. # See how we were called.  
  66. case "$1" in 
  67. start)  
  68. start  
  69. ;;  
  70. stop)  
  71. stop  
  72. ;;  
  73. restart)  
  74. stop  
  75. start  
  76. ;;  
  77. reload)  
  78. reload  
  79. ;;  
  80. abort)  
  81. abort  
  82. ;;  
  83. flush)  
  84. flush  
  85. ;;  
  86. check)  
  87. check 
  88. ;;  
  89. status)  
  90. status master  
  91. ;;  
  92. condrestart)  
  93. [ -f /var/lock/subsys/postfix ] && restart || :  
  94. ;;  
  95. *)  
  96. echo $"Usage: $0 {start|stop|restart|reload|abort|flush|check|status|condrestart}" 
  97. exit 1  
  98. esac  
  99. exit $?  
  100. END 

添加执行权限

clip_image048

10、cd /etc/postfix/

编辑配置文件vim main.cf

clip_image050

clip_image052

clip_image054

clip_image056

11、查看我们新配的项

clip_image058

12、查看日志信息

clip_image060

发现sendmail忘记关闭不要着急,我们有应对方案

service sendmail stop 先停止sendmail

chkconfig sendmail off 关闭sendmail

clip_image062

13、查看25号端口新建用户后并测试

clip_image064

useradd hadoop 新建用户hadoop

useradd openstak 新建用户openstack

echo "hadoop" | passwd --stdin hadoop 设置密码同用户名

ehho "redhat" | passwd --stdin openstack 设置密码同用户名

clip_image066

14、查看日志

clip_image068

三、测试使用windows远程发送邮件

1、配置OE尝试发送邮件

clip_image070

clip_image072

clip_image074

clip_image076

clip_image078

clip_image080

2、登录hadoop用户给openstack发送一封邮件

clip_image082

3、由于我们现在还没有收邮件的服务器,所以就在本机上查看内容邮件内容

clip_image084

这样我们就实现了邮件的收发功能。

你可能感兴趣的:(基于postfix做一个简单的邮件服务器,你学会了吗?)