Re: [问答] 关于寄信的小问题

楼主: kenduest (小州)   2016-06-26 19:43:43
※ 引述《danny8376 (钓到一只猴子@_@)》之铭言:
: 直接回好了
: 别把机器跟软件混在一起好了
: 不大好w
: MUA/MTA/MSA/MDA
: MUA -> 使用者端
: 就是处理提供使用者收发信的client
: 像是一些webmail/thunderbird/outlook
: MTA -> 传送信件的 工作就是把信丢来丢去w
: MSA -> 负责帮忙把把信从MUA丢给MTA的 不过其实不少会直接给MTA
: MDA -> 收件夹 就只是个收件夹
老实说其实讨论不用到这么复杂,原本楼主的问题不需要谈这些名词...
很多 dns, mail 服务的建置书籍都有说...不过都讨论了就.... 继续说 :)
MUA 一般泛指用户端的 Mail 软件,比方 Outlook, Thunderbird 这类,
一般主要就是提供使用者能够收发 email 的软件。
MTA 本身提供 server 之间实际信件传输,目前一般都会使用 SMTP 协定方式
进行沟通,也就是两台主机的 MTA 程式透过 SMTP 协定传输资料。
一般来说会比较少谈到 MSA,这样谈下去会很复杂。传统 MTA 工作在 port
25/tcp 提供让 MUA 连结进行 SMTP 沟通之外,也提供 server 与 server
之间传送信件的使用。
MSA 则是工作在 port 587/tcp 上,一般是给 MUA 连结使用,所以两端还是走
SMTP 协定沟通不过连线传输一般会支援 STARTTLS 加密方式来进行沟通之外,
还会支援 SMTP AUTH 身份验证等,一般就是透过验证成功之后允许信件可以代为
收下,然后会把信件再透过 SMTP 协定方式交给另外一个 MTA 来处理最后信件
寄送的功能。
实际上这样说吧,有人会在建置 mail server 服务时候,会另外提供 port 587
服务的连线,后续 server 接收到 MUA 连信进入的信件一般会跑 mail scan
的处理检查信件是否有 spam 等这类处理,至于 port 25 要不要跑这类服务看
需求没有标准答案。另外其实目前许多 mail server 都直接在 port 25 开启支援
AUTH SMTP、STARTTLS 等支援,MSA 实际的用途比较不是很明显了。最后一般
一般的 mail server 让 MUA 所连线的主机,大多都是直接跑一套软件直接能够
listen port 25 与 port 587,比方 linux 常见 postfix 来说可以设定直接
聆听 port 25,587 ,所以实际上 MTA or MSA 都是由 postfix 程式所处理的,
详细运作的功能差异只是设定档案的差别而已。
一般说 MDA 是说,若 MTA 接收到一封要寄送的信件是本地端的使用者帐号的话,
那会信件内容交给 MDA 程式来处理,而 MDA 最后会把信件内容放置到实际使用者
的 mailbox 内。早期 sendmail 这类 MTA 来说,对于本地端使用者信件处理就是
呼叫 mail.local 或者是 procmail 这类 MDA 程式,
目前的确许多 MTA 是直接纳入 MDA 的功能,比方 postfix 这软件本身要把信件
投递到本机 mailbox 或是 MailDir 格式的信箱就不需要额外的 MDA 帮忙,所以
可以简单说 postfix 本身就是 MTA 兼当 MDA 程式的功能。不过信件的储存格式
不一定是 mailbox or MailDir 格式,若是使用 cyrus imap 等这类 mail 的系统
来说,postfix 还是要设定一下 LMTP 组态再透过 SMTP 协定把信件交给 cyrus
imap 的程式来处理最后信件的存放。
直接用 MDA 就是收件夹这说法奇怪。
: 从寄信到收到信的过程是
: MUA -> MTA -> (MTA -> )*n -> MDA -> MUA
: MUA如果不是在MDA/MTA上的话分别要设定POP3/IMAP跟SMTP Server(可选)
: MUA寄信时有分几种
: 1.MUA直接寄给对方的server
: 这状况是MUA -> MTA -> MDA
: MUA会直接查domain的MX(本身是个MTA)或者没MX直接用该domain的ip
: 而这边开始就是对方服务器内部了
: MTA会去找这domain该给谁
: 而如果是postfix/sendmail的话因为会身兼MTA/MDA/MSA
: 所以如果domain是设定内接收的domain的话
: postfix/sendmail会转寄给内部的MDA然后就写入到收件夹了
: 当然实际上也可能让他把特定网域的转寄给内部其他服务器
: (可能专责MDA的Server)
前面一开始怪怪的... MUA 本身并不管什么 MX 纪录
寄信来说 MUA 主要功能就是连线到 mail server 上透过 SMTP 沟通说要给谁。
MUA 软件本身要设定寄信与收信的 mail server 主机资讯,比方常见 hinet
adsl 的用户smtp 寄信主机会使用 msa.hinet.net 这台机器,所以 MUA 后续
要寄信出去就是直接查询 msa.hinet.net 的 A/AAAA 纪录 (IP) 纪录,用 smtp
连线到目的主机沟通。
比方使用者用 outlook 这个 MUA 写信说要寄信给 [email protected]/*
作者: adsl9527 (申装adsl的小为)   2016-06-28 17:02:00
有用postfix+dovecot实作过了 也比较懂了感谢linux版大大回答
作者: s801107 (wjs)   2016-06-28 18:51:00
受益了
继续阅读

Links booklink

Contact Us: admin [ a t ] ucptt.com