<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[vkill'blog 何永鹏]]></title> 
<link>http://blog.vkill.net/index.php</link> 
<description><![CDATA[]]></description> 
<language>en-US</language> 
<copyright><![CDATA[vkill'blog 何永鹏]]></copyright>
<item>
<link>http://blog.vkill.net/read.php/105.htm</link>
<title><![CDATA[archlinux SBS--mail server（1）： postfix、dovecot 配置基本邮件收发系统]]></title> 
<author>vkill &lt;vkill.net@gmail.com&gt;</author>
<category><![CDATA[linux system]]></category>
<pubDate>Tue, 30 Sep 2008 06:10:42 +0000</pubDate> 
<guid>http://blog.vkill.net/read.php/105.htm</guid> 
<description>
<![CDATA[ 
	最后修改20081002 －－by：vkill<br/><br/>环境：<br/>2.6.25-ARCH bind-9.5.0&nbsp;&nbsp;postfix-2.5.3&nbsp;&nbsp;dovecot-1.0.15<br/>server ip : 192.168.252.77<br/>系统已建好用户 admin 、user1 、user2 三用户，密码都是123456<br/><br/>目的：<br/>只是实现基本的邮件收发功能，基于系统用户，即"本地网域+系统帐户"<br/>所有root的信都由admin用户来收<br/><br/>实现步骤：<br/><br/>1、先安装 bind postfix dovecot<br/><div class="code"><br/>&#91;root@myhost ~&#93;# pacman -S bind postfix dovecot<br/></div><br/><br/>2、配置bind<br/>增加test.net主区域<br/><div class="code"><br/>&#91;root@myhost named&#93;# vi /etc/named.conf<br/>#末行增加下面这段来添加主区域test.net<br/>zone &quot;test.net&quot; IN &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type master;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file &quot;test.net.zone&quot;;<br/>&#125;;<br/></div><br/>test.net区域文件内容如下<br/><div class="code"><br/>&#91;root@myhost ~&#93;# vi /var/named/test.net.zone<br/>$ORIGIN test.net.<br/>@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1D IN SOA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @ root (<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;42&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; serial (yyyymmdd##)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; refresh<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;15M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; retry<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1W&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; expiry<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1D )&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;; minimum ttl<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1D IN NS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1D IN A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.252.77<br/>mail&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1D IN A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.252.77<br/>@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1D IN MX 10&nbsp;&nbsp;&nbsp;&nbsp; mail<br/>smtp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1D IN CNAME&nbsp;&nbsp;&nbsp;&nbsp; mail<br/>pop3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1D IN CNAME&nbsp;&nbsp;&nbsp;&nbsp; mail<br/>imap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1D IN CNAME&nbsp;&nbsp;&nbsp;&nbsp; mail<br/></div><br/>开启服务并测试MX记录是否生效<br/><div class="code"><br/>&#91;root@myhost ~&#93;# /etc/rc.d/named restart<br/>&#91;root@myhost ~&#93;# host -t mx test.net<br/>//如看到下面这段MX记录就已生效<br/>test.net mail is handled by 10 mail.test.net.<br/></div><br/><br/>3、配置postfix<br/>配置postfix主配置文件<br/><div class="code"><br/>&#91;root@myhost ~&#93;# vi /etc/postfix/main.cf<br/>#修改相应参数为相应的值，或者直接增加到文件最后<br/>#================base-config================<br/>myhostname = mail.test.net<br/>mydomain = test.net<br/>myorigin = $mydomain&nbsp;&nbsp;//如邮头中未注明网域名称，则自动补用此参数设置的值<br/>mydestination = localhost, $mydomain&nbsp;&nbsp;//此参数列出postfix应将其视为&quot;本地网域&quot;的所有网域名称<br/>mynetworks = 127.0.0.0/8, 192.168.252.0/24&nbsp;&nbsp;//明确指出哪些主机可以享受转发服务<br/>inet_interfaces = all&nbsp;&nbsp;//指定postfix系统监听的网络接口<br/>mail_spool_directory = /var/spool/mail&nbsp;&nbsp;//系统邮件存储目录<br/>alias_maps = hash:/etc/postfix/aliases&nbsp;&nbsp;//别名文件的路径，默认已经写好的<br/></div><br/>配置别名文件<br/><div class="code"><br/>&#91;root@myhost ~&#93;# vi /etc/postfix/aliases<br/>#默认已经写好一些的，我们只需在文件末增加一行<br/>root:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; admin<br/></div><br/>检查当前postfix配置、重建别名数据库文件并启动服务<br/><div class="code"><br/>&#91;root@myhost ~&#93;# postfix check<br/>&#91;root@myhost ~&#93;# postalias /etc/postfix/aliases<br/>&#91;root@myhost ~&#93;# /etc/rc.d/postfix restart<br/></div><br/>发信测试，实现user1发信给user2：<br/><div class="code"><br/>&#91;root@myhost ~&#93;# ktelnet smtp.test.net 25<br/>Trying 127.0.0.1...<br/>Connected to localhost.localdomain.<br/>Escape character is &#039;^&#93;&#039;.<br/>220 mail.test.net ESMTP Postfix<br/>helo 000<br/>250 mail.test.net<br/>mail from:&lt;user1@test.net&gt;<br/>250 2.1.0 Ok<br/>rcpt to:&lt;user2@test.net&gt;<br/>250 2.1.5 Ok<br/>data<br/>354 End data with &lt;CR&gt;&lt;LF&gt;.&lt;CR&gt;&lt;LF&gt;<br/>hello,i am user1<br/>.<br/>250 2.0.0 Ok: queued as 6D1152D499<br/>quit<br/>221 2.0.0 Bye<br/>Connection closed by foreign host.<br/></div><br/><br/>4、配置dovecot<br/>配置dovecot主配置文件<br/><div class="code"><br/>&#91;root@myhost ~&#93;# cp /etc/dovecot/dovecot-example.conf /etc/dovecot/dovecot.conf<br/>&#91;root@myhost ~&#93;# vi /etc/dovecot/dovecot.conf<br/>#修改相应参数为相应的值<br/>base_dir = /var/run/dovecot/<br/>protocols = imap pop3<br/>listen = *<br/>disable_plaintext_auth = no<br/>#如disable_plaintext_auth != no则登陆时报错Plaintext authentication disallowed on non-secure connections<br/>ssl_disable = yes<br/>#如ssl_disable != yes则启动服务时报错Can&#039;t use SSL certificate /etc/dovecot/ssl/certs/dovecot.pem: No such file or directory<br/>mail_location = /var/spool/mail/%u&nbsp;&nbsp;//服务器邮箱的统一位置，这个要和你在postfix中设置的符合<br/>protocol imap &#123;<br/>&#125;<br/>protocol pop3 &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;pop3_uidl_format = %u<br/>&#125;<br/>auth default &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;mechanisms = plain<br/>&nbsp;&nbsp;&nbsp;&nbsp;passdb pam &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;args = dovecot<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;userdb passwd &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;user = root<br/>&#125;<br/></div><br/>配置pam<br/>因dovecot中passdb选择了pam，所以这里还要做pam认证，其实这里和默认的other内容完全一样，这就是为什么不做这一步也照样可以认证<br/><div class="code"><br/>&#91;root@myhost ~&#93;# vi /etc/pam.d/dovecot<br/>auth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pam_unix.so<br/>account&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pam_unix.so<br/>password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pam_unix.so<br/>session&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pam_unix.so<br/></div><br/>启动服务<br/><div class="code"><br/>&#91;root@myhost ~&#93;# /etc/rc.d/dovecot restart<br/></div><br/>收信测试，看看刚刚user1发给user2的信user2是否收到<br/><div class="code"><br/>&#91;root@myhost ~&#93;# ktelnet pop3.test.net 110<br/>Trying 192.168.252.77...<br/>Connected to mail.test.net.<br/>Escape character is &#039;^&#93;&#039;.<br/>+OK Dovecot ready.<br/>user user2<br/>+OK<br/>pass 123456<br/>+OK Logged in.<br/>stat<br/>+OK 1 426<br/>retr 1<br/>+OK 426 octets<br/>Return-Path: &lt;user1@test.net&gt;<br/>X-Original-To: user2@test.net<br/>Delivered-To: user2@test.net<br/>Received: from 000 (unknown &#91;192.168.252.77&#93;)<br/>&nbsp;&nbsp;by mail.test.net (Postfix) with SMTP id 3C6EE2D499<br/>&nbsp;&nbsp;for &lt;user2@test.net&gt;; Sun, 28 Sep 2008 12:20:37 -0700 (PDT)<br/>Message-Id: &lt;20080928192046.3C6EE2D499@mail.test.net&gt;<br/>Date: Sun, 28 Sep 2008 12:20:37 -0700 (PDT)<br/>From: user1@test.net<br/>To: undisclosed-recipients:;<br/><br/>hello,i am user1<br/>.<br/>quit<br/>+OK Logging out.<br/>Connection closed by foreign host.<br/></div><br/><br/>5、好了，基本的邮件收发系统就好了，现在发封邮件给root，用admin用户来收信看看，也可以用windows下的Outlook Express软件来收发看看<br/>Tags - <a href="http://blog.vkill.net/go.php/tags/%25E5%258E%259F%25E5%2588%259B/" rel="tag">原创</a> , <a href="http://blog.vkill.net/go.php/tags/%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AC%2594%25E8%25AE%25B0/" rel="tag">学习笔记</a> , <a href="http://blog.vkill.net/go.php/tags/auth/" rel="tag">auth</a> , <a href="http://blog.vkill.net/go.php/tags/pass/" rel="tag">pass</a> , <a href="http://blog.vkill.net/go.php/tags/%25E5%258D%258F%25E8%25AE%25AE/" rel="tag">协议</a> , <a href="http://blog.vkill.net/go.php/tags/pop3/" rel="tag">pop3</a> , <a href="http://blog.vkill.net/go.php/tags/smtp/" rel="tag">smtp</a> , <a href="http://blog.vkill.net/go.php/tags/telnetimap/" rel="tag">telnetimap</a>
]]>
</description>
</item>
</channel>
</rss>