您的位置:首页 > 其它

postfix dovecot 安装配置客户端收信

2011-08-26 12:57 429 查看
Postfix 是MTA负责接收MUA传过来要发送到信件,以及和其他MTA传递信件和relay,用的是SMTP协定。
Dovecot是 MDA,负责MUA收信。用的是POP3,POP3S,IMAP, IMAPS协定

一 : 首先安装Postfix , sudo aptitude install postfix。随便选,因为待会我们要重新设定
执行 sudo dpkg-reconfigure postfix 进入设定画面
(1)General type of mail configuration : 选 internet site
(2) Mail name : 输入在 www.dyndns.com 申请到的DDNS
(3) Post master : 就输入在ubuntu 里的 user name
(4) Final destination : 这个不用改
(5) Synchronous update on mail queue : 选 no, 处理邮件的速度会快一些
(6) Local network : 127.0.0.0/8 192.168.0.0/24 这样同一个网段也可以经由postfix发mail
(7) Mailbox size limit : 0 , 不用改
(8) Local address extension : + ,不用改
(9) Internet protocol : 选IPv4就可以了

这样main.cf基本设定就差不多了。接下来可以telnet 进smtp试试看发信,如下:
(1) telnet localhost 25
(2) helo kenji
(3) mail from: kenji@xxx.com 发信人的mail address,,随便填,反正没王法
(4) rcpt to : xxxxxxx@gmail.com 收信人的mail address ,用gmail测试,速度快
(5) data 然后enter . 然后输入信件内容。写完之后,enter 到下一行,输入一个dot ,,就是 . 在按enter ,,,信就queue了,,其实是已经发出去了。去gmail看一下。。哇,真快。

可是telnet 进smtp发信,,怎么没有subject呢,真是怪异。后来发现怎么加上subject了。就在信件内容第一行输入subject: xxxxxx,内容在第二行开始输入。不过中文发不出去,不知道为什么。。。

不过呢,这封测试的mail,直接就被gmail丢到spam里面了。。

再来测试从Gmail发到postfix.当然要把DDNS先设定好,在router把port 25 forward到postfix这台电脑。从Gmail发信成功,没有任何错误讯息,问题是,mail在哪里?答案是,,,在/var/spool/mail 里面。就是你对email account 那个档案。这是mbox的格式。不过呢,我们要用的是Maildir,据说Maildir比mbox效能好。这时候我们就要到 /etc/postfix/main.cf 来更改一些设定。

在最后一行加入 home_mailbox = Maildir/ , 然后restart postfix。在从gmail发信之前,我们进入自己的家目录看看,并没有Maildir这个目录。从Gmail发邮件之后,发现家目录里多了个一个Maildir..信件就在里面了。不过不是像mbox这样,所有信件都在一个档案里。而是每个信件一个档案,在' mailbox_command = procmail -a "$EXTENSION" '那一行前面加上一个"#"将其注释掉

二: 再来安装Dovecot , sudo aptitude install dovecot-imapd dovecot-pop3d
然后进入 /etc/dovecot 里面的dovecot.conf

找到这一段落 Mailbox locations and namespaces 里面有个参数 mail_locations = ,有几个预设的设定都被comment掉了。就是两个设定,一个是Maildir ,另一个是mbox,我们要用Maildir ,所以把mail_location = maildir:~/Maildir 给uncomment掉就可以了。

三:到目前为止,postfix 可以收到外部来信,可以relay给本机上的mail account ,可以发信。而dovecot 可以收信,不过要输入linux user的密码。所有的email account同时也是linux 里面的user。所以不需要再为使用者增加新的email account.

用thunderbird来试试看,发信和收信。收信选pop 和 smtp , server 是localhost .但这一切都在本机上执行。而且server的设定是localhost,,如果要从外面连进来,应该怎么做呢?

在thunderbird里面把pop ,smtp server 都设定成dyndns.com申请来的DDNS . 来测试看看。
(1)测试dovecot收信,输入密码,可是没用,系统提示要有TLS,SSL。解决如下:
在 dovecot.conf 找到 disable_plaintext_auth = ,把这个uncomment掉,然后设为 no。就是可以用plaintext来验证。重启dovecot,这样就可以收到信了。
如果服务器不能向外网发送邮件:

可以更改 /etc/postfix/main.cf文件

mynetworks = 127.0.0.0/8,192.168.0.0/24,外网ip地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: