現在的MUA一般都會預設pop3收信時可以在server中保留幾天的信件
但,MUA又是怎麼判斷上一次已經收到哪一封,下次要從哪一封開始收咧?

pop3收信時,每一封信都會有一封單一的ID,來區別每一封信件
這個ID就叫做UIDL
以下是dovecot 2.x 的預設值
設定檔為 dovecot/conf.d/20-pop3.conf
  # POP3 UIDL (unique mail identifier) format to use. You can use following
  # variables, along with the variable modifiers described in
  # doc/wiki/Variables.txt (e.g. %Uf for the filename in uppercase)
  #
  #  %v - Mailbox's IMAP UIDVALIDITY
  #  %u - Mail's IMAP UID
  #  %m - MD5 sum of the mailbox headers in hex (mbox only)
  #  %f - filename (maildir only)
  #  %g - Mail's GUID
  #
  # If you want UIDL compatibility with other POP3 servers, use:
  #  UW's ipop3d         : %08Xv%08Xu
  #  Courier             : %f or %v-%u (both might be used simultaneosly)
  #  Cyrus (<= 2.1.3)    : %u
  #  Cyrus (>= 2.1.4)    : %v.%u
  #  Dovecot v0.99.x     : %v.%u
  #  tpop3d              : %Mf
  #
  # Note that Outlook 2003 seems to have problems with %v.%u format which was
  # Dovecot's default, so if you're building a new server it would be a good
  # idea to change this. %08Xu%08Xv should be pretty fail-safe.
  #
  #pop3_uidl_format = %08Xu%08Xv

server端可以用telnet mailserver 110 指令測試
登入後打uidl 就可以show出每一封信的uidl

驗證客戶端的收信log以thunderbird為例
可以在%appdata%\Roaming\Thunderbird\Profiles\ 下面搜尋popstate.dat 檔案
裡面就記載了,thunderbird上次的收信紀錄,下次才不會收到重複的信件

, ,

helloworld 發表在 痞客邦 PIXNET 留言(0) 人氣()