欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

如何在Linux下安装Sendmail服务器软件的方法

程序员文章站 2023-12-15 13:10:34
Sendmail现在是最流行的邮件服务器,那我们来看看如何在Linux下安装Sendmail服务器... 11-11-04...

1、从www.sendmail.org下载最新的版本(这个snedmail倒是有必要升级为最新的版本,因为它的升级主要是安全漏洞问题)。这里说明的是用的sendmail-8.12.2.tar.gz
  2、cd /usr/local/src/
  3、把文件下载到:/usr/local/src中
  4、tar zxvf sendmail-8.12.2.tar.gz
  5、cd /usr/local/src/sendmail-8.12.2
  6、chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
  7、chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
  8、cd /usr/local/src/sendmail-8.12.2/sendmail
  9、sh build
  10、cd /usr/local/src/sendmail-8.12.2/cf/cf
  11、建立文件sendmail.mc内容如下,你可根据需要修改相应部分。
  divert(-1)
  dnl this is the macro config file used to generate the /etc/sendmail.cf
  dnl file. if you modify thei file you will have to regenerate the
  dnl /etc/sendmail.cf by running this macro config through the m4
  dnl preprocessor:
  dnl m4 /etc/sendmail.mc > /etc/sendmail.cf
  dnl you will need to have the sendmail-cf pacage installed for this to work.
  include(`/usr/local/src/sendmail-8.12.2/cf')
  define(`confdef_user_id',`8:12')
  ostype(`linux')
  undefine(`uucp_relay')
  undefine(`bitnet_relay')
  define(`confto_connect', `1m')
  define(`conftry_null_mx_list',true)
  define(`confdont_probe_interfaces',true)
  define(`procmail_mailer_path',`/usr/bin/procmail')
  define(`smart_host',compaq.rd.xxx.com)
  <---这条用于(非hub)缺省使用hub发送邮件
  masquerade_as(`rd.xxx.com')
  <-------------------------
  feature(`masquerade_entire_domain')
  <---这三条用于邮件地址伪装
  feature(`masquerade_envelope')
  <-------------------------
  feature(`smrsh',`/usr/sbin/smrsh')
  feature(`mailertable',`hash -o /etc/mail/mailertable')
  feature(`virtusertable',`hash -o /etc/mail/virtusertable')
  feature(redirect)
  feature(always_add_domain)
  feature(use_cw_file)
  feature(local_procmail)
  feature(`access_db')
  feature(`blacklist_recipients')
  feature(`accept_unresolvable_domains')
  mailer(smtp)
  mailer(procmail)
  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 hav 24x7 dns do need this.
  dnl feature(`relay_based_on_mx')
  12、sh build install-cf
  13、groupadd smmsp
  14、useradd smmsp
  15、cd cd /usr/local/src/sendmail-8.12.2/sendmail
  16、sh build install
  17、cd /usr/local/src/sendmail-8.12.2/makemap
  18、sh build clean
  19、sh build all
  20、sh build install
  21、cd /usr/local/src/sendmail-8.12.2/
  22、在本域dns主数据库文件中增加mx纪录:
  rd.xxx.com. in mx 0 compaq
  注意修改相应部分。那个0是有几个邮件集中器的时候用于标记先后顺序的。当有好几个mx的时候,建议顺序写为10、20、30…
  23、在/etc/mail目录下创建access文件,内容类似如下:
  127.0.0.1 relay
  21.9.22 relay
  211.99.221.238 relay
  然后:makemap hash access.db < access
  24、创建文件/etc/mail/local-host-names,其内容为本机的拥有的域名信息。
  rd.xxx.com
  compaq.rd.xxx.com
  25、创建文件/etc/mail/aliases,内容类似:
  mailer-daemon: postmaster
  postmaster: root
  bin: root
  daemon: root
  nobody: root
  运行newaliases创建数据库。
  创建别名文件的意义之一在于当邮件发往域中其他邮件服务器的用户而不是mail hub用户的时候用。
  比如增加一条:
  atan: atan@fbsd
  则导致邮件发往mail hub的时候自动转发到atan@fbsd.rd.xxx.com
  26、启动sendmail: /usr/sbin/sendmail -bd -q30m
  排错:如果有问题导致启动不了,大部分问题和dns配置有关,可以使用nslookup检查dns是否正常。挨个检查/etc/mail中的文件内容也是排错的好办法。另外,修改配置,不建议直接编辑sendmail.cf文件,建议使用m4宏编译工具,因为有些带有安全漏洞或过时的宏在编译的时候会有提示,这样以免造成相关安全问题。

  通过上面文章,我们应该了解了在linux下安装sendmail服务器的方法,希望对你们有帮助!

上一篇:

下一篇: