服务器今日报价
·20万条报价,5万多款产品!
·注册淘宝会员购买便宜服务器

·北京 ·上海 ·广州
·杭州 ·深圳 ·合肥
·天津 ·西安 ·宁波
·南京 ·重庆 ·南宁

IT热点
  • 电脑硬件
  • 手机
  • MP4
  • 品牌机
  • 办公产品
  • 投影机
  • 服务器
  • 奥林巴斯
  • 尼康
  • 佳能
  • 阿尔卡特
  • 索尼
  • 微星
  • 七彩虹
  • 笔记本
  • 数码相机
  • 数码摄像机
  • 惠普
  • 戴尔
  • 联想
  • 诺基亚
  • 摩托罗拉
  • 索尼爱立信
  • LG
  • 西门子
  • 飞利浦
  • 华硕
  • 硕泰克
  • 首页 >> 服务器 >> 服务器教程指导
    [指导]SENDMAIL邮件服务器-设置篇 [服务器教程指导]
    2006-2-27 16:39:00 文/

      4.1 设置Sendmail.cf
      产生出来的YYY.cf一般得要改个地方才能正常的收信。请寻找"Cw",原来产生的.cf 档,Cw应是:Cwlocalhost
      请在localhost 之後加上你那一台机器所有可能用来当收信地址的host name 。
      例如我有一台机器叫:ftp.games.net.cn,而且也叫:gopher.games.net.cn,
      而我希望这一台机器这两个名字都能收信,那我要这么作:
      Cwlocalhost ftp.games.net.cn gopher.games.net.cn

      顺便说一下,Cw之後只能写入本机器的名字,千万不能写入其他机器的名字,否则,甚麽地方都能寄,那被写的就
      一定不能寄。

      上面其实是简略的说法,如果你对DNS 也熟悉的话,可参考这节来作判断,判断是否须要在Cw之後写入东东。否则
      请直接跳过这一小节,闭上眼睛把本机器所用的所有名字都写上就是了:)

      1.在一台机器上,如果有多个名字(hostname),而是用CNAME 建立的,如:
      $ORIGIN games.net.cn
      ftp IN A 140.119.1.2
      gopher IN CNAME ftp

      那麽可以不必在Cw上标明。系统会透过DNS 找到其 Canonical name。

      2.如果一台机器有多个名字,可是,每个名字是用A record 建立的。如:
      $ORIGIN games.net.cn.
      ftp IN A 192.168.25.2
      gopher IN A 192.168.25.2
      这种情况【一定】要记得在Cw後写上你所要收信的名字。如果这个忘了写,会有怎样的问题呢?
      忘了将会有从外面机器寄信来,没有写上的机器名将却收不到信,机器会抱怨:
      "Local configuration error" 。

      如:我的sendmail.cf中的Cw这行是如下: Cw games.net.cn
      那我将无法使用这个地址:
      username@games.net.cn
      而只能用
      username@ftp.games.net.cn 否则将出现上述错误。

      如果发现了错误,那再加上去也就可以了。

      3.如果一台机器有多interface ,各interface有其本身的名字,且要收信。
      这个情况也要在Cw之後写明所有要收信的hostname。


      ok!一个标准的sendmail.cf文件就设置完了!

      4.2 设置access

      打开/etc/mail/access,你会看到 (注意一些系统的access文件不再/etc/mail下,如找不到请用whereis查找或检查是否安装正常)

      # Check the /usr/doc/sendmail-8.9.3/README.cf file for a description
      # of the format of this file. (search for access_db in that file)
      # The /usr/doc/sendmail-8.9.3/README.cf is part of the sendmail-doc
      # package.
      #
      # by default we allow relaying from localhost...
      localhost.localdomain RELAY
      localhost RELAY

      如果您的IP地址是192.168.25.11的话,这样请在最后一行加上192.168.25.11 RELAY
      其文件的最后三行应是:

      localhost.localdomain RELAY
      localhost RELAY
      192.168.25.11 RELAY

      加上这句话您就可以用sendmail发送接收mail了!但是如果您想让别人也可以使用sendmail的话,
      他的IP是202.168.25.22,这样就在在最后一行加入202.168.25.22 RELAY
      其文件的最后四行应是:

      localhost.localdomain RELAY
      localhost RELAY
      192.168.25.11 RELAY
      192.168.25.22 RELAY

      我想,您现在一定有个疑问是,如果我想设置50个人用sendmail是不是需要加50个IP啊!?
      嘿嘿,不用啦,是这样,sendmail考虑到多用户的时候,它准许你添入整个C类地址,(B类好像也可以,我没try过!)
      其格式如下:

      localhost.localdomain RELAY
      localhost RELAY
      192.168.25 RELAY

      这样,您就是把192.168.52这整个C都加入的sendmail中,这个C类地址的用户,如果在你的系统里有账号的话,
      就可以使用sendmail收发信件了!

      4.3 设置pop3

      如果您需要pop3来接收信件,您需要打开pop3端口,

      vi /etc/inetd.conf 查找到

      # pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d

      把#号删掉。

      vi /etc/services 查找到

      #pop-3 110/tcp # POP version 3


      把#号删掉。

      这样,在restart inetd后,pop3 110端口就可以接信了!如果还是不行,请检查是否安装pop3端口!

      4.4 如何restart sendmail;inetd以及注意事项

      有一点要提醒大家的,要用"kill -9 [pid-of-sendmail]" ,从新启动sendmail
      如果用 kill -HUP 是不会发生作用的! (这是颇多人常遇到的问题,切记!)

      在redhat6中用/etc/rc.d/init.d/sendmail restart即可!

      inetd是
      /etc/rc.d/init.d/inetd restart

      5.1 sendmail的别名和forward


       (1) 关于直接用IP地址发信

      mail user@[166.111.IP.Address]
      只要用[]将IP地址括起来就行了

      (2) 关于alias

      sendmail在/etc下有两个文件 aliases和aliases.db, 后者是前者用newaliases
      生成的别名数据库. 你可以手工编辑/etc/aliases, 然后运行newaliases更新数据
      库(其实newaliases是个到sendmail的 symlink)

      eg: nickname : user@hotmail.com
      alias-name: real-user-account

      则以后mail nickname就可以将信寄到user@hotmail.com处
      而别人寄给alias-name@your.domain.name的信就会转给真正的用户real-user-account

      (3) 关于forward

      在你的$HOME目录下面编辑一个.forward文件, 里面写上你要forward的目的e-mail
      地址或本机的用户名, 就可以自动将信 forward到相应地址

      eg: .forward: user@hotmail.com
      或 other-user-account
      则给此人的e-mail会forward到hotmail或other-user-account处

      (4) 关于vacation

      去找一个vacation包(如RedHat的contrib中有vacation的rpm), 装上后就一个
      /usr/bin/vacation程序和一个man.

      先运行vacation, 它会让你编辑$HOME/.vacation.msg文件, 就是要发回给对方
      告诉他你现在不看信的东西啦. 然后编辑$HOME/.forward文件, 写这样一句
      \username, "|/usr/bin/vacation username", username 要换回你自己的了
      然后运行vacation -I建立$HOME/.vacation.db就好了 (看看man更详细)

      (5) 关于sendmail的一些文件

      /var/log/maillog sendmail的log, 分析错误有用
      /var/spool/mail/$USER 进来的信, 每个用户一个文件
      /var/spool/mqueue mail queue, 可以用mailq看队列中待发的信
      (mailq也是 sendmail的symlink了)
      dfxxxxxx 这是信的内容
      qfxxxxxx 这是信的subject和别的信息 (反正每信一个号了, 配对的)

      /etc/sendmail.cf sendmail的配置文件, 改动它可要小心
      /etc/sendmail.cw 假如你的机器有好多alias的话就把名字写在
      这个文件中, 这样写哪个都能收到信

      5.2 限制邮件的大小

      Modify /etc/sendmail.cf:

      Mlocal, P=/bin/mail, F=lsDFMrmn, S=10, R=20/40,
      Maxsize=1000000,
      A=mail -d $u
      Mprog, P=/usr/local/sendmail/smrsh, F=lsDFMeu, S=10, R=20/40, D=$z:/,
      Maxsize=1000000,
      A=sh -c $u

      This limits incoming mail processed by by smrsh and /bin/mail to 1 million
      bytes.

      You can do the same with the Mstmp, Mesmtp, and Mrelay statements to limit
      the size of outgoing mail as well.
    ·IT产品报价大全
    更多相关: 服务器 手机
    在百度中更多内容: 服务器 手机



    ·诺基亚手机常用技巧完全手册
    ·摄影精品:中国最美的十大瀑布
    ·05年台湾电子营收五哥排名落定
    ·个人网站的五个发展阶段!
    ·老鸟谈数码相机,你会选择谁?
    ·办公族防衰老锦囊 懒人清理术
    ·日出日落拍摄技巧之三好法则
    ·真实拍摄假尼姑的变身术(图)
    ·女人故事:一个肯背你上楼的男人
    ·成都第一美女 回头率1000%辣妹
    ·钟丽缇大扮妖妇 FIFA小姐写真
    ·女人最消魂部位 让你放弃抵抗

    打印此页 投稿与建议 返回顶部

    相关文章