网站运营
位置:首页>> 网站运营>> 用Linux作邮件服务器(2)

用Linux作邮件服务器(2)

 来源:中国站长站 发布时间:2008-07-28 17:30:00 

标签:


如果somedomain.gov的SMTP客户程序连接到。otherdomain.com邮件发送器来投递zeng的副本,当它准备列出收件人(信封地址)时,它该怎么处理呢?如果像上面To:行(邮件头地址)那样列出两个收件人,li将收到信件的两个副本,因为otherdomain.com的邮件发送器将向somedomain.gov转发一个副本。解决这一问题的方法是:somedomain.gov的SMTP客户程序把信件放在一个信封里,在此信封只包含一个主机上的收件人姓名,虽然所有收件人的名单仍然在信件的头部,但他们在信封之内,因此位于somedomain.gov和otherdomain.com处的SMTP服务程序也就看不到他们。在本例中,寄往otherdomain.com的信封将只列出zeng,寄往somedomain.gov的信封将只列出li。 

别名是说明邮件头和信封地址不同的另一个例子。假定要把邮件发送到别名为friends的人,friends包括的人名是Xie、zhang、li和qiu。在信中,用户写的是To:friends,然而。sendmail将扩展这一别名并构造一个包含所有收件人的信封。根据这些名字是否是别名,是否有可能在其他主机上,最初的消息将被装进四个不同的信封并投递到四个不同的主机。在每个信封上将只包含一个收件人的姓名,但在信头中包含的却是同一个别名friends。 

sendmail允许在命令行中指定收件人,假定有个名为letter的文件,其内容如下: 

To:null recipient〈 〉 

Subject:To show the differebce between in header and envelope addresses 

This is just a test for E-mail. 

利用下面的命令发送这一信件: 

$sendmail yourlogin〈letter 

即使用户的注册名没有在信件的头部,用户(yourlogin)也将会收到这一信件。因为用户的地址在信封上。除非以别的方式(例如利用-t标志)说明,否则sendmail将根据命令行上指定的收件人构造信封地址,而且邮件头地址和信封地址并不一定要相同。

2.2  sendmail的安装与配置

首先,必须获取sendmail源代码并进行编译。接着,必须选择同用户的站点需求相接近的sendmail.cf文件并对它进行必要的修改。然后,测试sendmail和它的配置文件。最后,必须安装sendmail、sendmail.cf以及其他辅助文件。 

上面所述的是基本步骤。但根据sendmail安装位置的不同,可能还需要修改系统登录脚本(/etc/init.d中的一个文件),从而使sendmail在系统引导下能够被正确地启动。此外,如果系统没有别名文件,还必须创建一个,别名文件通常被命名为/usr/lib/aliases或/etc/mail/aliases(别名文件的位置将在sendmail.cf中用到,因此可以把它放在用户想放的任何地方)。需要注意的是,可能还需要对系统的DNS数据库进行修改。

1.获取源代码

RedHat 6.1配备的是sendmail-8.9.3,从www.redhat.com站点上可以得到sendmail-8.9.3的RPM版本。sendmail的这一版本可以从http://www.sendmail.org站点得到,或者通过FTP从ftp://ftp.sendmail.org得到。 

注意:下载文件的确切名字依据V8 sendmail当前版本的不同而不同,当前的最新是版本8.9.3。另外,由于文件是被打包压缩的,因此在传输它们之前必须为FTP提供binary命令,即以二进制方式传输。还注意,应该使用自己完整的E-mail地址作为口令,例如username@somedomain.gov

2.解压源、解包并编译sendmail

在获得了源代码后,必须把它打开。由于它是一个被压缩的tar映像文件,因此必须对它进行解压,然后从tar档案中抽取各个文件。假定文件存放在目录/usr/local/src下面。  


     [root@lll src]# gzip -d sendmail-8.9.3.tar.gz 
        [root@lll src]# tar -xvf sendmail-8.9.3.tar 
    执行上述操作后,将产生子目录sendmail-8.9.3。接下来,运行cd和Is,查看这一源代码  目录中有哪些文件: 
        [root@lll src]# cd sendmail-8.9.3/stc。 
        [root@lll src]# ls 
    Makefile     collect.c      macro.c      parseaddr.c     srvrsmtp.c 
    Makefiles    conf.c         mailp.0      pathnames.h     stab.c 
    READ_ME      conf.h         mailp.1      queue.c         stats.c 
    TRACEFLAGS   convtime.c     mailstats.h  redcf.c         sysexits.c 
    alias.c      daemon.c       main.c       recipient.c     sysexits.h 
    aliases      deliver.c      makesendmail safefile.c      trace.c 
    aliases.0    domain.c       map.c        savemail.c      udb.c 
    aliases.5    envelope.c     mci.c        sendmail.0      useful.h 
    arpadate.c   err.c          mime.c       sendmail.8      usersmtp.c 
    cdefs.h      headers.c      newaliases.0 sendmail.h      util.c 
    clock.c      ldap_map.h     newaliases.1 sendmail.hf     version.c 
现在可以准备编译sendmail了,但首先要阅读下面的文件,这些文件包含关于用户所下载的sendmail版本的最新消息。 
        FAQ 
        RELEASE-NOTES 
        KNOWNBUGS 
        READ_ME 
    另外,还要注意doc/op子目录中的sendmail安装与操作指南(SIOG)。 
    sendmail的安装过程非常简单。要编译新的sendmail版本,运行下面的命令即可。 
        [root@lll src]# makesendmail 
    在RedHat 6.x的2.2内核上,sendmail在编译时不会出现任何警告或错误。如果使用光盘上的RPM软件包文件,安装更简单。仅需执行下面的命令: 
        [root@lll src]# rpm-ivh sendmail-8_9_3.rpm 
    在安装新的sendmail时,一定要为被替换的所有文件创建一个备份,特别是原来的sendmail守护程序。如果新的sendmail不能正常工作,在排除新版本的故障时,将需要恢复原来的版本。 
    要安装新版本的sendmail,首先利用下面的命令停止当前运行的守护进程: 
        [root@lll src]#/etc/rc.d/init.d/sendmail.init stop 
    然后把新的二进制文件拷贝到sendmail的正确位置: 
        [root@lll src]# cp obj.Linux*/sendmail/usr/sbin/sendmail 
    另外,还必须把新的手册页文件拷贝到正确位置: 
        [root@lll src]# cp aliases.1/usr/man/man5/aliases.5 
        [root@lll src]# cp mailq.0/usr/man/man1/mailq.1 
        [root@lll src]# cp newaliases.0/usr/man/man1/newaliases.1 
        [root@lll src]# cp sendmail.0/usr/man/man8/sendmail.8 
    现在可以利用下面的命令重新启动新的sendmail守护进程: 
        [root@lll src]# /etc/rc.d/init.d/sendmail/init start

3.sendmail的别名文件 

 sendmail依靠许多辅助文件来执行它的工作。最重要的文件是别名文件和配置文件Sendmail.cf。如果打算把sendmail作为SMTP服务程序运行(大多数站点都这么做),则应该安装SMTP的帮助文件sendmail.hf。这就是关于文件sendmail.st和sendmail.hf所需说明的内容。其他辅助文件包含在sendmail的安装和操作指南(Sendmail Internet and Operating Guide,简称SIOG)中。 

sendmail会检查收件人的地址是否为别名。例如,大部分Internet站点都设有一管理员地址Webmaster,遇到问题可以向他报告。然而大多数站点并没有这一名字的实际账号,而是把Webmaster的邮件转移到负责邮件管理的一个或几个人。例如,在假设的站点somedomain.gov上,用户zhang和li共同负责网站管理,因此别名文件会具有下面一项内容: 

Webmaster:zhang,li 

这行代码告诉sendmail,寄向Webmaster的邮件将被改寄到用户名为zhang和li处。事实上,这些名字还可以是别名,例如:  
Webmaster:firstgroup,secondgroup,thirdgroup 
firstgroup:zhang,li 
secondgroup:liu,deng 
thirdgroup:qiu,wang 

在所有这些例子中,别名的名字在冒号的左边,这些名字所代替的真实名字在冒号的右边。sendmail将反复地分析别名直到他们被解析为一个真正的用户或一个远程地址为止。在前面的例子中,要解析别名Webrmaster,sendmail首先把它扩展为收件人名单firstgroup、secondgroup和thirdgroup。然后进一步扩展这些别名中的每一个,从而得到最终的名单——zhang、li、liu、deng、qiu和wang。 

需要指出的是,别名的右边可以指定为一个远程主机,但左边却不能。别名zhang:zhang@otherdomain.com是合法的,而zhang@otherdomain.gov@otherdomain.com是不合法的。 

0
投稿

猜你喜欢

  • 刚才在月光博客上看到一有关MD5的安全性问题的文章,文章写得不错,但是我个人还有一些想补充的地方,算是对作者这个文章的补充。对于一些经常上网
  • 如果没有任何经验,学习如何扩展一个网站是相当困难的。假设现在你有很多像highscalability.com那样网站,你需要一些好的解决方案
  • 从今年1月份韩国正式开通IPTV服务至今,经过9个月的发展,韩国IPTV用户数量已经突破超过100万。韩国数码传媒产业协会近日公布,韩国IP
  • 如何拥有像淘宝那样的平台在这个互联网飞速发展的时代。电子商务已经主导着互联网的经济发展。类似淘宝这样的C2C平台,更是呼风唤雨。这样你还坐得
  • 老谢研究网站推广很多年了,SEO是个很不错的推广。站长们研究SEO兴趣也很高,这很好,因为SEO可以直接的为你网站带来流量。但是老谢认为我们
  • 1.代朋友问一下。 以前因为对政策不了解。 冒然做GG广告,被K了GG广告账户。 现在想"重新做人"。 可以么?有什么办
  • 二.    采用数据库存储 目前,Apache、PHP4、MySQL三者是Linux下构建Web网站
  • 前面说了启用Gzip 压缩减少带宽消耗以加速网站,今天说Windows2003服务器安装及设置教程——IIS优化第二篇:使用eAcceler
  • 帮朋友做个小导航时用到了下拉菜单,话说WordPress3.0以上版本的”wp_nav_menu()”真是好用,加上主题自定义菜单的设置简直
  • 一 为什么要在国外注册域名?随便讲讲,我现在非常喜欢在国外注册域名了,我想好处应该有2个:1是价格便宜2是管理方便 过户 转出 PUSH等非
  • 怕七夕,年年又七夕!明个就是七夕了!站长们打算怎么过?农历七月初七的夜晚,天气温暖,草木飘香,这就是人们俗称的七夕节,这是中国传统节日中最具
  • 连接到你的独立服务器,一般来说有两种方式:你可以使用一个基于网络的接口,如Plesk;或者你可以使用SecureShellprotocol(
  • 高级安全篇1.关闭DirectDraw这是C2级安全标准对视频卡和内存的要求。关闭DirectDraw可能对一些需要用到DirectX的程序
  • 这段时间买国外主机的筒子们越来越多,而付款就是首先摆在大家眼前的一道障碍,大部分美国主机商只能通过信用卡购买,付款不方便。因为这个原因,很多
  • 受ASP * 页的吸引,笔者决定用Dreamweaver做一个ASP格式的学校主页。然而,当笔者将Web服务器中Htm格式的网页换成新做的A
  • 收入高的网店一个月收入一万左右,还有大量的朋友几个月只能卖出几件东西,如何免费推广网店,有没有什么好的方法,我请教了一下网络营销学院有经验的
  • 这个问题我们做SEO都是很关心的,每个SEO都想知道。但收录量不是一天就能提嵩的,这是要靠每天的坚持,坚持更新网站。把网站更新做为自己每天的
  • 网页体积大小是一项常见的SEO指标,在进行SEO诊断分析中都会考虑到这一点。随着网络带宽的增加,网页体积的大小将会越来越不重要,因为网速加快
  • 作为网络管理员,不少朋友也同时负责单位的网站开发维护的工作,对于WEB开发我想大家都比较精通,可是对如何编写安全的脚本代码和入侵者如何通过W
  • 在笔者进行这次企划之前曾经问过自己几个问题,杀毒软件横向测试到底有没有必要?对于这个问题我是相当坚定的,有必要!尽管如今网友们鉴别产品的本事
手机版 网站运营 asp之家 www.aspxhome.com