资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
5、sendmail配置 要sendmail正常运行,还需配置几个文件,首先最重要的就是sendmail.cf 文件了。它在源码目录树下的cf/cf目录下有很多例子可参考。你可以拷贝使用。由于sendmail.cf中的语法很复杂,所以不建议手工修改。我们可以以sendmail.mc文档配合sendmail-cf目录下的宏通过m4预处理器自动生成。m4预处理器用来从一组宏文件中创建sendmail配置文件。宏文件作为输入被读进来。宏被展开,然后写到一个输出文件。sendmail-cf目录一般放在/usr/share目录下。其实sendmail-cf目录的内容和源码目录树下的cf目录的内容是一样的,所以,为了保证sendmail-cf目录的内容与安装版本同步,要把源码目录树下的cf目录的内容拷贝到/usr/share/sendmail-cf目录。 sendmail.mc配置文档内容如下: divert(-1) include(/usr/share/sendmail-cf/m4/cf.m4) VERSIONID(linux setup for Red Hat Linux)dnl OSTYPE(linux) dnl Uncomment and edit the following line if your mail needs to be sent out dnl through an external mail server: dnl define(SMART_HOST,smtp.your.provider) define(confDEF_USER_ID,8:12)dnl undefine(UUCP_RELAY)dnl undefine(BITNET_RELAY)dnl dnl define(confAUTO_REBUILD)dnl define(confTO_CONNECT, 1m)dnl define(confTRY_NULL_MX_LIST,true)dnl define(confDONT_PROBE_INTERFACES,true)dnl define(PROCMAIL_MAILER_PATH,/usr/bin/procmail)dnl define(ALIAS_FILE, /etc/mail/aliases)dnl define(STATUS_FILE, /etc/mail/statistics)dnl define(UUCP_MAILER_MAX, 2000000)dnl define(confUSERDB_SPEC, /etc/mail/userdb.db)dnl define(confPRIVACY_FLAGS, authwarnings,novrfy,noexpn,restrictqrun)dnl define(confAUTH_OPTIONS, A)dnl TRUST_AUTH_MECH(EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN)dnl define(confAUTH_MECHANISMS, EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN)dnl dnl define(confCACERT_PATH,/usr/share/ssl/certs) dnl define(confCACERT,/usr/share/ssl/certs/ca-bundle.crt) dnl define(confSERVER_CERT,/usr/share/ssl/certs/sendmail.pem) dnl define(confSERVER_KEY,/usr/share/ssl/certs/sendmail.pem) dnl define(confTO_QUEUEWARN, 4h)dnl dnl define(confTO_QUEUERETURN, 5d)dnl dnl define(confQUEUE_LA, 12)dnl dnl define(confREFUSE_LA, 18)dnl define(confTO_IDENT, 0)dnl dnl FEATURE(delay_checks)dnl FEATURE(no_default_msa,dnl)dnl FEATURE(smrsh,/usr/sbin/smrsh)dnl FEATURE(mailertable,hash -o /etc/mail/mailertable.db)dnl FEATURE(virtusertable,hash -o /etc/mail/virtusertable.db)dnl FEATURE(redirect)dnl FEATURE(always_add_domain)dnl FEATURE(use_cw_file)dnl FEATURE(use_ct_file)dnl dnl The -t option will retry delivery if e.g. the user runs over his quota. FEATURE(local_procmail,procmail -t -Y -a $h -d $u)dnl FEATURE(access_db,hash -T -o /etc/mail/access.db)dnl FEATURE(blacklist_recipients)dnl EXPOSED_USER(root)dnl dnl This changes sendmail to only listen on the loopback device 127.0.0.1 dnl and not on any other network devices. Comment this out if you want dnl to accept email over the network. DAEMON_OPTIONS(Port=smtp,Addr=0.0.0.0, Name=MTA) dnl NOTE: binding both IPv4 and IPv6 daemon to the same port requires dnl a kernel patch dnl DAEMON_OPTIONS(port=smtp,Addr=:1, Name=MTA-v6, Family=inet6) dnl We strongly recommend to comment this one out if you want to protect dnl yourself from spam. However, the laptop and users on computers that do dnl not have 24x7 DNS do need this. FEATURE(accept_unresolvable_domains)dnl dnl FEATURE(relay_based_on_MX)dnl MAILER(smtp)dnl MAILER(procmail)dnl 记得要使以下两个条语句有效,它的意思是如果access.db访问控制没有设置,则启用以下验证方式进行smtp验证。 TRUST_AUTH_MECH(EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN)dnl define(confAUTH_MECHANISMS, EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN)dnl sendmail宏定义说明 divert(n) 为m4定义一个缓冲动作,当n=-1时缓冲被删除,n=0时开始一个新缓冲OSTYPE 定义宏所使用的操作系统,该宏允许m4程序增加同相关操作系统相关的文件 Domain 定义MTA将使用哪些域来传输邮件 Feature 定义配置文件中使用的一个特定的功能集 Define 定义配置文件中的一个特定的选项值 MASQUERADE_AS 定义sendmail来应答邮件的其它主机名 MAILER 定义sendmail使用的邮件传输方法 dnl 注释 完成sendmail.mc文档的编写后就可以用m4程序生成正式的sendmail.cf配置文档。语法如下: # m4 sendmail.mc sendmail.cf 也可以用源码目录树下的cf/cf/Build命令生成。前提是你要在该目录下有一个sendmail.mc文档。语法如下: # ./Build sendmail.cf ok,接着就可以把sendmail.cf and submit.cf文档安装到/etc/mail目录中的,语法如下: # ./Build install-cf 其实也可以自已用cp命令拷贝的啦。记得把sendmail.mc文档也拷贝一份到/etc/mail目录,以便以后修改配置时可重新生成sendmail.cf文档。 ok,接着到/etc/mail目录下配置一些文档。 # cd /etc/mail # echo examply.com local-host-names 接收邮件的主机名 # echo localhost RELAY access 用来拒绝或允许来自某个域的邮件,本例允许本地转发。 # makemap hash access access 生成access.db数据库 # touch domaintable 用来把旧域名映射互新域名 # makemap hash domaintable domaintable # touch mailertable 来覆盖向指定域的路由 # makemap hash mailertable mailertable # touch trusted-users # touch virtusertable 用来把用户和域名映射到其它地址 # makemap hash virtusertable virtusertable # chown root:wheel /var/spool/mqueue/ # chmod 700 /var/spool/mqueue # touch aliases 别名数据库,文本形式。可参照源码目录树下 sendmail/aliases文件。 # newaliases 从文本文件中创建一个新的别名数据库文件。 # sendmail -v -bi 调试启动。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号