首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件服务器

技术前沿 | Qmail | IMail | MDaemon | Exchange | Domino | 其它 | Foxmail | James | Kerio | JavaMail | WinMail | Sendmail | Postfix | Winwebmail | Merak | CMailServer | 邮件与开发 | 金笛 |
首页 > 邮件服务器 > Postfix > FreeBSD邮件服务器 > 正文

FreeBSD邮件服务器

出处:5DMail.Net收集整理 作者:请作者联系 时间:2006-10-30 8:50:00

电子邮件

  FreeBSD支持在Internet上收发电子邮件,也能被用作一台功能强大的邮件服务器,为众多使用不同操作系统的客户机服务。

  • 邮件服务器

  Internet上与电子邮件相关的协议主要有SMTP、POP3和IMAP,其中SMTP是邮件传输协议,用于计算机之间交换电子邮件,POP3和IMAP是用于客户计算机远程访问邮件主机上时使用的。

  FreeBSD系统缺省即包括了sendmail程序,它按照SMTP协议在Internet上接收和发送E mail。sendmail在缺省设置下就已经能够正常工作,一般情况不需要进行改动。如果更改sendmail的配置,就需要更改sendmail的配置文件sendmail.cf,这个文件相当复杂、难于设置。因此如果希望设置邮件服务器的一些特殊属性,就需要小心更改sendmail,讨论sendmail的设置不在本书的范围之内,并且,还有其他的邮件服务器能用来代替sendmail,来完成接收和发送Internet邮件的任务。通常这些sendmail的代替者具备更高的性能、易于更改设置,并且没有sendmail中经常报告的安全漏洞,因此如果需要定制邮件服务器,推荐使用这些sendmail的代替产品,例如qmail或postfix。

  如果系统的用户经常使用其他计算机,如运行Windows9x的个人计算机,来访问自己的电子邮件,可以在服务器端安装支持POP3或IMAP4的服务程序,这样Windows9x中的电子邮件客户软件就能访问服务器中的邮件。pop3协议比较简单,因此Windows下一般的电子邮件处理软件都支持pop3协议,相对而言IMAP协议更复杂一些,对电子邮件的支持能力更强,但支持imap协议的软件就较少。比较流行的电子邮件软件可以支持这两种协议,如netscape messager、Eudro等。因此服务器可以有选择的支持这两种协议。

  如果仅需要提供POP3支持,可以使用qpopper,而要同时支持POP3和IMAP,就可以安装imap-uw(uw指 University of Washington,IMAP协议和这个服务器程序的开发者)。安装imap-uw之后,还需要更改 inetd.conf,增加以下行:

pop3  stream  tcp  nowait  root  /usr/local/libexec/ipop3d  ipop3d
imap4  stream  tcp  nowait  root  /usr/local/libexec/imapd  imapd

  重起inetd,则远程用户就能在其客户软件中处理电子邮件了。

在FreeBSD上查看邮件

  FreeBSD上的用户可以通过mail程序来查看自己的Email,mail是一个最基本的交互式Unix 命令,可以运行在任何类型的终端上,然而使用它来处理邮件也很不方便。使用者常常安装其他更为便利的电子邮件客户程序来处理自己的邮件,这些软件有elm、mutt、pine,以及只用于X下的 netscape messager、kmail等。

  虽然基于X的邮件处理软件比较方便和易于学习,然而通过网络远程直接使用这些X程序比较麻烦,不是任何计算机上都运行了X服务器的。而几乎所有的计算机系统中都支持telnet等字符终端连接软件,使用支持字符终端的邮件处理程序就使得使用者无论身在何处,只要连接到自己的主机上就能处理自己的电子邮件。

  在远端访问自己的电子邮件的另一种方式是:首先在远端的客户机上安装、配置电子邮件软件,再使用这些软件访问自己主机上的邮件。这些远程访问邮件服务器的软件使用POP3协议或者 IMAP协议,让用户查看远程计算机上的邮件。

  这两种方式的不同在于邮件处理软件的安装位置,安装在主机上的邮件处理程序基于X或字符终端,不需要改动客户计算机上的任何配置,因此适用于经常改变客户机的使用者。安装在客户机上的用户可以充分发挥客户计算机的优势,例如MS Windows的用户界面,这种方式适用于拥有固定个人用计算机的使用者。这两种方式并不相互冲突,而是相互补充的,适合不同情况的使用者。

  • 邮件处理程序pine

  由于基于字符终端的邮件软件启动快捷,能通过telnet等防真终端使用,而不需改变客户计算机的任何配置。因此Unix的使用者至少都会选择安装一种基于字符终端的邮件处理软件,以作为最基本的邮件处理软件。pine就是其中之一,它提供了简洁的字符菜单界面,功能强大且易于操作,易用性超过很多图形接口的邮件处理程序。

  在Pine的主菜单下,可以执行发送电子邮件(Compose message),查看当前文件夹的内容(Message index),选择不同的文件夹(Folder list),使用和维护地址簿(Address Book),使用S(Setup)用于设置Pine,使用Q(Quit)退出pine回到shell提示下。正常情况下,不需要对 pine进行任何设置,就能正常使用pine阅读和发送电子邮件。

  然而当使用pine来发送中文邮件时,pine会对中文进行重新编码,以适应7位传输,虽然大部分电子邮件客户都会识别这些标准的编码格式,但还是有一些电子邮件程序不能识别出这些编码,造成阅读问题。此时就可以重新设置pine直接使用8位编码。
 在主菜单下选择Setup,当出现提示时,使用Config进入配置部分。就可以搜寻包含enable-8-bits 的两个选项,配置自己使用的字符集(由于pine中不直接支持中文字符集,可以设置为ISO-8858-1),以支持8位字符。

  还可以在这里设置Pine来阅读Usenet新闻,这就要在nntp-server的选项中填写本地新闻服务器的域名,并配置news-collections选项,例如本地新闻服务器的名字为news,那么news-collections 就应设为 ”*{news/nntp}/[]”。也可以设置远程文件夹,使得Pine能访问远程主机上的邮件。

  Pine缺省支持使用IMAP协议访问远程主机上的邮箱,但它对POP3的支持未在其文档中公布,不能使用设置程序来完成。可以手工更改用户个人目录下的配置文件.pinerc中的选项incoming-folders,以支持POP3,下面为一个例子:

  incoming-folders="imapfolder" {imaphost}INBOX,
   "pop3folder"  {pop3host/pop3/user=wb}INBOX

  这个例子中配置了两个远程帐户,一个为imaphost上的邮箱,使用IMAP协议进行访问,在 pine中的文件夹名为imapfolder,第二个为pop3host上的邮箱,后面使用/pop3指明使用pop3协议,/user=wb指明使用wb作帐户名,其文件夹的名字为pop3folder。使用这样的格式就能使pine来管理多个计算机上的多个邮箱。

  那么再次启动pine就能有位于不同主机上的相应incoming和nntp文件夹,用户打开相应的文件夹就能使用imap、pop3或nntp等不同协议,访问相应的邮件或新闻了。

  • 使用fetchmail管理多邮件帐户

  尽管使用pine能非常方便的管理多个POP3或IMAP邮箱,但是如果邮箱主机与当前FreeBSD系统的网络连接很慢,使用pine来阅读这些邮箱中的邮件就非常迟缓。此时更好的办法是先在后台将邮件取到回本地邮箱中,然后使用pine或其他邮件处理程序进行处理。

  fetchmail就是一个非常方便的从远程邮件主机下载邮件的应用软件,它支持pop3、imap,以及对pop3的一些扩展协议。当安装好fetchmail之后,使用者可以直接启动fetchmail,来取得邮件的方法为:

  $ fetchmail -p pop3 -u wangb email.online.ha.cn
password for wangb@email.online.ha.cn:

  在输入正确的口令之后,fetchmail将使用pop3协议访问主机email.online.ha.cn,并取回用户wangb的电子邮件,取回的电子邮件将发送到本地邮箱中。也可以用更复杂的方式在后台运行 fetchmail,则需要设置个人目录下的.fetchmailrc文件。
$ cat ~/.fetchmailrc
poll email-wangb via email.online.ha.cn
  protocol pop3
  authenticate password
  username wb here is wangb there
  password "1111"
  smtphost localhost
  pass8bits
  stripcr
  fetchall
$ chmod 700 ~/.fetchmailrc

  设置文件中第一行poll email-wangb via email.online.ha.cn中设置了要下载邮件的邮件服务器为email.online.ha.cn,其中email-wangb为对应这一个帐号的标签名字,用于区分多个不同的邮箱。然后指定使用的协议为pop3,认证方式为标准的Unix口令认证,然后,定义了远端主机上的邮件帐户名为wangb(用there表示远端主机设置),邮件下载到本地用户wb的邮箱中(使用here 指明本地主机设置)。

  smtphost定义了fetchmail用来转发邮件时使用的smtp主机,passsword定义了远程邮件服务器中帐户的口令,在口令中使用了数字或特殊字符时,就需要使用双引号将口令括起来。pass8bits 允许下载邮件中存在8位字符,stripcr用于过滤额外回车字符,由于DOS和Unix在文本定义上的不同,这一项用于兼容一些不识别这个差异之处的Windows系统的邮件服务器,fetchall表示取回全部邮件,否则就只取回最新的邮件。

  此外,这个文件因为包括了远端服务器的口令,因此必须具备属性700,以避免其他用户能读取这个文件,否则fetchmail不会运行。

  这样,就可以不使用任何命令行参数,直接在后台运行fetchmail了。每个用户可以使用cron来运行自己的fetchmail命令,来管理自己的邮件,而拨号用户可以在拨号后,使用ppp.linkup启动fetchmail ,取回自己的邮件。

  • 使用Procmail设置邮件过滤

  由于Internet的使用者不但使用电子邮件和朋友、同事联系,而且还通过maillist与Internet 上的其他使用者讨论共同感兴趣的话题,用户收到的电子邮件越来越多,并且还会受到广告、宣传品等垃圾邮件的骚扰。使用Promail、maildrop等邮件过滤程序就能帮助使用者阻挡这些广告和宣传品,并帮助管理用户接收到的邮件。Procmail就是一个用于过滤用户接收到的电子邮件,并能对其自动分类、处理的一个应用软件。对于每天都会收到大量电子邮件的Internet使用者,这是一个非常有用的工具。

  为了使用Procmail,必须在用户接收到Email时,启动Procmail进行处理。这个任务可以使用两种不同的方式来完成,一个是将Procmail配置为系统的邮件分发代理(Mail Deliery Agent),系统的邮件服务器使用porcmail代替其本身原有的邮件分发功能,来分发用户的邮件。这种方式需要由系统管理员根据邮件服务器的不同,而进行不同的设置。

  另一种方法是使用个人目录下的.forward文件,系统邮件服务器在给某个用户分发邮件的时候,如果发现他的个人目录中存在.forward文件,那么就会按照这个文件中的内容来进行处理。因此就可以在.forward文件中启动procmail处理用户接收到的邮件,与更改系统MDA的设置方式相比,这种方式更为灵活,并且可以由每个用户来决定是否使用这个过滤处理能力。

  .forward文件可以按照需要设置三种不同的处理方式:定义存储邮件的邮箱文件名、进行转发的目的地址或者对电子邮件进行处理的外部应用程序,显然启动Procmail是应使用第三种方法。

  .forward文件应该属于这个用户(或root),并且其权限设置应该为不能被其他或同组用户可写。

  $ cat ~/.forward
"|IFS=' '&&exec /usr/local/bin/procmail -f-||exit 75 wb"

  这个.forward的例子里,使用"|"字符设置括号内的参数为一个执行命令,这样 sendmail就能启动一个shell执行设置的命令,并使用管道的方式读取sendail的输出。执行命令中首先定义了IFS环境变量(用于分隔不同的域),然后执行procmail,如果procmail执行失败就执行 exit 75 wb告诉sendmail,邮件分发失败,需要更改wb为使用者自己的登录名。

  procmail使用用户个人目录下的.procmailrc文件,来设置对收到的Email进行处理的过滤规则。最简单的.procmailrc文件为:

  :0c:
* ^FROM.*@freebsd.org
$HOME/mail.backup

  第一行首先使用冒号开始定义一个过滤规则,紧随其后的应该是一个数字,这个数字规定了这个规则占用的配置行数,一般使用0表示没有限制配置行,此后的c表示复制(copy),表示下面的规则只是用于处理邮件的副本,而邮件本身仍然会被其他的过滤处理规则处理。这一行最后的冒号,用于表示在处理过程中进行加锁,防止同另一个procmail进程处理同一个文件时发生冲突,通常这个机制在存储邮件文件时非常有帮助。

  第二行就开始了一个过滤规则的定义,过滤规则使用*字符开头。一个规则中使用模式匹配来匹配电子邮件信头或内容中的特定行。上面例子里的这个规则匹配所有来自于freebsd.org的电子邮件。在第三行定义了对符合上面规则的邮件的处理方法,由于给出了一个文件名mail.backup,因此将所有来自于freebsd.org的电子邮件添加到mail.backup文件中保存。如果使用!开头定义规则处理办法,表示进行转发处理,!后面就为进行转发的电子邮件的地址,或者以|开头,表示启动后面的命令进行邮件处理。

  procmail不区分大小写,它使用Unix最常用的模式匹配方式进行匹配特定的邮件。因此使用这些匹配模式和procmail规则,可以定义一个更复杂的.procmailrc:

  PATH=$HOME/bin: /usr/bin: /usr/ucb: /bin: /usr/local/bin:.
SHELL=/bin/sh
MAILDIR=$HOME/mail
DEFAULT=$MAILDIR/mailbox
LOGFILE=/dev/null
SENDMAIL=/usr/lib/sendmail
:0:
* ^From.*badguy     
/dev/null/
:0c:
* ^(From|Cc|To).*freebsd.org
| gzip >> freebsdmail.gz
:0:
* ^From.*@hotmail.com
* ^Subject:.*(joke|funny)
{
  :0 c
  ! friend1@hotmail.com friend2@usa.net
  :0
  joke
}
:0
* ^Subject:.*order
* !^FROM_DAEMON
* !^X-Loop: marketing@company.com
{
  :0 h c
  | (formail -r -A"X-Loop: marketing@company.com " ; \
  cat /market/acknowlegement.txt ) | $SENDMAIL -t
  :0 c
  ! market2@company.com
  :0
  market
}

  这个配置文件的第一部分中设置了几个环境变量,用于设置procmail的运行环境,其中将 MAILDIR设置为~/mail,与pine使用的目录相同,因此这将使pine能直接读取procmail处理过的邮件。

  第二部分中为邮件定义了三个不同的过滤规则及相应的处理操作,第一个规则将来自badguy 的邮件滤掉(输出到/dev/null);第二个规则将与freebsd.org的通信使用gzip保存到freebsdmail.gz 中,用于保存相应maillist的邮件;第三个规则将某个使用hotmail帐号的朋友,并使用joke或funny标题给自己发送笑话的邮件同时转给其他几个朋友,并同时保存在joke文件夹中;最后一个规则是设置了一个自动回复邮件系统,对于使用order做标题,并且没有FROM_DAEMON行(自动邮件回复程序使用FROM_DAEMON 作标记,通常不需要回复这些的邮件,否则会造成回复循环),并且没有包括X-Loop行的邮件进行处理:

  首先将X-Loop行添加到邮件中(使用formail将它们添加到mail的信封上),以免造成对同一个邮件的循环处理,然后将文件/market/acknowlegement.txt发回给发送者;并以及转发邮件,在market中保存邮件。

  根据这些规则,使用Procmail就能完整的处理各种邮件,减轻电子邮件不断增多而造成的困扰。

相关文章 热门文章
  • TurboMail如何搭建与外网通信的局域网邮件服务器
  • 在多种邮件服务器共存环境中如何管理Exchange 别让不同的邮件服务器及客户端把您难倒
  • 终结邮件服务器攻击 采取措施阻止拒绝服务攻击和目录收集攻击
  • 帮您选择一款最好的免费邮件服务器
  • 企业应如何防范邮件服务器被盗用来发送垃圾邮件
  • 七个免费邮件服务器软件
  • Exchange邮件服务器通信故障排故思路
  • postfix+dovecot+postfixadmin+mysql架设邮件服务器
  • FreeBSD上建立一个功能完整的邮件服务器(POSTFIX)
  • CentOS5.1上安装基于postfix的全功能邮件服务器(二)
  • CentOS5.1上安装基于postfix的全功能邮件服务器
  • CentOS安装配置Postfix邮件服务器
  • Install and configure Postfix with Cyrus-SASL+Cyr...
  • 在FreeBSD上建立一个功能完整的邮件服务器
  • postfix 邮件病毒过滤
  • 在Fedora上建立自己的邮件服务器
  • Postfix + SpamAssassin 安裝手冊
  • Postfix + Courier-IMAP + Cyrus-SASL + MySQL + IMP...
  • Postfix + Cyrus-SASL + Cyrus-IMAPD + PgSQL HOWTO
  • 在FreeBSD5.1簡單安裝Postfix+Qpopper+Openwebmail
  • 在RHEL 4 上配置全功能的Postfix 服务器
  • Postfix + Cyrus-IMAP + Cyrus-SASL + MySQL + IMP 完..
  • 我的POSTFIX安装笔记
  • Postfix电子邮局的配置步骤
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号