搞了很久,浪费我不少时间,终于把Ubuntu下postfix邮件服务器搭建搞定。。。不过偶没玉米,只能在虚拟机以内网IP代替了。
具体操作:
安装 postfix
sudo apt-get install postfix
安装mailx软件包来用做mail命令邮件工具的程序。安装这个包来安装mail命令。
sudo apt-get install mailx
测试默认的安装
这样添加一个用户。
sudo useradd -m -s /bin/bash fmaster
sudo passwd fmaster
用下面的命令来测试默认的安装。
telnet localhost 25
Postfix将出现下面这样的终端提示,这样你就可以输入一些SMTP命令。
Trying 127.0.0.1...
Connected to mail.fossedu.org.
Escape character is '^]'.
220 localhost.localdomain ESMTP Postfix (Ubuntu)
在Postfix的提示符下面输入这些代码段。
ehlo localhost
mail from: root@localhost
rcpt to: fmaster@localhost
data
Subjet: My first mail on Postfix
Hi,
Are you there?
regards,
Admin
. (Type the .[dot] in a new Line and press Enter )
quit
检查'fmaster'的邮箱。
su - fmaster
mail
当你输入mail}命令的时候,终端的输出应该像下面这样。
Mail version 8.1.2 01/15/2001. Type ? for help.
"/var/mail/fmaster": 2 messages 2 new
>N 1 root@localhost Mon Mar 6 12:49 13/479 Just a test
N 2 root@localhost Mon Mar 6 12:51 15/487 My first mail
&
你会观察到邮件被按照数字编号索引了,因此你可以输入你想看的邮件的编号。例如输入'2'来阅读第二封信。阅读完毕使用"q"命令退出。邮件会被写到用户主目录下面的一个叫做'mbox'的文件中。在我们的例子中是'/home/fmaster/mbox'。
mbox型的邮箱中的所有消息被连接并且储存成一个单一的文件。每一个消息的开始被头5个字母是"From"的那一行标示出来,并且每一封消息的末尾有一个空行。
设置Postfix支持Maildir型的邮箱
Maildir 是一个邮件池的格式,这种邮件格式不需要文件锁定来保证消息的完整性,因为邮件以一个特有的名字被保存在一个个单独的文件中。一个Maildir是一个包含3个叫做tmp, new和curd的子目录的目录(常常以Maildir命名)。这些子目录应该在同一个文件系统中。
另一个使用Maildir格式的邮箱的理由是Courier IMAP/POP3服务器只支持Maildir格式的邮箱。
在[这里]能够得到更多关于Maildir的信息。
sudo vi /etc/postfix/main.cf
加入下面的代码:
home_mailbox = Maildir/
在' mailbox_command = procmail -a "$EXTENSION" '那一行前面加上一个"#"将其注释掉。
重启 Postfix 使改变生效。
sudo /etc/init.d/postfix restart
再一次测试你的安装。
安装 courier IMAP 和 POP3
sudo apt-get install courier-pop
sudo apt-get install courier-imap
为postfix增加本地域
sudo vi /etc/postfix/main.cf
将你的域名增加到 'mydestination'。增加完成后它看起来应该象这样:
...
mydestination = mail.fossedu.org, localhost.localdomain, localhost, yourdoamin.com
...
将你的本地网络增加到:
sudo vi /etc/postfix/main.cf
我假定你的本地网络是 192.168.1.0/24 并且将你的本地网络加入到{{{mynetworks}}}。完成后它看起来应该像这样:
mynetworks = 127.0.0.0/8, 192.168.1.0/24
使Postfix从因特网上接收邮件
使用下面的命令在'/etc/postfix/main.cf'增加'inet_interfaces = all'
sudo vi /etc/postfix/main.cf
最后重启Postfix;
sudo /etc/init.d/postfix restart
使用下面的代码再一次测试你的安装是否成功:
telnet mail.yourdomain.com 25
ehlo yourdmain.com
mail from: root@yourdomain.com
rcpt to: fmaster@yourdomain.com
data
Subject: My first mail for my domain
Hi,
Are you there?
regards,
Admin
. (and Enter In a new Line)
quit
检查'fmaster'的邮箱
su - fmaster
cd Maildir/new
ls
现在你将看到邮件在一个个单独的文件中了。
测试 Courier POP3
在终端中输入:
telnet mail.yourdomain.com 110
使用下面示例代码来测试。注意在你自己的环境中做适当的变通。输出应该像下面这样:
Connected to mail.yourdomain.com (69.60.109.217).
Escape character is '^]'.
+OK Hello there.
在Courier POP3服务器的提示符下面输入下面的代码段。我假定你能够看情况输入'+OK'后的行。
user fmaster
+OK Password required.
pass password
+OK logged in.
quit
测试 Courier IMAP
在终端输入这些:
telnet mail.yourdomain.com 143
使用下面的示例代码来测试。注意在你自己的环境中做适当的变通。输出应该像下面这样: