1、Linux网络配置sendmail2实验环境:AS4最小化安装 实验目标:架设Sendmail服务器邮件服务器的IP192.168.1.2 主机域名为1,首先安装Sendmail所需软件rootlocalhost # rpm -q sendmail m4sendmail-8.13.1-2m4-1.4.1-16已经默认安装了,还需挂载第4张光盘,安装与sendmail相关的软件rootlocalhost RPMS# rpm -ivh sendmail-*warning: sendmail-cf-8.13.1-2.i386.rpm: V3 DSA signature: NOKEY, key ID
2、db42a60ePreparing. # 100% 1:sendmail-doc # 33% 2:sendmail-cf # 67% 3:sendmail-devel # 100%2修改/etc/mail/local-hosts-name文件。增加本地域和主机的FQDN,记住只是本地主机的FQDN和域名FQDN,不要添加其他域的,否则向外域发送邮件的时候会出现user unknown的错误:rootlocalhost named# cat /etc/mail/local-host-names # local-host-names - include all aliases for your m
3、achine here.3.更改/etc/mail/sendmail.mc文件,修改105行的:DaemonPortsOptions=Port=smtp,Addr=127.0.0.1, Name=MTA 为:DaemonPortsOptions=Port=smtp,Addr=yourip或者0.0.0.0, Name=MTA然后m4 /etc/mail/sendmail.mc /etc/mail/sendmail.cf4.用户管理 认证的配置:修改/etc/mail/sendmail.mc中的字段,取消“TRUST_AUTH_MECH”一行和下一行“define”处前的注释。(于sendmai
4、l.mc文件的第48、49)然后m4 /etc/ mail/sendmail.mc/etc/mail/sendmail.cf。rootlocalhost named# chkconfig -level 35 saslauthd on 开启认证saslauthd 0:off 1:off 2:off 3:on 4:off 5:on 6:off建立用户帐号rootlocalhost named# groupadd mailusersrootlocalhost named# adduser -g mailusers -s /sbin/nologin mikerootlocalhost named# a
5、dduser -g mailusers -s /sbin/nologin johnrootlocalhost named# passwd mikerootlocalhost named# passwd john 密码都是123设置邮件别名和邮件群发修改/etc/aliases文件实现邮件转发和邮件列表: admin: mike 为邮件用户mike设置别名admin testgroup: mike,john 实现群发,发给testgroup的邮件发给mike 和 john以上2个可以分别测试 #newaliases5,访问控制设置更改/etc/mail/accesss文件,增加:rootloca
6、lhost named# cat /etc/mail/access# Check the /usr/share/doc/sendmail/README.cf file for a description# of the format of this file. (search for access_db in that file)# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc# package.# by default we allow relaying from localhost.localhost.l
7、ocaldomain RELAYlocalhost RELAY127.0.0.1 RELAY RELAY完成后makemap r hash /etc/mail/access.db sendmail.cf 实例配置要求:邮件服务器的IP地址为192.168.1.14,主机域名为 邮件服务器将为“”域中的用户提供邮件服务,并启用SMTP用户认证 域名设置:邮件服务器需要进行域名注册 在区域文件中进行A记录和MX记录的设置 IN MX 5 . mail IN A 192.168.1.14 设置local-host-names文件 local-host-names文件用于设置提供邮件服务的域名 在lo
8、cal-host-names文件中增加“”域二,配置sendmail:说明:sendmail 使用下列配置文件: 文件名 功能 /etc/mail/accesssendmail 访问数据库文件 /etc/mail/aliases 邮箱别名 /etc/mail/local-host-names sendmail接收邮件主机列表 /etc/mail/mailer.conf 邮寄配置程序 /etc/mail/mailertable 邮件分发列表 /etc/mail/sendmail.cf sendmail的主配置文件 /etc/mail/virtusertable 虚拟用户和域列表 # vi /et
9、c/mail/local-host-names/添加邮件服务器提供邮件服务的域名开启sendmail服务的网络接口在sendmail.mc文件中设置服务地址# vi sendmail.mcDAEMON_OPTIONS(Port=smtp,Addr=127.0.0.1, Name=MTA)dnl/修改为 DAEMON_OPTIONS(Port=smtp,Addr=0.0.0.0, Name=MTA)dnl设置SMTP的用户认证,sendmail.mc文件中的配置# vi /etc/mail/sendmail.mcdnl TRUST_AUTH_MECH(EXTERNAL DIGEST-MD5 CR
10、AM-MD5 LOGIN PLAIN)dnldnl define(confAUTH_MECHANISMS, EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN)dnl/去除行首的注释标记“dnl”,修改为TRUST_AUTH_MECH(EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN)dnldefine(confAUTH_MECHANISMS, EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN)dnl启动saslauthd服务程序# service saslauthd st
11、art 邮件用户帐号,Sendmail服务器使用Linux系统中的用户帐号作为邮件帐号建立邮件用户帐号# useradd -g mail -s /sbin/nologin xzxj11初始化用户口令# passwd xzxj11设置邮件别名和邮件群发功能邮件别名和邮件群发功能使用aliases机制实现aliases和aliases.db文件,/etc/aliases/etc/aliases.dbaliases文件的记录格式name: addr_1, addr_2, addr_3, . . .设置邮件别名admin: mike设置邮件群发testgroup:xzxj11,jacky修改alias
12、es文件后更新aliases.db文件# newaliases访问控制的设置,access.db数据库可实现基于主机地址的访问控制# cat /etc/mail/accesslocalhost.localdomain RELAYlocalhost RELAY127.0.0.1 RELAY192.168.1 RELAY(加入允许网段)#makemap hash access.db数据库默认开启了对邮件服务器本机用户的邮件投递生成sendmail.cf文件# cd /etc/mail# m4 sendmail.mc sendmail.cf重新启动sendmail服务器,当完成对sendmail服务
13、器配置后,需要重新启动服务程序# service sendmail restart验证服务程序启动# netstat -ntpl | grep 25tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 6835/sendmail: ace三,dovecot 服务器(pop3服务):开启dovecot 的pop3服务修改dovecot.conf文件# vi /etc/dovecot.conf/将以下配置行#protocols = imap imaps/修改为 protocols = imap imaps pop3 pop3s使用脚本启动dovecot服务对dovecot.con
14、f配置文件进行设置后,需要重新启动dovecot服务程序# service dovecot restart设置dovecot服务的启动状态 # chkconfig -level 35 dovecot on验证dovecot服务启动使用netstat命令查看dovecot已经监听110端口# netstat -ntpl | grep 110附注:单一用户设定多个邮件地址使用别名(alias)可以解决这个问题。别名是sendmail最重要的功能之一。它在aliases这个文本文件中定义,aliases文件的位置由sendmail.cf指定,一般位于/etc目录下。比如前面我们建立的mailA用户要
15、拥有2个邮件地址:mailA和mailB,可以这样设置:首先,新增一个账号mailC,然后用Linux的文本编辑器打开/etc/aliases,在里面加上dearpeter: mailCtruepeter: mailC 这两个命令行; 然后在命令窗口运行newaliases命令,以要求Sendmail重新读取/etc/aliases文件。如果正确无误,会出现一段回应消息,表示配置成功。这样就可以使用2个地址给mailC发信,而mailC则只需用其中一个账号就可接收寄给以上2个地址的所有邮件。Rhel4下带sasl认证的Sendmail配置详解:Rpm包: sendmail-cf-8.13.1-
16、2sendmail-8.13.1-2m4-1.4.1-16dovecot-0.99.11-2.EL4.1 (提供imap或pop3)cyrus-sasl-gssapi-2.1.19-5.EL4cyrus-sasl-md5-2.1.19-5.EL4cyrus-sasl-plain-2.1.19-5.EL4cyrus-sasl-2.1.19-5.EL4主要配置文件: /etc/mail/sendmail.cf(但sendmail.cf是一般人不能看懂的,所以我们要用m4(宏配置)对/etc/mail/sendmail.mc修改来生成对sendmail.cf的修改) #m4 /etc/sendmai
17、l.mc /etc/sendmail.cf /etc/mail/access /etc/mail/local-host-names /etc/mail/aliases /etc/mail/relay-domains邮件服务器的运行离不开dns的设置,首先我们要有一个邮件服务器记录在这里我的域是本机既是邮件服务器也是dns服务器,ip为192.168.1.2rootrhel-1 # nslookup set q=mx Server: 192.168.1.2Address: 192.168.1.2#53 mail exchanger = 10 .Ø Exit如果上面的存在,现在开始配
18、置:Sendmail.mc原内容:divert(-1)dnldnl #dnl # This is the sendmail macro config file for m4. If you make changes todnl # /etc/mail/sendmail.mc, you will need to regenerate thednl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package isdnl # installed and then performing adnl #dnl # make
19、 -C /etc/maildnl #include(/usr/share/sendmail-cf/m4/cf.m4)dnlVERSIONID(setup for Red Hat Linux)dnlOSTYPE(linux)dnldnl #dnl # default logging level is 9, you might want to set it higher todnl # debug the configurationdnl #dnl define(confLOG_LEVEL, 9)dnldnl #dnl # Uncomment and edit the following line
20、 if your outgoing mail needs todnl # be sent out through an external mail server:dnl #dnl define(SMART_HOST,smtp.your.provider)dnl #define(confDEF_USER_ID,8:12)dnldnl define(confAUTO_REBUILD)dnldefine(confTO_CONNECT, 1m)dnldefine(confTRY_NULL_MX_LIST,true)dnldefine(confDONT_PROBE_INTERFACES,true)dnl
21、define(PROCMAIL_MAILER_PATH,/usr/bin/procmail)dnldefine(ALIAS_FILE, /etc/aliases)dnldefine(STATUS_FILE, /var/log/mail/statistics)dnldefine(UUCP_MAILER_MAX, 2000000)dnldefine(confUSERDB_SPEC, /etc/mail/userdb.db)dnldefine(confPRIVACY_FLAGS, authwarnings,novrfy,noexpn,restrictqrun)dnldefine(confAUTH_O
22、PTIONS, A)dnldnl #dnl # The following allows relaying if the user authenticates, and disallowsdnl # plaintext authentication (PLAIN/LOGIN) on non-TLS linksdnl #dnl define(confAUTH_OPTIONS, A p)dnldnl # dnl # PLAIN is the preferred plaintext authentication method and used bydnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs dodnl # use LOGIN. Other mechanisms should be used if the conne
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1