❶ linux郵件伺服器搭建
使用postfix(提供smtp服務)、squirrelmail(提供web方式收發郵件)、dovecot(IMAP、pop3)、cyrus-imapd(創建郵箱用戶)、saslauthd軟體來實現。 (注意:在安裝linux的時候,把防火牆和selinux設為禁止,我當時沒把selinux設為禁止,當時頭都做大了) 1。sendmail把系統的25和110埠給佔用了,所以先要將sendmail服務停止並卸載: service sendmail stop rpm -e sendmail 2.postfix服務的搭建與配置 一:首先要掛載光碟 mount /dev/cdrom /mnt 二:安裝postfix rpm -ivh /mnt/Server/postfix... 三:配置postfix vi /etc/postfix/mail.cf(建議把裡面的內容全刪了) #myhostname = mail.fu.com #mydomain = fu.com #myorgin =$mydomain #inet_interfaces =all #mydestination =$myhostname,$mydomain #mynetworks = 192.168.1.0/24,127.0.0.0/8 #relay_domains = fu.com 四:開啟postfix service postfix start chkconfig postfix on 3.smtp安裝配置(發郵件的) 一:安裝smtp rpm –ivh /mnt/Server/cyrus-sasl…. 二:配置smtp vi /etc/sysconfig/saslauthd #socketdir=/var/run/saslauthd #mech=shadow 三:開啟smtp service saslauthd start chkconfig saslauthd on 四:配置/etc/postfix/main.cf(一定要按照順序配置main.cf,別一下把main.cf全配了,不能你的postfix是啟動不了的) smtpd_sasl_auth_enable =yes smtpd_sasl_local_domain =』』 smtpd_recipient_restrictions =permit_mynetworks, sermit_sal_authenticated,reject_unauth_destination(注意這行和上一行是一起的,是連在一起的,假如這樣分段寫postfix啟動會失敗的 我上次就犯了這種錯誤,能後用冒泡的方法找出來的) broken_sasl_auth_clients = yes smtpd_client_restrictions = permit_sasl_authenticated smtpd_sasl_security_options = noanonymous mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp 五:記得要重啟postfix service postfix restart 4.devecot安裝(這是pop3接收郵件的) 一:安裝devecot yum install dovecot*(yum安裝下次會說) 二:配置dovecot(配置文件/etc/dovecot.conf) protocols = pop3 pop3s; protocol pop3 { listen = *:10100 }; 三:啟動dovecot service dovecot start chkconfig dovecot on 四:安裝cyrus-imapd 要安裝的包cyrus-imapd-perl-2.3.7-7.el5.i386.rpm cyrus-imapd-utils-2.3.7-7.el5.i386.rpm cyrus-imapd-2.3.7-7.el5.i386.rpm cyrus-imapd-devel-2.3.7-7.el5.i386.rpm 配置/etc/postfix/main.cf mailbox_transport =lmtp:unix:/var/lib/imap/socket/lmtp 五:cyrus-imapd服務開啟(這個服務開啟很多人會忘記,一定要記得) /etc/init.d/cyrus-imapd restart 五:為郵箱增加用戶 #passwd cyrus /usr/bin/cyradm –u cyrus localhost createmailbox user.fu user.fu.Send(發郵件) user.fu.Trash(垃圾郵件) user.fu.Drafts(草稿箱) 5.web收發郵件(squirrelmail) php-mbstring-5.1.6-23.2.el5_3.i386.rpm squirrelmail-1.4.8-5.el5_3.7.noarch.rpm 一:進入配置/usr/share/squirrelmail/config/conf.pl 6.在DNS上配置(mail.fu.com)(下次會講怎麼用DNS解析) 7.安裝apache rpm –ivh /mnt/Server/httpd 能後進入主配置文件把servername mail.fu.com就行了 在瀏覽器的地址欄里輸入 http://mail.fu.com/webmail
❷ 141Linux 安裝及配置郵件伺服器
效果截圖
Sendmail :sendmail 是最古老的 MTA(Mail Transfer Agent,電子郵件系統)之一,最早它誕生的時候,Internet 還沒有被標准化,當時主機之間使用的是 UUCP 技術來交換郵件。它被設計得比較靈活,便於配置和運行於各種類型的機器。
Qmail :qmail 是新生一代的 MTA 代表,它以速度快、體積小、易配置安裝等特性而著稱。作者 D.J.Bernstein 是一個數學教授,富有傳奇色彩。他於 1995 年開發 qmail,1996 年發布 0.70 版,並使用了多種當時比較先進的 技術,包括 Maildir,與 sendmail 單個 binary 不同的模塊化設計,許可權分離,以及使用了大量由他編寫的配套工具,如 daemontool,ucsip-tcp 等。qmai 迅速成為了 Internet 上最有名的 MTA,使用者眾。
postfix :postfix 如今已經獨樹一幟,流水線、模塊化的設計,兼顧了效率和功能。靈活的配置和擴展,使得配置 postfix 變得富有趣味。其主要的特點是速度快、穩定,而且配置/功能非常強大,並和 sendmail 類似,提供了與外部程序對接的 API/protocol。尤其是配置部分,postfix 另一個優勢是至今依然保持活躍的開發工作,而且穩步發展,適合高流量大負載的系統,擴充能力較強。本實驗也是基於 postfix 伺服器軟體來實現。
郵件伺服器基本的工作原理
MUA(Mail User Agent):向外發送郵件,以及提供用戶瀏覽與編寫郵件的功能。
MTA(Mail Transfer Agent):(可以理解為 smtpd 伺服器)幫忙將用戶的郵件傳遞出去或接收進來。
MDA(Mail Delivery Agent):將接收下來的郵件存放到對應用戶郵筒當中的程序。通過分析 MTA 所收到郵件的表頭或內容,來判斷此郵件是屬於哪個用戶,然後決定將此郵件投遞給哪個用戶的郵筒里。
MRA(Mail Retrieval Agent):通過 MRA 伺服器提供的郵政服務協議(POP)來接收自己的郵件。
郵件中繼:
SMTPD 要支持郵件路由功能,需要打開 Open Relay 開放式中繼。
SMTPD 是根據收件人判斷郵件是否需要中繼,而且只給指定的客戶端中繼。
註:當 DNS 上存在多個 MX 記錄的主機這時就是根據 DNS 的郵件級判斷了。DNS 上定義的值越小,其優先順序越高。輔助交換器接受到郵件並不能保存郵件。而是這個輔助交換器會等到主郵件交換器空閑的時候把代替它接受下來的郵件在轉給主郵件交換器。所以任何郵件處理都是主郵件交換器處理的。所以我們實際情況下,如果有 2 台伺服器做郵件交換器,性能比較高的應該為主的。
安裝配置過程中,postfix 通過 Internet 發送和接收 email,並存儲在用戶郵箱里。同時客戶也可以通過 IMAP 或者 POP3 恢復他們的郵件。其中的客戶認證是通過 Courier Authdaemon 模塊的。下圖表示出了這個過程:
出現安裝界面時,首先按下 <tab> 鍵切換到確定,然後按下回車。
安裝 postfix 的時候會問你安裝的伺服器類型,對於我們的需要,我們選擇默認的 Internet Site,這是最符合我們的伺服器類型,然後按下回車確認。
使用 vim 編輯配置文件:
大概在第 31 行,編輯 myhostname,修改為 myhostname = shiyanlou.com。
然後我們把alias_map參數修改為 alias_maps = hash:/etc/postfix/virtual,之後會講解virtual裡面填寫什麼。
之後設置mynetworks段落,它定義可以使用這台伺服器的主機,我們這里就用默認的本地地址。你也可設置為其他地址。
編輯完成後按下 Esc 鍵,輸入 :wq 保存退出。
此命令創建了一個用戶 master,其中 -d 和 -m 選項用來為登錄名 master 產生一個主目錄 /usr/master(/usr 為默認的用戶主目錄所在的父目錄)。
我們編寫之前設置的 virtual 文件,這些郵箱地址是用來傳送郵件的。
在這個文件里,我們將設置一個表,對應相關的郵件地址。
完成後保存關閉文件。
我們可以通過調用下面這個命令來實現我們的映射:
接著我們重啟 postfix,完成我們的修改:
我們可以用 shiyanlou 這個賬號給 master 這個賬號發一封郵件。首先我們需要安裝一個命令行收發郵件的軟體 mailutils 。
寫一封郵件
輸入如下內容:
其中 -s 參數是指郵件的標題,< 後面是將要發送的郵件內容從 hello.txt 中重定向。這個命令如果正確執行不會有輸出。
然後我們切換到 master 用戶,查看我們的郵件。
按下回車建可以查看郵件內容,輸入 quit 即可退出郵箱。
Linux 郵件伺服器原理介紹,編譯安裝 Postfix 實現本地的郵件服務
Ubuntu 伺服器指南-郵件服務-Postfix
how-to-run-your-own-mail-server-with-mail-in-a-box-on-ubuntu-14-04
❸ linux怎麼搭建郵箱伺服器
阿里雲 Centos 6.5 32位
Postfix-2.8.12.tar.gz Postfix MTA(郵件傳輸代理)
Dovecot-2.1.8.tar.gz IMAP 和 POP3 郵件伺服器
Postfixadmin-2.3.5.tar.gz 採用PHP編寫的開源WEB郵箱及域名賬號管理工具
Roundcubemail-0.8.1.tar.gz 採用PHP編寫的開源IMAP郵件WEB客戶端
安裝過程
1.安裝Postfix
yum -y install postfix
安裝完成還需要替換系統自帶的sendmail:
rpm -e sendmail
或者
yum remove sendmail
修改MTA(默認郵件傳輸代理)
alternatives --config mta
然後直接回車即可。
檢查一下是不是已經設置成功了。
alternatives --display mta
第一行可以看到mta的狀態。 例如:mat - status is manual.
2.安裝Dovecot
yum -y install dovecot
3.配置Postfix
編輯/etc/postfix/main.cf,可以下載下來修改,也可以使用vi進行編輯:
vi /etc/postfix/main.cf
修改如下:
# 75行: 取消注釋,設置hostname
myhostname = mail.lomu.me
# 83行: 取消注釋,設置域名
mydomain = lomu.me
# 99行: 取消注釋
myorigin = $mydomain
# 116行: 修改
inet_interfaces = all
# 119行: 推薦ipv4,如果支持ipv6,則可以為all
inet_protocols = ipv4
# 164行: 添加
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 264行: 取消注釋,指定內網和本地的IP地址范圍
mynetworks = 127.0.0.0/8, 10.0.0.0/24
# 419行: 取消注釋,郵件保存目錄
home_mailbox = Maildir/
# 571行: 添加
smtpd_banner = $myhostname ESMTP
# 添加到最後
# 規定郵件最大尺寸為10M
message_size_limit = 10485760
# 規定收件箱最大容量為1G
mailbox_size_limit = 1073741824
# SMTP認證
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
修改好了之後使用/etc/rc.d/init.d/postfix start開啟postfix,使用chkconfig postfix on將postfix開機啟動。
4.配置Dovecot
修改如下:
[root@mail ~]# vi /etc/dovecot/dovecot.conf
# 26行: 如果不使用IPv6,請修改為*
listen = *
[root@mail ~]# vi /etc/dovecot/conf.d/10-auth.conf
# 9行: 取消注釋並修改
disable_plaintext_auth = no
# 97行: 添加
auth_mechanisms = plain login
[root@mail ~]# vi /etc/dovecot/conf.d/10-mail.conf
# 30行: 取消注釋並添加
mail_location = maildir:~/Maildir
[root@mail ~]# vi /etc/dovecot/conf.d/10-master.conf
# 88-90行: 取消注釋並添加
# Postfix smtp驗證
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
[root@mail ~]# /etc/rc.d/init.d/dovecot start
Starting Dovecot Imap: [ OK ]
[root@mail ~]# chkconfig dovecot on
到這里,我們的郵件伺服器就已經搭建成功了。
5.域名解析
最後別忘了還需要進行域名解析工作。
添加一個子域名mail,A記錄解析到伺服器IP。
再添加一個MX記錄,主機記錄為空,記錄值為上面解析的二級域名mail.lomu.me,優先順序10。
注意:解析生效可能需要一段時間。
6.防火牆設置
/sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 143 -j ACCEPT
突破封鎖25口的轉發
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 10025 -j REDIRECT --to-ports 25
7.郵箱使用
一切都弄好以後,就可以使用Foxmail等第三方軟體來收發郵件了。在這里需要說一下,系統用戶就是郵件的用戶,例如root,就是一個郵箱用戶,郵箱是[email protected],密碼就是root的密碼,所以需要創建用戶,只要使用useradd創建用戶,再使用passwd設置密碼。
好了,假如我們創建一個admin的用戶:
# 創建用戶
useradd admin
#設置密碼,會要求輸入兩次密碼
passwd admin
這里需要注意,郵件賬號是admin,並不是郵箱,另外我們沒有配置SSL,所以也不要勾選。 接下來點擊創建,如果一切正常的話,你已經成功了。
❹ sendmail 在linux 中如何啟動
分類: 電腦/網路 >> 操作系統/系統故障
解析:
Sendmail的配置十分復雜。它的配置文件是sendmail.cf,位於/etc/mail目錄下。由於sendmail.cf的語法深奧難懂,很少有人會直接去修改該文件來對Sendmail伺服器進行配置。我們一般通過m4宏處理程序來生成所需的sendmail.cf文件。創建的過程中還需要一個模板文件,系統默認在/etc/mail目錄下有一個sendmail.mc模板文件。
我們可以根據簡單、直觀的sendmail.mc模板來生成sendmail.cf文件,而無需直接編輯sendmail.cf文件。可以直接通過修改sendmail.mc模板來達到定製sendmail.cf文件的目的。這里介紹創建sendmail.cf文件的步驟:
(1)備份原有sendmail.cf文件
在終端命令窗口運行以下命令:
cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK
(2)生成sendmail.cf文件
根據sendmail.mc模板文件產生sendmail.cf配置文件,並導出到/etc/mail/目錄下:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
(3)重啟sendmail服務
[root@ahpeng root] /etc/rc.d/init.d/sendmail restart
很顯然,用m4宏編譯工具創建sendmail.cf文件比較方便,而且不容易出錯,更可以避免某些帶有安全漏洞或者過時的宏所造成的破壞。一個sendmail.mc模板的大致內容如下:
divert(-1)dnl
......
include('/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID('setup for Red Hat Linux')dnl
OSTYPE('linux')dnl
......
dnl #
dnl define('SMART_HOST',' *** tp.your.provider')
dnl #
define('confDEF_USER_ID',''8:12'')dnl
define('confTRUSTED_USER', ' *** msp')dnl
dnl define(′confAUTO_REBUILD′)dnl
......
這里介紹sendmail.mc模板的語法組成:
dnl:用來注釋各項,同時dnl命令還用來標識一個命令的結束。
divert(-1):位於mc模板文件的頂部,目的是讓m4程序輸出時更加精簡一些。
OSTYPE ('OperationSystemType'):定義使用的操作系統類型,顯然這里應該用linux代替OperationSystemType,注意要用一個反引號和一個正引號把對應的操作系統類型括起來。
define:定義一些全局設置,對於Linux系統,設置了OSTYPE之後,可以定義下面的一些全局參數,如果不定義,就使用默認值。這里舉兩個簡單例子:define('ALIAS_FILE','/etc/aliases')
定義別名文件(alia file)的保存路徑,默認是/etc/aliases
define('STATUS_FILE', '/etc/mail/statistics')
sendmail的狀態信息文件。
以上只是sendmai.mc的一些簡單的語法解釋,更多的參數含義及其配置信息可以參見sendmail/m4/eaking_config。
為新用戶開電子郵件賬號
在Linux里為新用戶開設電子郵件賬戶比較簡單,只需在Linux系統里新增一個用戶即可。單擊"主菜單→系統設置→用戶和組群"菜單項,打開"Red Hat用戶管理器"對話框,單擊"添加用戶"按鈕,在出現的"創建新用戶"對話框里指定用戶名、登錄口令即可,如圖3所示。
假設我們添加了一個用戶Peter(密碼為peter),這樣該用戶就有了一個郵件地址Peter@YourDomain(此處的YourDomain用你自己域名代替)。
以上過程也可以在終端命令窗口運行以下命令來實現:
[root@ahpeng root]#adser peter -p peter
為電子郵件賬戶設置別名
有一些用戶想使用多個電子郵件地址,是不是需要創建多個郵件賬號呢?我們可以使用別名(alias)來解決這個問題。
比如說,用戶peter想擁有以下3個電子郵件地址:
peter@YourDomain、dearpeter@ YourDomain、truepeter@ YourDomain。
我們可以通過以下步驟來實現這樣的別名設置:
新增一個賬號peter;然後用vi、或者Kate等文本編輯器打開/etc/aliases,在裡面加上兩行:
dearpeter: peter
truepeter: peter
保存該/etc/aliases退出。
不過,就這樣還不能讓Sendmail接受新增的別名,我們必須在終端命令窗口運行newaliases命令,以要求Sendmail重新讀取/etc/aliases文件。如果一切無誤,應該可以看到類似以下的回應消息:
[root@ahpeng root]# newaliases
/etc/aliases: 63 aliases, longest 10 bytes, 625 bytes total
這樣,發給peter的郵件可以使用3個郵件地址,而peter只需要使用一個電子郵件賬號peter@YourDomain就可以接收所有寄給以上3個地址的電子郵件。
指定郵箱容量限制
當一個郵件伺服器為許多人提供郵件服務時,無 *** 的電子郵件將很容易塞滿伺服器的硬碟,造成硬碟負擔。如果不想為用戶提供無限空間的郵件暫存空間,可以使用"郵件限額"來給用戶一個有限的暫存空間。
其實,它是利用磁碟配額功能來實現的。電子郵件的暫存空間是在/var/spool/mail目錄下,只要通過磁碟配額設定每一個用戶在這個目錄下能使用的最大空間即可。
支持POP和IMAP功能
到現在為止,我們已經可以用Outlook Express發送郵件,或者登錄伺服器使用mail、pine命令收取、管理郵件。但是還不能用Outlook Express等客戶端從伺服器下載郵件,這是因為Sendmail並不具備POP3(IMAP)的功能,所以我們必須自己安裝。
(1)POP和IMAP伺服器安裝
安裝Red Hat Linux 9.0時,可以選擇安裝POP和IMAP伺服器,可以在終端命令窗口運行以下命令進行驗證:
[root@ahpeng root]# rpm -qa imap
imap-2001a-18
如果沒有安裝,可以將第2張安裝光碟放進光碟機,然後在終端命令窗口運行以下命令即可開始安裝:
[root@ahpeng root]#cd /mnt/cdrom/RedHat/RPMS
[root@ahpeng root]#rpm -ivh imap-2001a-18.i386.rpm
由於Red Hat Linux 9.0已經將POP和IMAP打包成一個單獨的套件,安裝好imap-2001a-18.i386.rpm,就會同時安裝這兩個伺服器
(2)啟動POP和IMAP服務
要成功啟動POP和IMAP伺服器,首先要確定這些服務存在於/etc/services文件,確保以下的服務前面沒有加上#注釋(如果有,必須去除注釋)。
imap 143/tcp imap2 # Interim Mail Access Proto v2
imap 143/udp imap2
pop2 109/tcp pop-2 postoffice # POP version 2
pop2 109/udp pop-2
pop3 110/tcp pop-3 # POP version 3
pop3 110/udp pop-3
修改好/etc/services文件,接下來就要對相應服務配置文件進行定製:
啟動POP3服務:必須修改/etc/xid.d/ipop3文件,將其中的"disable=yes"改為"disable=no",保存該文件。最後必須重新啟動xid程序來讀取新的配置文件,使得設定內容生效:
[root@ahpeng root]#/etc/rc.d/init.d/xid reload
啟動IMAP服務:必須修改/etc/xid.d/imap文件,將其中的"disable = yes"改為"disable =no",保存該文件。最後必須重新啟動xid程序來讀取新的配置文件,使得設定內容生效:
[root@ahpeng root]#/etc/rc.d/init.d/xid reload
設置好以後,就可以在Outlook Express裡面設置好郵件賬號,以後就可以直接利用Sendmail伺服器進行收發郵件了,由於郵件伺服器就在本地區域網,所以速度很快。
❺ linux下的sendmail如何配置
sendmail的功能強大,配置起來也十分繁瑣。本例僅介紹如何架設小型的區域網電子郵局。
1、設置sendmail 作為守衛進程(daemon)啟動
可以使用以下命令來確認 sendmail 是否已經啟動:ps –A|grep sendmail
如果啟動了 sendmail,那麼這個命令將顯示出它的相關信息。如果沒有啟動,則需要在/etc/rc.d/rc.net 文件中加上如幾行代碼:
if [-f /usr/lib/sendmail ];
then(cd /usr/spool/mqueue;rm –f if *)
/usr/lib/sendmail-bd-qlh;echo –n 『sendmail』>/dev/console
fi
2、設置sendmail.cf
sendmail.cf是sendmail的配置文件。在安裝了 Linux 系統之後,它將自動生成一個適合本系統使用的 sendmail.cf 文件,位於/etc/sendmail.cf
3、開啟SMTP、POP 埠
在默認情況下,SMTP 埠是打開的,而 POP埠是關閉的,我們必須將它打開:
1)用 root(超級許可權)登錄到伺服器上;
2)編輯文件/etc/inetd.conf;
3)找到描述 POP 埠的語句:#pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop3d
4)將 POP3的描述語句那一行的注釋號「#」去掉。
5)如果沒有找到,就手工補上這一行;(另外,我們還可以驗證一下是否存在 SMTP埠的描述語句) ;
6)存檔後退出。
7)運行 inetd 命令,使得設置生效。
8)用以下命令驗證,看 POP3 埠是否打開(生效):netstat –a |grep pop
如果打開的話,可以看到以下信息:tcp 0 0 *:pop3 *:* LISTEN
4、為新用戶開E-Mail 帳號
在 Linux 中開設 E-Mail 帳號十分簡單,只要在 Linux 系統中新增一個用戶即可。該用戶帳號和密碼就是E-Mail 的帳號和密碼。如:為新用戶 guest 開一個E-Mail帳號,用以下命令即可:
adser guest passwd guest
這樣,該新用戶的 E-Mail 地址就是:[email protected] ;密碼為:guest
5、為E-Mail 帳號設置別名
如果某個用戶想使用多個 E-Mail 地址,可通過設置別名的方法來實現。比:用戶「杜
方冬」想同時擁有 E-Mail 地址:[email protected] ;[email protected] ;[email protected]
就可通過以下步驟來實現這樣的別名設置:
1)以 root 登錄伺服器;
2)新增一個賬號 dfd;
3)編輯文件/etc/aliases,加上兩行:
fd:dfd
fd2000:dfd
4)存檔退出;
5)執行命令: newaliases
這樣,用戶杜方冬就擁有三個郵件地址,杜方冬只需使用一個E-Mail 帳號:[email protected]就可以接收所有寄給以上三個E-Mail 郵件地址的電子郵件。
6、郵箱空間的限定
如果你想控制用戶郵箱空間的大小,可以對它進行限定。實現方法是利用磁碟限額功能來實現的。電子郵件的暫存空間是在/var/spool/mail 目錄下,只要通過磁碟限額設定每一個用戶在這個目錄下能使用的最大空間就可以了。