postfix之邮件服务基础知识

SMTP(Simple Mail Transfer Protocol)
    smptd: TCP 25 服务端。
    smtp: 客户端。随机端口,通常大于5000

    SMTP状态码:
        1xx 纯信息
        2xx 正确
        3xx 上一步操作尚未完成,待后续补充
        4xx 暂时性错误
        5xx 永久性错误

    SMTP协议命令:
        helo 以smtp协议向对方发送hello信息。
        ehlo 以esmtp协议向对方发送hello信息。
        mail from:USERNAME@DOMAIN 发信人信息。
        rcpt to:USERNAME@DOMAIN 收件人信息。
        data

    smtp --> smtpd 客户端连接服务器
        三次握手后:

        1.hello 发送hello确认服务端在线。服务端在线则返回相应。

        2.mail from 发送发件人信息。

        3.rcpt to 发送收件人信息。收件人是本地则不用中继。若不是本地则验证是否可以中继。

        4.data 发送邮件正文。

        5. . 发送空白行,用.标记正文结束标记。



LMTP 本地邮件传输协议
    若目标是本地用户,则直接放在本地用户的家目录下。
    若目标是远程用户,则会调用smtp客户端,负责连接对方的smtpd。


邮件传输(MT):远程服务端到本地服务端。
邮件投递(MD):本地服务端到用户。
邮件用户(MU):使用邮箱的用户。

MUA(Mail User Agent):邮件用户代理。一般指客户端。从本地服务端收取邮件到用户家目录。outlook、foxmail、thunderbird、evolution、mutt(纯文本界面)等。

MTA(Mail Transfer Agent):邮件传输代理。一般指SMTP服务器。负责邮件的传送。

MDA(Mail Delivery Agent):邮件投递代理。SMTP服务器调用此代理,负责投递到用户的邮箱。如procmail、maildrop等。

MRA(Mail Retrieval Agent):邮件检索代理。用来取回邮箱中的邮件并传递给用户。通过pop3和iamp4实现。dovecot、cyrus-imap等。
    收邮件用smtp协议 发邮件用pop3或imap。
    pop3:TCP 110端口
    imap4:TCP 143端口

Open Relay: 开放式中继

SASL v2:Simple Authintication Secure Layer 简单认证安全层。默认通过访问/etc/passwd和/etc/shadodw进行账号的验证。使用此层,邮件服务就可以支持认证。访问mysql服务器需要额外的组件。cyrus-sasl、courier-authlib(mysql)。


邮箱格式:
    mbox:一个文件存储所有邮件,通过分隔符划分。linux默认使用此。
    maildir:一个文件存储一个邮件,所有邮件存储在一个目录中。虚拟用户使用此格式。


WebMail:通过web服务器,使用php等动态语言。直接调用本地的smtp客户端,连接本地或远程服务器。凭借用户的账号等身份信息,以MUA的身份连接pop3服务器。检索后返回web服务器。用户通过浏览器进行查阅邮件。squirrelmail、Openwebmail、extmail(extman)等。

ldap(Lightweight Directory Access Protocol) 轻量级目录访问协议。读取很快,写入很慢。适合一次写入,多次读取。AD就是代表。

虚拟用户:仅用于访问某服务的数字标识。

用户邮箱:
    /var/spool/postfix
    /var/mail/USERNAME


垃圾邮件过滤器:

常见的邮件服务器:
    sendmail

    qmail

    postfix:
        模块化设计,安全新高,兼容sendmail,效率高。

    exim


服务端:
    Posxfix + SASL(courier-authlib)+ mysql

客户端:
    Dovecot+mysql

webmail:
    extmail+extman+httpd

邮箱服务器整体思路:
    dns(负责域名解析) --> httpd(提供web界面) --> mysql(身份验证) --> postfix(发送) --> dovecot(接收) --> courier-authlib(身份认证)--> webmail(提供网页界面) --> webman(提供网页后台管理) --> maildrop(投递)

你可能感兴趣的:(linux,mail.postfix)