Tag: fetchmail

Configuring Fetchmail, Exim4 and Mutt

November 12th, 2009

MailConcept
~~~~~~~~~~~~~
配置Mutt比想象的要复杂,因为在此之前我基本上对邮件服务是一窍不通,所以还是先了解邮件的基本原理,它主要包括下面几个部分:

  • MTA (Mail Transfer Agent): 邮件传输代理,主要负责将邮件转发到目的服务器的MTA,MTA之间的通讯采用SMTP (Simple Mail Transfer Protocol)协议。流行的软件有:
    + http://www.sendmail.org
    + http://www.exim.org
    + http://www.postfix.org
  • MDA (Mail Delivery Agent): 邮件投递代理,当邮件到达目的主机,不用再继续转发的时候,MTA会将邮件交给MDA,由它来投递到相应用户。本文用到的http://www.procmail.org/就是一款流行的MDA。
  • MRA (Mail Retrieval Agent): 邮件获取代理,负责以POP或者IMAP协议将远程邮件服务器的邮件取到本机。fetchmail就是一款典型的MRA。
  • MUA (Mail User Agent) 邮件用户代理,也就是经常使用的邮件客户端,主要功能是让用户管理和读取存贮在用户目录上的邮件。包括对邮件内容的加密和解密。典型的MUA有Mutt, Outlook, Foxmail, kmail, evolution等。
    Mutt于其他客户端不同的是,它没有内置smtp的访问,也就是说它不能直接发送邮件,官方对此的解释是 “one task per tool” 符合Unix哲学。不过Mutt内置了一些MRA的基本功能,为什么这么做,可以参考:http://wiki.mutt.org/?MailConcept。本文仍然使用一个独立的MRA。

下图会有助于你理解上面的概念:

+----------------------------------+
|domain A                          |
|MUA (mutt)                        |
|tommy send two mails(bob@A,bito@B)|
+----------------------------------+
      |
      |
      v
+----------+ bito@B  +----------+ bito@B  +----------+
|domain A  |non-local|domain B  | local   |domain B  |
|   MTA    |-------->|   MTA    |-------->|   MDA    |
|  Check   |  SMTP   |  Check   |         |          |
+----------+         +----------+         +----------+
      |bob@A                                    |
      |local                                    |deliver
      v                                         v
+----------+         +----------+         +----------+
|domain A  | bito@B  |domain A  | bito@B  |domain B  |
|   MDA    |<--------|   MRA    |<--------|bito's    |
|          |         |          | POP/IMAP|mail box  |
+----------+         +----------+         +----------+
      |deliver(bob is bito)
      |bob@A,bito@B
      v
+----------+         +-------------------------------+
|domain A  |         |domain A                       |
|bob's     |-------->|MUA (mutt)                     |
|mail box  |         |bob get two mails(bob@A,bito@B)|
+----------+         +-------------------------------+

(more…)

Tags: , , ,
Posted in Technology | No Comments »