完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本教程的第 2 部分将介绍如何使用 Dovecot 将邮件从 Postfix 服务器移动到用户的收件箱。 在第一部分中,我们安装并测试了 PostfixSMTP 服务器。Postfix 或任何 SMTP 服务器都不是一个完整的邮件服务器,因为它所做的只是在 SMTP 服务器之间移动邮件。我们需要 Dovecot 将邮件从 Postfix 服务器移动到用户的收件箱中。 Dovecot 支持两种标准邮件协议:IMAP(Internet 邮件访问协议)和 POP3(邮局协议)。 IMAP 服务器会在服务器上保留所有邮件。您的用户可以选择将邮件下载到计算机或仅在服务器上访问它们。 IMAP 对于有多台机器的用户是方便的。但对你而言需要更多的工作,因为你必须确保你的服务器始终可用,而且 IMAP 服务器需要大量的存储和内存。 POP3 是较旧的协议。POP3 服务器可以比 IMAP 服务器服务更多的用户,因为邮件会下载到用户的计算机。大多数邮件客户端可以选择在服务器上保留一定天数的邮件,因此 POP3 的行为有点像 IMAP。但它又不是 IMAP,当你像 IMAP 那样(在多台计算机上使用它时)那么常常会下载多次或意外删除。 安装Dovecot 启动你的Ubuntu 系统并安装 Dovecot: 1. $ sudo apt-get install dovecot-imapd dovecot-pop3d 它会安装可用的配置,并在完成后自动启动,你可以用 ps ax | grep dovecot 确认: 1. $ ps ax | grep dovecot 2. 15988 ? Ss 0:00 /usr/***in/dovecot 3. 15990 ? S 0:00 dovecot/anvil 4. 15991 ? S 0:00 dovecot/log 打开你的Postfix 配置文件 /etc/postfix/main.cf,确保配置了maildir 而不是 mbox 的邮件存储方式,mbox 是给每个用户一个单一大文件,而 maildir 是每条消息都存储为一个文件。大量的小文件比一个庞大的文件更稳定且易于管理。添加如下两行,第二行告诉 Postfix 你需要 maildir 格式,并且在每个用户的家目录下创建一个 .Mail 目录。你可以取任何名字,不一定要是 .Mail: 1. mail_spool_directory = /var/mail 2. home_mailbox = .Mail/ 现在调整你的 Dovecot 配置。首先把原始的 dovecot.conf 文件重命名放到一边,因为它会调用存放在conf.d 中的文件,在你刚刚开始学习时把配置放一起更简单些: 1. $ sudo mv /etc/dovecot/dovecot.conf /etc/dovecot/dovecot-oldconf 现在创建一个新的 /etc/dovecot/dovecot.conf: 1. disable_plaintext_auth = no 2. mail_location = maildir:~/.Mail 3. namespace inbox { 4. inbox = yes 5. mailbox Drafts { 6. special_use = Drafts 7. } 8. mailbox Sent { 9. special_use = Sent 10. } 11. mailbox Trash { 12. special_use = Trash 13. } 14. } 15. passdb { 16. driver = pam 17. } 18. protocols = " imap pop3" 19. ssl = no 20. userdb { 21. driver = passwd 22. } 注意 mail_location = maildir 必须和 main.cf 中的 home_mailbox 参数匹配。保存你的更改并重新加载 Postfix 和Dovecot 配置: 1. $ sudo postfix reload 2. $ sudo dovecot reload 快速导出配置 使用下面的命令来快速查看你的 Postfix 和 Dovecot 配置: 1. $ postconf -n 2. $ doveconf -n 测试Dovecot 现在再次启动 telnet,并且给自己发送一条测试消息。粗体显示的是你输入的命令。studio 是我服务器的主机名,因此你必须用自己的: 1. $ telnet studio 25 2. Trying 127.0.1.1... 3. Connected to studio. 4. Escape character is '^]'. 5. 220 studio.router ESMTP Postfix (Ubuntu) 6. EHLO studio 7. 250-studio.router 8. 250-PIPELINING 9. 250-SIZE 10240000 10. 250-VRFY 11. 250-ETRN 12. 250-STARTTLS 13. 250-ENHANCEDSTATUSCODES 14. 250-8BITMIME 15. 250-DSN 16. 250 SMTPUTF8 17. mail from:tester@test.net 18. 250 2.1.0 Ok 19. rcpt to: carla@studio 20. 250 2.1.5 Ok 21. data 22. 354 End data with .Date: November 25, 2016 23. From: tester 24. Message-ID: first-test 25. Subject: mail server test 26. Hi carla, 27. Are you reading this? Let me know if you didn't get this. 28. . 29. 250 2.0.0 Ok: queued as 0C261A1F0F 30. quit 31. 221 2.0.0 Bye 32. Connection closed by foreign host. 现在请求Dovecot 来取回你的新消息,使用你的 Linux 用户名和密码登录: 1. $ telnet studio 110 2. Trying 127.0.0.1... 3. Connected to studio. 4. Escape character is '^]'. 5. +OK Dovecotready. 6. user carla 7. +OK 8. pass password 9. +OK Logged in. 10. stat 11. +OK 2 809 12. list 13. +OK 2messages: 14. 1 383 15. 2 426 16. . 17. retr 2 18. +OK 426octets 19. Return-Path: <tester@test.net> 20. X-Original-To: carla@studio 21. Delivered-To: carla@studio 22. Received: from studio (localhost [127.0.0.1]) 23. by studio.router (Postfix) with ESMTP id 0C261A1F0F 24. for 25. Date: November 25, 2016 26. From: tester@studio.router 27. Message-ID: first-test 28. Subject: mail server test 29. 30. Hi carla, 31. Are you reading this? Let me know if you didn't get this. 32. . 33. quit 34. +OK Logging out. 35. Connection closed by foreign host. 花一点时间比较第一个例子中输入的消息和第二个例子中接收的消息。返回地址和日期是很容易伪造的,但 Postfix 不会被愚弄。大多数邮件客户端默认显示一个最小的标头集,但是你需要读取完整的标头才能查看真实的回溯。 你也可以在你的 ~/Mail/cur 目录中查看你的邮件,它们是普通文本,我已经有两封测试邮件: 1. $ ls .Mail/cur/ 2. 1480540325.V806I28e0229M351743.studio:2,S 3. 1480555224.V806I28e000eM41463.studio:2,S 测试IMAP 我们Dovecot 同时启用了 POP3 和 IMAP 服务,因此让我们使用 telnet 测试 IMAP。 1. $ telnet studio imap2 2. Trying 127.0.1.1... 3. Connected to studio. 4. Escape character is '^]'. 5. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IRLOGIN-REFERRALS 6. ID ENABLE IDLE AUTH=PLAIN] Dovecot ready. 7. A1 LOGIN carla password 8. A1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IRLOGIN-REFERRALS 9. ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCESTHREAD=REFS 10. THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIALCATENATE UNSELECT 11. CHILDREN NAMESPACE UIDPLUS LIST-EXTENDEDI18NLEVEL=1 CONDSTORE 12. QRESYNC ESEARCH ESORT SEARCHRES WITHINCONTEXT=SEARCH LIST-STATUS 13. BINARY MOVE SPECIAL-USE] Logged in 14. A2 LIST "" "*" 15. * LIST (HasNoChildren) "." INBOX 16. A2 OK Listcompleted (0.000 + 0.000 secs). 17. A3 EXAMINE INBOX 18. * FLAGS (Answered Flagged Deleted SeenDraft) 19. * OK [PERMANENTFLAGS ()] Read-only mailbox. 20. * 2 EXISTS 21. * 0 RECENT 22. * OK [UIDVALIDITY 1480539462] UIDs valid 23. * OK [UIDNEXT 3] Predicted next UID 24. * OK [HIGHESTMODSEQ 1] Highest 25. A3 OK [READ-ONLY] Examinecompleted (0.000 + 0.000secs). 26. A4 logout 27. * BYE Logging out 28. A4 OK Logoutcompleted. 29. Connection closed by foreign host Thunderbird 邮件客户端 图 1 中的屏幕截图显示了我局域网上另一台主机上的图形邮件客户端中的邮件。
|
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4863 浏览 0 评论
87343 浏览 0 评论
【高手问答】如何做到精通linux威廉希尔官方网站 ?资深工程师带你突破难点
4667 浏览 2 评论
3556 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2445 浏览 0 评论
1935浏览 3评论
这是i.mx6ull的关于usb的宏定义,能解释下这些宏定义的意思
1312浏览 1评论
1209浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1281浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1202浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 02:12 , Processed in 0.974488 second(s), Total 47, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号