欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
非常簡(jiǎn)明的debian sarge postfix mysql AMaViS webmail web admin安裝配置指南(I)(翻譯)
<pre>非常簡(jiǎn)明的debian sarge + postfix + mysql + webmail + web admin安裝配置指南 想在debian上安裝postfix郵件系統很多年了,參考了許多網(wǎng)上的資料,看得最多的是以下幾個(gè): 王興宇的:http://cngnu.org/technology/Postfix_I.html 陳景峰的:http://www.huihoo.com/internet/postfix/pis/book1.html 但一直不是很成功。原因有以下幾個(gè): 1、所需軟件很多,全都要自行重頭編譯,對于我這些菜鳥(niǎo)非常困難,各個(gè)軟件之間的依賴(lài)關(guān)系一頭霧水。 2、配置過(guò)程復雜,讓人忘而生畏。有時(shí)候看著(zhù)幾百行的配置文件頭皮發(fā)麻。 3、工作原理懵里懵懂,許多參數不知道干什么用的,只能依葫蘆畫(huà)瓢,錯了不知從哪里改。 前幾天看了http://workaround.org/articles/ispmail-sarge/,突然明白了許多道理,居然一下子成功了!我還根據自己的了解改進(jìn)了webmail部分,增加了郵件系統的web管理。不敢獨自享用,編譯出來(lái),供與我有同樣的困惑的fans共享。 利用debian sarge和postfix 2.1構建媲美ISP的郵件系統 作者:Dipl.-Inform. Christoph Haas 原文出處:http://workaround.org/articles/ispmail-sarge/ 譯者:一致連續 翻譯時(shí)間:2005-07-18 版權所有:Copyright ? 2002-2005 Christoph Haas 翻譯和改動(dòng)未經(jīng)作者同意。 最新版本請見(jiàn):http://workaround.org. 摘要: 你可能見(jiàn)過(guò)web主機所有者出租虛擬主機讓你建立自己域來(lái)收發(fā)郵件。你想知道他們怎樣處理數以千計的域名的?不可能所有域和別名都放在 “main.cf” 配置文件中來(lái)手工管理。Postfix 提兩個(gè)特性來(lái)簡(jiǎn)化工作: 虛擬域 除你的本地域外(一般定義在/etc/defaultdomain中),所有收郵件的其它域都稱(chēng)為虛擬域。虛擬域的數量沒(méi)有限制。 數據庫查詢(xún) 你不必將所有用戶(hù)名和郵件地址存在文本文件中。Postfix支持通常的關(guān)系型數據庫系統的查詢(xún),如MySQL和PostgreSQL. 這個(gè)特性非常有用,尤其是你開(kāi)發(fā)基于WEB的GUI管理程序時(shí)。你甚至可以允許用戶(hù)自己管理他們的郵件賬號。 注意!本指南重新作了修訂,雖然我仔細測試過(guò),但仍可能存在bug。如果有疑問(wèn),請參考老一點(diǎn)的版本:http://workaround.org/articles/ispmail-sarge/old/,如果你發(fā)現錯誤,請發(fā)郵件給:workaround-chitchat@workaround.org.如果你想通過(guò)以前的指南來(lái)升級,請參考這一節:http://workaround.org/articles/ispmail-sarge/#migrating 注意!本指南適合于Debian Sarge。如果你運行的是Woody,建議你閱讀[http://workaround.org/articles/ispmail/ 本指南介紹了一個(gè)郵件系統的基本配置。如果你認真做完本文中的所有步驟后,你將擁有一個(gè)可以處理數以千計的域名的和用戶(hù)的郵件系統。以下是郵件系統能提供的特性: POP3/IMAP訪(fǎng)問(wèn) WebMail訪(fǎng)問(wèn) 病毒掃描 垃圾郵件預防 安全的郵件中繼 容易的域名管理 雖然我會(huì )給一個(gè)簡(jiǎn)單說(shuō)明,但以下知識你應預先準備好: MySQL(創(chuàng )建數據庫,授權用戶(hù)訪(fǎng)問(wèn)權限和SQL查詢(xún)語(yǔ)言) SMTP,POP3,IMAP(我假定你對這些協(xié)議有基本的了解) Postfix的基本配置(你應熟悉“mail.cf”配置文件) Debian/Linux(你應知道基本的系統管理如安裝軟件、編輯文本文件) 目錄 1、需要的軟件 2、什么是映射(mapping)? 3、虛擬域怎樣工作 4、第一步:安裝所需要的Debian 軟件包 5、第二步:創(chuàng )建數據庫 6、第三步:創(chuàng )建表 domains forwordings users 7、第四步:創(chuàng )建數據庫映射定義 mysql-virtual_domains.cf mysql-virtual_forwardings.cf mysql-virtual_mailboxes.cf mysql-virtual_email2email.cf 8、第五步:創(chuàng )建一個(gè)系統用戶(hù) vmail 9、第六步:編輯 main.cf 一個(gè)快速測試 10、第七步:讓Postfix理解SMTP認證 告訴Postfix使用SASL/MySQL 使用TLS加密SMTP通信 一個(gè)快速測試 11、第八步:配置POP3/IMAP服務(wù) 一個(gè)快速測試 12、第九步:測試你的配置 域 用戶(hù) 13、第十步:增加你的數據 對于每個(gè)新域 對于每個(gè)新用戶(hù) 對于郵件轉發(fā) 14、掃描病毒和垃圾郵件(可選步驟) 簡(jiǎn)介AMaViS 配置AMaVIS 告訴Postfix使用AMaViS 內容過(guò)濾怎樣工作? 訓練 15、配置webmail(可選步驟) 16、用mailman建立郵件列表 17、問(wèn)題解決 錯誤信息 MySQL 排錯 在線(xiàn)排錯 18、從以前版本的指南移植 19、感謝 20、即將實(shí)現的改進(jìn) 21、興趣列表 1、需要的軟件 整修配置依靠不同的軟件組合在一起協(xié)調工作。讓我們看看都要用到哪些軟件: Postfix:你的MTA(郵件傳遞代理)。通過(guò)SMTP(簡(jiǎn)單郵件傳輸協(xié)議)接收郵件并將它們存放在硬盤(pán)上的相關(guān)位置。 MySQL:用這個(gè)數據庫系統中存儲的信息來(lái)管理Postfix,通常包括用戶(hù)名、域名、郵件轉發(fā)地址和口令。 Courier:Courier象Postfixg一樣,是一個(gè)單獨的郵件服務(wù)器。我們只用它的POP3/IMAP部分讓用戶(hù)訪(fǎng)問(wèn)郵箱。 SASL(Cyrus庫):如果你的用戶(hù)通過(guò)其它ISP上網(wǎng),那么他們的IP地址來(lái)自你的網(wǎng)絡(luò )之外,而郵件服務(wù)器只信任來(lái)自本地IP地址的訪(fǎng)問(wèn)。SASL(簡(jiǎn)單認證和安全層)在SMTP中加入認證讓郵件服務(wù)器能夠信任他們。 AMaViS:一個(gè)郵件病毒掃描軟件,可以在Postfix中當作內容過(guò)濾器使用。它可以在收到的郵件中掃描病毒和垃圾郵件。 phpmyadmin:一個(gè)基于web界面的MySQL管理工具。它比命令行工具更適合初學(xué)者使用(譯者注:用webmin來(lái)管理MySQL也很不錯)。 整個(gè)郵件服務(wù)器的組成和工作流程如下圖所示: -------------------------- --------- ---------------- -------------- | 發(fā)郵件到其它郵件服務(wù)器 | | 收郵件 | | SMTP認證訪(fǎng)問(wèn) | | POP3或IMAP | -------------------------- --------- ---------------- -------------- ____ |\ | / /|| \ | / / | \ | / | \ | / | \ \ | / | / | \ \|/ |/___ | ---------------- ------------------ -------------- -------------------- | Cyrus:auprop | <---Socket--- | Postfix | |Courier:pop3| ---Socket---> |Courier:authdaemon| ---------------- ------------------ -------------- -------------------- | | | | | | | | | 發(fā)郵件給虛擬用戶(hù) 郵箱訪(fǎng)問(wèn) | | | | | | | | | | | ------------------ | | | ---> | 虛擬郵箱 | <--- | | ------------------ | | | | ------------------------------------ | ---------MySQL 3306-------> | MySQL | <-----MySQL 3306--------- ------------------------------------ 2、什么是映射(mappings)? 簡(jiǎn)要的說(shuō),映射是將一個(gè)值指向另一個(gè)值。你可能知道文件:/etc/aliases,其中你可以定義本地域名轉發(fā),有一行類(lèi)似如下: postmaster: root 這將使得給postmaster@your-domain的郵件全部轉給root@your-domain.左邊的(這里是"postmaster")稱(chēng)為L(cháng)HS(左側值),右邊的(這里是"root")稱(chēng)為RHS(右側值)。在討論映射時(shí)一般這樣簡(jiǎn)稱(chēng)。 提示:通常映射文件左邊沒(méi)有冒號。這個(gè)特殊的別名表這所以這樣是為了兼容性。同樣,本地別名文件不是用postmap而用newalianse編譯的。這僅僅是一個(gè)(不好的)例子。 如果你正在以一種快速而不整潔的方式配置Postfix,你多半會(huì )從上面那樣的文本文件開(kāi)始。你只需將映射寫(xiě)在里面,然后運行 postmap filename 就可以將文本文件轉換成一個(gè)名為"filename.db"的哈希文件。在Postfix配置中可以用"hash:filename"來(lái)訪(fǎng)問(wèn)你建立的映射。你可能注意到缺省的別名映射配置是這樣的: alias_maps=hash:/etc/aliases "hash:"是查詢(xún)方法。 在我的配置中,不用文本文件而是使用MySQL數據庫表。這使數據處理起來(lái)更靈活。但數據庫表一般包括兩列以上,你需要告訴Postfix哪一列是LHS,哪一列是RHS.這可以定義在一個(gè)文本文件中,如下所示: user = provider_admin password = DomAKg07 dbname = provider table = virtual_mailboxes select_field = mailbox where_field = email hosts = 127.0.0.1 如果上示文件保存為/etc/postfix/mysql_virtual_mailboxes.cf,你可以使用一個(gè)映射: virtual_mailbox_maps=mysql:/etc/postfix/mysql_virtual_mailboxes.cf 映射的LHS被定義為"where_field",RHS被定義為"select_field".在這個(gè)例子中,它們分別指向列`email`和列`mailbox`.本例中另一些被定義的元素是:"user"(連接MySQL數據庫的用戶(hù)名),"password"(用戶(hù)口令),"dbname"(數據庫名),"table"(數據庫中的表名),"hosts"(運行MySQL的主機名)。 3、虛擬域怎樣工作 我們先簡(jiǎn)要介紹一下Postfix 2.x中虛擬域的處理(不贊成使用Postfix 1.x的處理方式),混亂的配置將使你精疲力竭。有兩種典型的域: 本地域: 所有列在"main.cf"文件中"mydestination"元素中的域都被處理成本地域。你的缺省域(/etc/defaultdomain)一般設定成本地域。給本地域的郵件被交給系統用戶(hù)(在/etc/passwd中設定)。郵件存放在/var/mail中。 虛擬域 郵件服務(wù)器可以接收不做聲傳送給虛擬域的郵件。虛擬域非常靈活。你郵件用戶(hù)不需要系統賬號(這意味著(zhù)用戶(hù)名不需要在/etc/passwd中設定)。所以郵件服務(wù)器可以輕而易舉的處理數以千計的郵件用戶(hù)。一個(gè)映射?。ㄈ缟纤觯┯脕?lái)存儲用戶(hù)的信息。在我的實(shí)例中,我使用MySQL. 事情有點(diǎn)復雜的是,有兩種不同的虛擬域: 虛擬別名域(Virtual Alias Domains) 虛擬別名域可以用來(lái)把發(fā)給一個(gè)地址的郵件轉發(fā)給另一個(gè)地址。這樣一個(gè)域可轉為不接收郵件。我不會(huì )使用這種類(lèi)型的虛擬域,因為我會(huì )用virtual_alias_maps映射的別名,即使這些域沒(méi)有列在虛擬別名域中(譯者注:這句話(huà)沒(méi)譯好,如果感到困惑,不如看原文,現在我同情那些有些譯者了:-/)。(virtual_alias_maps是一個(gè)多用途映射,對通過(guò)系統的所有東西有效,包括本地域。 虛擬郵箱域( Virtual Mailbox Domains) 虛擬郵箱域可以接收這些域用戶(hù)的郵件,放在硬盤(pán)中的郵箱目錄中。仍然可以用virtual_alias_maps來(lái)轉發(fā)郵件到別的郵箱或外部郵件地址,因些不是域中的每個(gè)用戶(hù)都有一個(gè)真實(shí)的郵箱,可以只有一個(gè)郵件轉發(fā)地址。這僅僅是一個(gè)參數用來(lái)告訴Postfix如何處理這些域。順便說(shuō)一句,virtual_mailbox_maps映射一般用來(lái)確定硬盤(pán)上郵箱的位置。 理解一個(gè)域要么是虛擬別名域要么是虛擬郵箱域要么是本地域是非常重要的。如果將一個(gè)域設定為虛擬別名域,是不能使用這些域接收郵件的。正相反,可以用virtual_alias_maps為兩者轉發(fā)郵件。所以虛擬郵箱域通常更靈活。 注意!一個(gè)域要么是虛擬要么是本地的,不能兩者都是!所以如果想使本地域通過(guò)虛擬域管理,要將它從mydestination定義中刪除。將mydestination設定為空或者是:"mydestination=localhost"。給地址類(lèi)似于root@localhost的郵件將交付給本地root用戶(hù)。 建議你及早關(guān)于虛擬域的原始文檔,他們在VIRTUAL_README文件中,這個(gè)文件在postfix-doc包中,可以在/usr/share/doc/postfix/VIRTUAL_README.gz中找到。 4、第一步:安裝需要的Debian軟件包 絕對需要的軟件包有: postfix (Choose: "No configuration",安裝時(shí)選擇:“不配置”) postfix-mysql postfix-doc mysql-client (for MySQL 3.x/4.0) or mysql-client-4.1 (for MySQL4.1) 如果你是在同一臺機器上安裝MySQL服務(wù)器,需要: mysql-server (for MySQL 3.x/4.0) or mysql-server-4.1 (for MySQL4.1) 如果想通過(guò)POP3/IMAP訪(fǎng)問(wèn),需要: courier-authdaemon courier-authmysql courier-pop (for unencrypted POP3 access) courier-pop-ssl (for SSL-encrypted POP3 access) courier-imap (for unencrypted IMAP access) courier-imap-ssl (for SSL-encrypted IMAP access) 如果想通過(guò)認證SMTP發(fā)郵件,需要: postfix-tls (加密認證SMTP) libsasl2 (the Cyrus SASL library) libsasl2-modules (the mechanisms for the SASL library) libsasl2-modules-sql openssl (創(chuàng )建證書(shū)) 如果要掃描病毒和垃圾郵件,需要: amavisd-new spamassassin clamav clamav-daemon zoo unzip unarj lha (非自由軟件!) 如果要提供Webmail需要: sqwebmail 譯者加:sqwebmail不太好用,推薦使用: squirrelmail 可選的軟件包: phpmyadmin(PHP寫(xiě)的用于MySQL數據庫的管理) 5、第二步: 創(chuàng )建數據庫 需要創(chuàng )建一個(gè)數據庫用來(lái)存儲表。如果你是MySQL老手,當然可以用命令行的方式操作,我一般用phpmyadmin來(lái)管理MySQL。它能勝任這項任務(wù)。 提示:數據庫服務(wù)器在剛安裝好后,root用戶(hù)是沒(méi)有口令的,安全起見(jiàn),要先加上口令: mysqladmin -u root password geheimes-passwort 首先創(chuàng )建一個(gè)數據庫。我命名為‘provider‘,因為除了電子郵件,我有別的用途(不在本文討論范圍之內)??梢栽趐hpmyadmin下做,也可在命令行下運行 mysqladmin -u root -p create provider 還需要一個(gè)用戶(hù)有足夠的權限訪(fǎng)問(wèn)數據庫。在命令行下建立一個(gè)數據庫連接: mysql -u root -p 看到mysql>提示符后,輸入SQL命令: grant select on provider.* to provider_admin@localhost identified by ‘your-password‘; 這將創(chuàng )建一個(gè)名為 provider_admin 的數據庫用戶(hù),對 provider 數據庫有 ‘SELECT‘ 權限。記得用你自己的口令替換 your-password 。我用 ‘pwgen -s 16‘命令自動(dòng)產(chǎn)生口令。最后需要重載許可信息,在mysql>提示符下輸入: flush privileges; 6、第三步: 創(chuàng )建表 接著(zhù)要在數據庫中創(chuàng )建一系列的表來(lái)存儲postfix的控制信息。 domains 第一個(gè)表只有一列用于存儲虛擬域名,一行一個(gè)虛擬域,用SQL語(yǔ)句來(lái)建立: CREATE TABLE domains ( domain varchar(50) NOT NULL, PRIMARY KEY (domain), UNIQUE KEY domain (domain) ) TYPE=MyISAM; forwardings 表‘forwardings‘用于建立電子郵件地址的別名??梢杂眠@個(gè)表來(lái)重定向郵件地址。(提示:這個(gè)對本地域也有效)。建立表的SQL語(yǔ)句是: CREATE TABLE forwardings ( source varchar(80) NOT NULL, destination TEXT NOT NULL, PRIMARY KEY (source) ) TYPE=MyISAM; users 最后一個(gè)表 ‘users‘包含了用戶(hù)帳戶(hù)信息。通過(guò)POP3和IMAP訊問(wèn)郵箱的用戶(hù)都得有一個(gè)用戶(hù)名和口令。由于用戶(hù)總是健忘的(瞧瞧你的老板,他的口令可能就放在鍵盤(pán)下),我決定用電子郵件地址作為登錄名。電子郵件地址還用于磁盤(pán)上郵件目錄命名。這個(gè)表只要兩列就夠了。建立表的SQL也很簡(jiǎn)單: CREATE TABLE users ( email varchar(80) NOT NULL, password varchar(20) NOT NULL, UNIQUE KEY email (email) ) TYPE=MyISAM; 7、第四步:創(chuàng )建數據庫映射定義 為了告訴postfix控制信息存儲在數據庫的什么地方,需要在/etc/postfix目錄下建立三個(gè)文本文件。 postfix在chroot環(huán)境中運行(/var/spool/postfix),不能訪(fǎng)問(wèn)除這個(gè)目錄以外的其它文件。我們通常通過(guò)套接字文件/var/run/mysqld/mysqld.sock與MySQL通訊。而這個(gè)文件postfix訪(fǎng)問(wèn)不到。所以要么將這個(gè)套接字文件移個(gè)位置(這會(huì )帶來(lái)別的問(wèn)題),要么使用TCP協(xié)議來(lái)通訊。后者意味著(zhù)要通過(guò)網(wǎng)絡(luò )與MySQL通訊,這樣做的好處是不用關(guān)心chroot環(huán)境的限制。一個(gè)不太嚴重的壞處是:通過(guò)lo界面訪(fǎng)問(wèn)MySQL服務(wù)器,理論上說(shuō)有安全問(wèn)題。為了激活MySQL的網(wǎng)絡(luò )連接,要在/etc/mysql/my.cnf文件中插入一行"bind-address = 127.0.0.1",然后重啟MySQL服務(wù)器(在本文的下一個(gè)版本中,我會(huì )介紹一種非常漂亮的“綁定裝載”方式,通過(guò)在 /etc/fstab中實(shí)現MySQL套接字)。 mysql-virtual_domains.cf 這是一個(gè)簡(jiǎn)單的映射:從虛擬域名(LHS)到字符串‘virtual‘(RHS)。這個(gè)映射用于定義virtual_mailbox_domains(右邊的字符串可以是任何東西,如果你愿意可設定為"banana daiquiri")。 創(chuàng )建這個(gè)文件,并且用你的數據庫服務(wù)器名、數據庫用戶(hù)名和口令替換 ‘...‘ 。不要用"localhost"作為服務(wù)器名,否則Postfix會(huì )試圖使用套接字方式來(lái)與MySQL通訊。如果數據庫服務(wù)器在同一臺服務(wù)器運行,127.0.0.1意味著(zhù)通過(guò)TCP/IP通訊。mysql-virtual_domains.cf文件內容如下: user = provider_admin password = ... dbname = provider table = forwardings select_field = destination where_field = source hosts = 127.0.0.1 mysql-virtual_mailboxes.cf 這個(gè)映射讀取‘forwardings‘表,規定了郵件重定向。它僅僅映射了 ‘source‘ 列和‘destination‘列。用在virtual_alias_maps映射中。文件內容如下: user = provider_admin password = ... dbname = provider table = forwardings select_field = destination where_field = source hosts = 127.0.0.1 mysql-virtual_mailboxes.cf 這個(gè)文件定義了用戶(hù)郵箱。告訴了Postfix特定的郵件存在什么地方。將用它來(lái)映射virtual_mailbox_maps。對于給定的‘email‘地址(LHS),Postfix通過(guò)‘mailbox‘列(RHS)來(lái)尋找。select_field行用來(lái)將‘user@domain.net‘形式的電子郵件地址轉換成目錄‘domain.net/user/‘--用戶(hù)郵箱的存儲位置。最后要包含一個(gè)斜線(xiàn),這樣Postfix將創(chuàng )建一個(gè)郵箱目錄,而不是一個(gè)郵件文件。這在隨后的Courier POP3和IMAP服務(wù)中用得到。mysql-virtual_mailboxes.cf文件如下: user = provider_admin password = ... dbname = provider table = users select_field = CONCAT(SUBSTRING_INDEX(email,‘@‘,-1),‘/‘,SUBSTRING_INDEX(email,‘@‘,1),‘/‘) where_field = email hosts = 127.0.0.1 mysql-virtual_email2email.cf 虛擬域映射virtual_alias_maps是優(yōu)先的。當你想用一個(gè)地址包羅萬(wàn)象時(shí)很有用。(“包羅萬(wàn)象”指你想使用以下的轉發(fā)方式:"@domain.com"->"service@domain.com",將用一個(gè)地址接收所有給這個(gè)域的郵件。)如果在virtual_alias_maps中映射了域@domain.com,那么即使特定地址specific.user@domain.com在 virtual_mailbox_maps中也做過(guò)映射,也是不起作用的,所有郵件將仍會(huì )傳遞給 @domain.com在virtual_alias_maps中指定的地址。 這個(gè)文件可以通過(guò)將user表中的電子郵件地址映射給自己解決這個(gè)問(wèn)題: user = provider_admin password = ... dbname = provider table = users select_field = email where_field = email hosts = 127.0.0.1 注意:確定除了root用戶(hù)外,其它人不能讀這些文件!否則你系統的其它用戶(hù)可以看到明碼方式的數據庫用戶(hù)和口令。運行"chmod o= /etc/postfix/mysql-virtual_*.cf"取消其它用戶(hù)的權限。也可以針這些文件的組屬性調為postfix,運行 "chgrp postfix /etc/postfix/mysql-virtual_*.cf" 即可。 8、第五步:創(chuàng )建一個(gè)vmail系統用戶(hù) 系統可能要處理數以千計的用戶(hù)。不可能給每個(gè)用戶(hù)一個(gè)唯一的UID。我建議創(chuàng )建一個(gè)假冒的用戶(hù)擁有所有郵箱。 用root身份在命令行下運行以下命令: groupadd -g 5000 vmail useradd -g vmail -u 5000 vmail -d /home/vmail -m 9、第六步: 編輯main.cf文件 /etc/postfix/main.cf 是Postfix主要配置文件。我這里只給出虛擬域需要的基本配置。不要將main.cf全清除了,因為里面可能還有你的其它配置信息。 設置 含義 myhostnames = ... 確保這里是全限定的域名。 mydestination = ... 列出本地域名,用分號隔開(kāi),不要將虛擬域名列在這里。 mynetworks = ... 列出可以通過(guò)郵件服務(wù)器發(fā)送郵件的IP地址范圍,很可能就是本地網(wǎng)絡(luò )。 virtual_alias_domains = 不要設置這個(gè)參數,我們不會(huì )使用虛擬別名域。為了與老版本兼容, 可將值設置為virtual_alias_maps virtual_alias_maps = 這個(gè)參數用于重定向表??蓪⒁粋€(gè)郵件地址重定向到其它地址, mysql:/etc/postfix/mysql-virtual_forwardings.cf 甚至將一個(gè)域的所有郵件地址重定向到一個(gè)指定的郵件地址。 mysql:/etc/postfix/mysql-virtual_email2email.cf 信息存于‘forwardings‘表中。每一個(gè)LHS郵件地址被重寫(xiě)為RHS中顯示的 地址。如果有多個(gè)目標地址,可以在一條記錄中用逗號分隔。我也用 mysql-virtual_email2email.cf映射將郵件地址指向自己。這看上去有點(diǎn) 愚蠢,但的確需要,當你想使用一個(gè)包羅萬(wàn)象的地址時(shí)。 參見(jiàn)前面對mysql-virtual_email2email.cf的說(shuō)明。 virtual_mailbox_domains = 這個(gè)參數從`domains`中列出了虛擬郵箱域 mysql:/etc/postfix/mysql-virtual_domains.cf virtual_mailbox_maps = 這是另一個(gè)重要的虛擬郵箱映射。它將電子郵件地址(LHS)映射到本地硬 盤(pán)中。 mysql:/etc/postfix/mysql-virtual_mailboxes.cf 郵箱目錄相對于virtual_mailbox_base。 virtual_mailbox_base = /home/vmail 這是用戶(hù)郵箱在硬盤(pán)上的基目錄。 virtual_uid_maps = static:5000 要告訴郵箱所有者的UID,就是前面創(chuàng )建的vmail。 virtual_gid_maps = static:5000 同上,vmail的GID smtpd_sasl_auth_enable = yes 使SMTP需要認證。 broken_sasl_auth_clients = yes 一些做得不太好的郵件客戶(hù)端,如M$ OutLook,使用一種不贊成的方式來(lái)搜 索需要認證SMTP的郵件服務(wù)器,這個(gè)參數是為了滿(mǎn)足他們。嗯?誰(shuí)在說(shuō) OutLook的壞話(huà):) smtpd_recipient_restrictions = 這個(gè)參數限制了誰(shuí)可以用你的郵件服務(wù)器中繼和轉發(fā)郵件。 permit_mynetworks, permit_mynetworks允許本地網(wǎng)絡(luò )的所有用戶(hù)都可以使用。 permit_sasl_authenticated, permit_sasl_authenticated允許那些通過(guò)認證SMTP登錄的用戶(hù)可以使用。 reject_unauth_destination 最后一個(gè)值reject_unauth_destination指出除relay_domains中列出的域外 都不允許。 smtpd_use_tls = yes 用ssl加密認證SMTP會(huì )話(huà) smtpd_tls_cert_file = /etc/postfix/smtpd.cert TLS需要的ssl證書(shū)位置(我們稍后會(huì )創(chuàng )建的) smtpd_tls_key_file = /etc/postfix/smtpd.key TLS需要的ssl私鑰位置 最后做一個(gè)快速測試: 運行postfix reload 和 postfix check。如果沒(méi)有警告和錯誤,這一部分就做完了。 10、第七步: 讓Postfix理解認證的SMTP(Auth-SMTP) 設想用戶(hù)通過(guò)POP3來(lái)取郵件,然后需要通過(guò)郵件服務(wù)器回信。由于安全原因,Postfix只允許用戶(hù)在mynetworks中定義的位置發(fā)郵件。通常郵件服務(wù)器只用于接收自己域的郵件。如果允許每個(gè)人通過(guò)郵件服務(wù)器發(fā)郵件給任何域,這稱(chēng)為open relay,垃圾郵件制造者就可以通過(guò)你的郵件服務(wù)器發(fā)送大量數字垃圾。所以要求遠程用戶(hù)提供用戶(hù)名和口令。如果認證通過(guò),遠程用戶(hù)也可以象本地網(wǎng)絡(luò )用戶(hù)一樣被信任。大多數郵件客戶(hù)端都有這個(gè)功能。 設置認證SMTP非常簡(jiǎn)單。唯一的問(wèn)題是Debian是在chroot環(huán)境中運行Postfix的,缺省的是在 /var/spool/postfix中。 告訴Postfix使用SASL/MySQL Postfix采用Cyrus SASL庫來(lái)實(shí)現認證SMTP。需要告訴Postfix怎樣訪(fǎng)問(wèn)到存儲了用戶(hù)名和口令的數據。很簡(jiǎn)單,創(chuàng )建一個(gè)/etc/postfix/sasl目錄,將SASL配置文件放在這就可以了: mkdir /etc/postfix/sasl 在這個(gè)目錄下創(chuàng )建一個(gè)smtpd.conf文件,內容如下所示: pwcheck_method: auxprop auxprop_plugin: sql mech_list: plain login cram-md5 digest-md5 sql_engine: mysql sql_hostnames: 127.0.0.1 sql_user: provider_admin sql_passwd: ... sql_database: provider sql_select: select password from users where email=‘%u@%r‘ 如果在配置SASL 時(shí)有麻煩,可以在此處加入一行"log_level: 7",使得日志文件中提供便詳細的信息,幫助查找問(wèn)題所在。 使用TLS加密SMTP通信 加密SMTP會(huì )話(huà)也很重要。如果郵件客戶(hù)端不加密的認證方法,用戶(hù)名和口令會(huì )用很不安全的方式傳輸。所以建議用TLS加密通信。TLS是Transport Layer Security (RFC2246)的縮寫(xiě),在郵件服務(wù)器與外界的連接中,使用SSL(Secure Socket Layer)來(lái)加密。 首先需要一個(gè)SSL證書(shū)。如果不想從認證中心購買(mǎi),可以自己簽署一個(gè)。(個(gè)人意見(jiàn):我想知道購買(mǎi)的怎樣會(huì )更安全。)唯一的不足是:郵件客戶(hù)端不知道你的CA(認證授權)哪里來(lái),會(huì )彈出一個(gè)警告。告訴用戶(hù)要么不理睬這個(gè)警告,要么在計算機中安裝這個(gè)證書(shū)。(Outlook不允許不理睬他不知道的CA。需要安裝證書(shū)才能繼續工作。) 要針對主機smtp.domain.tld制作一個(gè)一年期的證書(shū),可以執行以下命令: openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509 運行過(guò)程中會(huì )問(wèn)幾個(gè)問(wèn)題,填幾個(gè)空,不必在意,隨便輸入一點(diǎn)什么即可。唯一的例外是,當問(wèn)你"Common Name" (主機名)時(shí),必須填寫(xiě)郵件服務(wù)器的主機名。下面是會(huì )話(huà)示例: Country Name (2 letter code) [AU]:DE State or Province Name (full name) [Some-State]:Hamburg Locality Name (eg, city) []:Hamburg Organization Name (eg, company) [Internet Widgits Pty Ltd]:workaround.org email services Organizational Unit Name (eg, section) []:Master of Disaster Common Name (eg, YOUR name) []:smtp.domain.tld Email Address []:postmaster@domain.tld 等一會(huì )兒,當前目錄下會(huì )產(chǎn)生兩個(gè)文件:"smtpd.key"(私鑰文件),"smtpd.cert"(證書(shū))。將兩個(gè)文件移到目錄/etc/postfix中。 注意!私鑰文件任何人不能讀!用以下命令取消其它用戶(hù)的權限: chmod o= /etc/postfix/smtpd.key 再次快速測試一下 運行postfix reload重啟Postfix。運行telnet localhost 25,輸入EHLO anywhere.org,應該可以看到一行:250-STARTTLS。干杯!TLS運行起來(lái)了!。 11、第八步:配置POP3/IMAP服務(wù) 現在設置過(guò)程的大部分完成了,再接再厲!當然,到現在為止,用戶(hù)還不能訪(fǎng)問(wèn)他們的郵箱,這得先配置POP3或者IMAP服務(wù)。首先需要編輯/etc/courier/authdaemonrc,將認證模塊變?yōu)?authmysql": authmodulelist="authmysql" 然后在/etc/courier/authmysqlrc文件中定義MySQL數據庫表中的一個(gè)字段: MYSQL_SERVER localhost MYSQL_USERNAME provider_admin MYSQL_PASSWORD ... MYSQL_PORT 0 MYSQL_DATABASE provider MYSQL_USER_TABLE users #MYSQL_CRYPT_PWFIELD (comment this out) MYSQL_CLEAR_PWFIELD password MYSQL_UID_FIELD 5000 MYSQL_GID_FIELD 5000 MYSQL_LOGIN_FIELD email MYSQL_HOME_FIELD "/home/vmail" MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,‘@‘,-1),‘/‘,SUBSTRING_INDEX(email,‘@‘,1),‘/‘) #MYSQL_NAME_FIELD (comment this out) 仔細點(diǎn),authmysqlrc模塊非常挑剔。確保不是用TAB代替空格分隔,并且每行沒(méi)有尾部空格。最后記得重啟認證進(jìn)程:/etc/init.d/courier-authdaemon restart。 第三次快速測試 試試通過(guò)運行telnet localhost pop3訪(fǎng)問(wèn)一下POP3服務(wù)。應該可以看到"+OK Hello there."。瞧,這下你的用戶(hù)差不多可以使用你的郵件服務(wù)器了。 注意!郵箱里至少有一封信才能收郵件,否則用戶(hù)會(huì )得到一個(gè)含糊不清的錯誤信息。所以建議對每一個(gè)新用戶(hù)發(fā)一封歡迎信。 12、第九步:測試整個(gè)設置 祝賀你!整個(gè)設置完成了?,F在整個(gè)來(lái)試試?,F在在數據庫中創(chuàng )建第一個(gè)虛擬域記錄,試試虛擬域。在相應的數據庫表中創(chuàng )建以下行: domains: Column Value domain virtual.test users: Column Value email [email]user@virtual.test[/email] password secret 這意味著(zhù)有一個(gè)虛擬域名為"virtual.test",一個(gè)用戶(hù)的郵件地址為 "user@virtual.test"(也是他的用戶(hù)名)。用戶(hù)的口令為:"secret"。如果沒(méi)有MX記錄(郵件交換-DNS區域的一部分),就需要手工遞送郵件。與郵件服務(wù)器建立一個(gè)SMTP連接(telnet servername 25),輸入SMTP命令。如下表,左邊是SMTP服務(wù)器的提示,右邊是輸入的命令: 服務(wù)器提示 你的輸入 220 myserver ESMTP Postfix (Debian/GNU) ehlo workaround.org 250-mailtest 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5 250-AUTH=LOGIN PLAIN DIGEST-MD5 CRAM-MD5 250 8BITMIME mail from:<test@workaround.org> 250 Ok rcpt to:<user@virtual.test> 250 Ok data 354 End data with <CR><LF>.<CR><LF></LF></CR></LF></CR> This is a test email. . 250 Ok: queued as ABC1D1C123 quit 221 BYE 如果服務(wù)器的反應和上面一樣,那么郵件就被接收了。在日志文件/var/log/mail.log中,可以看到這么一段: Jul 24 21:48:28 myserver postfix/smtpd[9119]: connect from myserver[127.0.0.1] Jul 24 21:48:48 myserver postfix/smtpd[9119]: F2C1B47BD: client=myserver[127.0.0.1] Jul 24 21:48:52 myserver postfix/cleanup[9144]: F2C1B47BD: message-id=<20040724194842.F2C1B47BD@myserver> Jul 24 21:48:52 myserver postfix/qmgr[9117]: F2C1B47BD: from=<test@workaround.org>, size=313, nrcpt=1 (queue active) Jul 24 21:48:52 myserver postfix/virtual[9148]: F2C1B47BD: to=<user@virtual.test>, relay=virtual, delay=10, status=sent (delivered to maildir) 如果能讀到 "status=sent (delivered to maildir)",說(shuō)明郵件成功遞送了。運行命令find /home/vmail,看看所有子目錄和文件,應該如下所示: /home/vmail/virtual.test /home/vmail/virtual.test/user /home/vmail/virtual.test/user/tmp /home/vmail/virtual.test/user/cur /home/vmail/virtual.test/user/new /home/vmail/virtual.test/user/new/1114511715.V801I7400b.my.server 所有的東西是不是如我描述的一樣工作?如果沒(méi)問(wèn)題,要試試用郵件客戶(hù)端通過(guò)POP3或IMAP(取決于安裝了哪個(gè)服務(wù))收一下郵件。接收郵件的用戶(hù)名就是他的郵件地址"user@virtual.test",口令是"secret"。 13、第十步:添加數據庫記錄 現在測試通過(guò)了,可以配置自己的域和用戶(hù)了。先解釋一下在數據庫中要添加一些什么。 對每一個(gè)新的域: 在‘domains‘表中增加域名。 對每一個(gè)新用戶(hù): 在‘users‘表中增加一行,包括郵件地址和口令(用純文本)。 對每一個(gè)新郵件重定向: 在forwardings‘中新增一行,包括源地址和目的地址。如果有多個(gè)目的地址(如簡(jiǎn)單郵件列表),需要在這一行的相應字段中列出所有地址,用逗號隔開(kāi)。提示:這個(gè)表用來(lái)過(guò)濾途經(jīng)系統的所有郵件,所以本地郵件也可在這里重定向。 舉例: 源 目的 效果 postmaster@my.domain philip@my.domain 將給postmaster的郵件重定向到philip。 @my.domain john@my.domain 將給域my.domain的所有郵件重定向到j(luò )ohn。這個(gè)對`email`表中的用戶(hù)無(wú)效, 例如tina@my.domain,因為一個(gè)域中的特定用戶(hù)總是比一個(gè)“包羅萬(wàn)象”的帳 號有更高的優(yōu)先權。 @my.domain @another.domain 這是整個(gè)域的重定向。域my.domain中的每一個(gè)地址被重定向到 域another.domain的相應地址中。例如:julie@my.domain被重定向到 julie@another.domain。 jesper@my.domain dilbert@my.domain 將遞送給esper@my.domain的郵件重定向到兩個(gè)地址,每個(gè)地址都有一個(gè)拷貝。 ,dilbert@gmail.com </pre>

此帖于 05-08-19 12:05 被 secondgui 編
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Ubuntu 最佳郵件服務(wù)器方案
Ubuntu 12.04安裝配置Postfix dovecot cyrus sasl(mysql虛擬用戶(hù))
linux下安裝postfix郵件系統(二)
利用ubuntu extmail 30分鐘配置好一個(gè)功能強大的郵件服務(wù)器 | 高進(jìn)波Lin...
CentOS 7使用Postfix、Dovecot及MariaDB搭建郵箱服務(wù)器
Debian上PostFix的配置
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久