在 RHEL/CentOS 5 環境下,Sendmail 預裝可發信,收信需部署 Cyrus-IMAPD 提供 POP3/IMAP 服務。本文記錄從 RPM 安裝、服務配置、用戶建立、郵箱管理到 Sendmail 整合的完整流程。
掛載 RHEL 5 第 2、3 張安裝光盤,Server 目錄下安裝:
rpm -ivh cyrus-imapd-perl-2.3.7-1.1.el5.i386.rpm rpm -ivh cyrus-imapd-utils-2.3.7-1.1.el5.i386.rpm rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm rpm -ivh lm_sensors-2.10.0-3.1.i386.rpm rpm -ivh cyrus-imapd-2.3.7-1.1.el5.i386.rpm rpm -ivh cyrus-imapd-devel-2.3.7-1.1.el5.i386.rpm
| 文件 | 用途 |
|---|---|
| /etc/sysconfig/cyrus-imapd | 服務啟動參數 |
| /etc/cyrus.conf | 主配置:IMAP/POP3/Sieve/NNTP 服務參數 |
| /etc/imapd.conf | IMAP 服務具體配置 |
預設配置通常已可用,啟動服務即同時提供 POP3/IMAP:
service saslauthd restart service cyrus-imapd restart service sendmail restart service xinetd restart chkconfig saslauthd on chkconfig cyrus-imapd on chkconfig sendmail on
useradd operator passwd operator # 設密碼 test usermod -s /sbin/nologin operator # 增加安全性 passwd cyrus # 設定 cyrus 管理用戶密碼
cyradm -u cyrus localhost # 輸入 cyrus 密碼進入管理命令行 # 為用戶 lbt 建立發件箱、垃圾箱、草稿箱 createmailbox user.lbt.Send createmailbox user.lbt.Trash createmailbox user.lbt.Drafts # 刪除郵箱需先授予 cyrus 完全權限 setaclmailbox user.lbt cyrus all deletemailbox user.lbt
telnet localhost 110 # 輸入 user operator pass test # 返回 +OK Name is a valid mailbox / +OK Mailbox locked and ready 即成功
編輯 /etc/mail/sendmail.mc 末尾加入:
dnl MAILER(smtp)dnl dnl MAILER(procmail)dnl define(`confLOCAL_MAILER', `cyrus') MAILER(`cyrus')
若需對外收信(非僅本機),修改:
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl → dnl DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
重新生成配置並重啟:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf service sendmail restart
saslauthd 運行,且 /etc/sasl2/smtpd.conf 指向正確驗證源。/var/spool/imap,磁碟空間不足時需遷移並修改 imapd.conf 中 partition-default。setenforce 0 或配置 cyrus_spool_t 上下文。Sendmail + Cyrus-IMAPD 是經典開源郵件系統組合,穩定可靠,適合中小企業內部郵件服務自建。