设为首页 收藏本站
查看: 949|回复: 0

[经验分享] 1_ SMTP服务器的构建 Postfix

[复制链接]

尚未签到

发表于 2015-11-24 12:17:39 | 显示全部楼层 |阅读模式
  1、 在线安装Postfix
yum -y install postfix

  2、编辑Postfix的配置文件
  vi /etc/postfix/main.cf
#myhostname = host.domain.tld  ← 找到此行,将等号后面的部分改写为主机名
 ↓
myhostname = sample.centospub.com  ← 变为此状态,设置系统的主机名

#mydomain = domain.tld  ← 找到此行,将等号后面的部分改写为域名
 ↓
mydomain = centospub.com  ← 变为此状态,设置域名(我们将让此处设置将成为E-mail地址“@”后面的部分)


#myorigin = $mydomain  ← 找到此行,将行首的#去掉
 ↓
myorigin = $mydomain  ← 变为此状态,将发信地址“@”后面的部分设置为域名(非系统主机名)


inet_interfaces = localhost  ← 找到此行,将“localhost”改为“all”
 ↓
inet_interfaces = all  ← 变为此状态,接受来自所有网络的请求


mydestination = $myhostname, localhost.$mydomain, localhost  ← 找到此行,在行为添加“$mydomain”
 ↓
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain  ← 变为此状态,指定发给本地邮件的域名


#relay_domains = $mydestination  ← 找到此行,将行首的#去掉
 ↓
relay_domains = $mydestination  ← 变为此状态,定义允许转发的域名


#mynetworks = 168.100.189.0/28, 127.0.0.0/8  ← 找到此行,依照自己的内网情况修改
 ↓
mynetworks = 168.100.189.0/28, 127.0.0.0/8  ← 变为此状态,指定内网和本地的IP地址范围


#home_mailbox = Maildir/  ← 找到这一行,去掉行首的#
 ↓
home_mailbox = Maildir/  ← 变为此状态,指定用户邮箱目录
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)  ← 找到这一行,接此行添加如下行:
smtpd_banner = $myhostname ESMTP unknow  ← 添加这一行,不显示SMTP服务器的相关信息


在配置文件的文尾,添加如下行:


smtpd_sasl_auth_enable = yes  ← 服务器使用SMTP认证
smtpd_sasl_local_domain = $myhostname  ← 指定SMTP认证的本地域名(主机名)
smtpd_sasl_security_options = noanonymous   ← 不允许匿名的方式认证
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
message_size_limit = 15728640  ← 规定邮件最大尺寸为15MB
  

  

  3、配置SMTP认证的相关选项

  为了提高安全性,我们不将系统用户的密码作为相应用户SMTP认证的密码,而将在后面为用户建立SMTP认证专用的密码。
如果是64位系统的话,要修改lib64
  编辑SMTP认证的配置文件

  vi /usr/lib64/sasl2/smtpd.conf
vi /usr/lib64/sasl/smtpd.conf


  
vi /usr/lib/sasl2/smtpd.conf
pwcheck_method: saslauthd  ← 找到此行,将“saslauthd”改为“auxprop”
 ↓
pwcheck_method: auxprop  ← 不使用系统用户密码作为用户的SMTP认证密码


[iyunv@sample ~]# vi /etc/sysconfig/saslauthd
MECH=shadow  ← 找到这一行,在前面加#
 ↓
#MECH=shadow  ← 不使用shadow机制
FLAGS=  ← 找到此行,在等号后面添加“sasldb”
 ↓
FLAGS=sasldb   ← 定义认证方式为sasldb2

  [3] 建立用户的邮箱目录
首先建立用户模板下的邮箱目录,以便于建立新用户时,相应用户的邮箱目录自动被建立。
mkdir /etc/skel/Maildir  ← 在用户模板下建立用户邮箱目录
chmod 700 /etc/skel/Maildir  ← 设置用户邮箱目录属性为700
然后再为已经存在的用户建立相应邮箱目录。
mkdir /home/centospub/Maildir  ← 为用户(这里以centospub用户为例)建立邮箱目录
chmod 700 /home/centospub/Maildir  ← 设置该用户邮箱目录属性为700
chown centospub. /home/centospub/Maildir  ← 设置该用户邮箱目录为该用户所有


[4] 为用户设置SMTP认证密码
saslpasswd2 -u sample.centospub.com -c centospub  ← 为centospub用户设置SMTP认证密码
Password:  ← 在这里输入密码(不会显示)
Again (for verification):  ← 再次输入密码


[5] 改变SALS的属性及归属
chgrp postfix /etc/sasldb2  ← 将数据库归属改为postfix,
chmod 640 /etc/sasldb2  ← 将数据库属性改为640
[6] 关闭sendmail服务及设置默认MTA
  因为在用Postfix作为SMTP服务器的前提下,我们不准备再用sendmail,所以将sendmail服务关掉,以确保安全及节省系统资源。
/etc/rc.d/init.d/sendmail stop  ← 关闭sendmail服务
如果没有需要的话,可以直接卸载掉:yum remove sendmail
Shutting down sendmail:         [ OK ]
Shutting down sm-client:         [ OK ]


chkconfig sendmail off  ← 关闭sendmail自启动
chkconfig --list|grep sendmail  ← 确认sendmail自启动已被关闭(都为off就OK)
sendmail 0:off 1:off 2:off 3:off 4:off 5:off 6:off


  然后再将默认的MTA设置为Postfix。


alternatives --config mta  ← 设置默认MTA
There are 2 programs which provide 'mta'.


Selection Command
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail  ← 当前状态:sendmail为默认MTA
 2 /usr/sbin/sendmail.postfix


Enter to keep the current selection[+], or type selection number: 2  ← 在这里输入2,使Postfix成为默认MTA


启动相应服务



  最后,启动SMTP认证及Postfix服务,并设置相应服务为自启动。


chkconfig saslauthd on  ← 将SMTP-Auth设置为自启动


chkconfig --list saslauthd  ← 确认SMTP-Auth服务状态
saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 确认2~5为on的状态就OK


/etc/rc.d/init.d/saslauthd start  ← 启动SMTP-Auth


Starting saslauthd:           [ OK ]


chkconfig postfix on  ← 将Postfix设置为自启动


chkconfig --list postfix  ← 确认Postfix服务状态
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 确认2~5为on的状态就OK


/etc/rc.d/init.d/postfix start  ← 启动Postfix


Starting postfix:            [ OK ]
至此,就完成了SMTP服务器方面的配置,但目前只具从备客户端通过服务器发送邮件的功能。做为完整的邮件服务器,还需具备从客户端通过POP/IMAP协议接受邮件到本地的功能。
  

  

  测试发送:
  telnet 192.168.1.10 25
Trying 192.168.33.10...
Connected to yunwei2.uid5a.cn (192.168.33.10).
Escape character is '^]'.
220 yunwei2.uid5a.cn ESMTP unknow
mail from:xiaoqi@uid2.com
250 2.1.0 Ok
rcpt to:142132456@qq.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
subject:ajdslflkasdf
asadlfkadsklfads
dsaflkjadsflkadsfad
sadssdlfkasd
.
250 2.0.0 Ok: queued as 56B29C2823E

  

  

  

  

  

  

  
POP/IMAP服务器的构建请参见下一节 2_POP / IMAP 服务器的构建( Dovecot )

  参考:http://www.centospub.com/make/postfix_smtp.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-143059-1-1.html 上篇帖子: Postfix + Openssl + Dovecot + Squirrelmail 搭建安全WEB邮箱服务器 下篇帖子: [DS][3-19]Evaluate a postfix expression
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表