设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 服务器技术 >> Mail服务器 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
中小企业如何有效架设邮…
  中小规模POSTFIX邮件系统         ★★★★★
中小规模POSTFIX邮件系统
 

【导读】整个安装描述过程是基于FreeBSD 4.7环境下的,全部功能都安装在一台服务器上,并且拥有mail.localhost.com域名。 整个安装描述过程是基于FreeBSD 4.7环境下的,全部功能都安装在一台服务器上,并且拥有mail.localhost.com域名。
1.安装webmin

下载webmin-1.070.tar.gz

#tar zxvf webmin-1.070.tar.gz

#cd webmin-1.070

#./setup.sh

安装后可以对mysql数据库进行管理,比如添加用户,向表里添加数据。

2.数据库的设置
2.1、安装mysql数据库

本系统使用的是FreeBSD 4.7下ports安装的mysql数据库

(当时使用原码安装时在安装postfix时出错,所以使用ports安装就解决了该问题)。



#cd /usr/ports/databases/mysql323-server/

#make install

#cd work/mysql-3.23.52/

#scripts/mysql_install_db

#cp support-files/my-medium.cnf /etc/my.cnf

#echo “/usr/local/bin/safe_mysqld --user=mysql &” >> /etc/rc.local

#/usr/local/bin/safe_mysqld --user=mysql & 启动mysql服务



2.2、设置数据库



2.2.1、添加mysql用户:



1、使用webmin->mysql数据库服务器->用户权限,添加用户postfix,

密码postfix,主机localhost,并设置拥有相应的权限。



2、使用SQL语句添加用户:

#cd /usr/local/bin

#./mysql –D mysql –p

Password:

mysql>INSERT INTO user (host,user,password)

->VALUES (‘localhost’,‘postfix’,’’);

Query OK. I row affected (0.00 sec)

mysql>UPDATA user SET password=password(‘postfix’)

->WHERE user=’postfix’;

Rows matched: 1 Changed: 1 Warnings: 0

mysql>FLUSH PRIVILEGES;

Query OK. 0 rows affected (0.01 sec)

mysql>GRANT select,insert,update on mail.* TO postfix

Query OK. 0 rows affected (0.01 sec)

mysql>exit



2.2.2、向数据库中添加表



#cd /usr/local/bin/

#ee postfix.sql



CREATE DATABASE;

GRANT ALL ON mail.* mail@localhost IDENTIFIED BY “postfix”;

FLUSH PRIVILEGES;

use mail;

CREATE TABLE forward (

username varchar(255) NOT NULL default ‘’, //本机地址

forward_addr varchar(255) default NULL, //转发地址

PRIMARY KEY (username)

) TYPE=MyISAM;

CREATE TABLE transport (

domain varchar(255) NOT NULL default ‘’, //邮件域

transport varchar(icon_cool.gif default NULL, //处理方式

PRIMARY KEY (domain)

) TYPE=MyISAM;

CREATE TABLE users (

username varchar(128) NOT NULL default ‘’, //用户名

domain varchar(128) NOT NULL default ‘’, //邮件域

address varchar(128) NOT NULL default ‘’, //邮件地址

password varchar(128) NOT NULL default ‘’, //用户密码(明文)

uid int(6) NOT NULL default ‘1024’, //uid

gid int(6) NOT NULL default ‘1024’, //gid

home varchar(255) NOT NULL default ‘/’, //home目录

maildir varchar(255) NOT NULL default ‘’, //maildir目录

quota varchar(255) NOT NULL default ‘’, //邮箱容量

mailok tinyint(3) NOT NULL default ‘1’,

bool1 tinyint(3) NOT NULL default ‘1’,

bool2 tinyint(3) NOT NULL default ‘1’,

PRIMARY KEY (address),

UNIQUE KEY address (address),

KEY address_2 (address)

) TYPE=MyISAM;



输入完毕后保存退出。

#./mysql –u postfix –p < postfix.sql

#password:postfix



2.2.3、向表中添加数据



#/usr/local/bin

#./mysql –u postfix –p

password:******

mysql>use mail

mysql>INSERT INTO transport (domain,transport)

->VALUES (’localhost.com’,’virtual:’);

mysql>INSERT INTO users (username,domain,address,password,uid,gid,

home,maildir,quota,mailok,bool1,bool2)

->VALUES (‘test’,’localhost.com’,’test.localhost.com’,

’test’,’1024’,’1024’,’/’,

’/var/postfix_mail/test/Maildir/’,’5000000’,’1’,’1’,’1’);

mysql>exit



3.安装CYRUS-SASL



#tar –zxvf cyrus-sasl-1.5.27

#cd cyrus-sasl-1.5.27

#./configure --with-pwcheck=/var/pwcheck --enable-login

--enable-plain

#make

#make install



#echo /usr/local/lib/ >> /etc/ld.so.conf

#echo /usr/local/lib/mysql/ >> /etc/ld.so.conf

#ldconfig



#cp /usr/local/include/* /usr/include

#cp /usr/local/lib/lib*.* /usr/lib



#ln –s /usr/local/lib/sasl /usr/lib/sasl

#ln –s /usr/local/include/mysql /usr/include/mysql

#ln –s /usr/local/lib/mysql /usr/lib/mysql



在/usr/local/lib/sasl下建立文件smtpd.conf,添加一下内容:

pwcheck_method:mysql

mysql_user:postfix

mysql_passwd:postfix

mysql_host:localhost

mysql_database:mail

mysql_table:users

mysql_uidcol:address

mysql_pwdcol:password



4.安装和设置postfix



4.1、安装postfix



4.4.1、编译/etc/rc.conf,设置sendmail_enable=”NO”



#mv /usr/bin/newaliases /usr/bin/newaliases.OFF

#mv /usr/bin/mailq /usr/bin/mailq.OFF

#mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF

#pw groupadd postfix –g 1024

#pw groupadd postdrop –g 1025

#pw useradd postfix –u 1024 –g postfix

#echo ‘postfix:root’ >> /etc/aliases



4.4.2、安装postfix和相应的quota补丁



#tar zxvf postfix-1.1.11.tar.gz

#patch < postfix-1.1.11_quota_maildirsize.patch

#make –f Makefile.init makefiles ‘CCARGS=-DUSE_SASL_AUTH 

–DHAS_MYSQL –I/usr/include/mysql’ ‘AUXLIBS=-L/usr/lib/mysql 

–lmysqlclient –lasal –lz –lm’

#make

#make install 按照默认路径一路回车就可以安装成功postfix,如果出错,

在提示“tempdir”时输入:/tmp,这样一般就可以通过。



4.2、设置postfix



postfix默认安装到/etc/postfix目录下,设置文件也在这

#cd /etc/postfix



4.2.1、编译主配置文件main.cf



#ee main.cf 添加如下内容



#Base configure

myhostname = mail.localhost.com //本机的机器名

mydomain = local.com //域名

mynetworks = 127.0.0.0/8 192.168.0.0/16 //允许不经smtp认证能发信的ip段

home_mailbox = Maildir/ //使用的邮箱格式为Maildir/

smtpd_banner = Welcome to localhost.com mail system! //smtp的欢迎信息



#Mysql configure

transport_maps = mysql:/etc/postfix/transport.cf 

//指定那些域的邮件可以被postfix收下来

virtual_mailbox_base =/ //指定用户邮箱所在的根目录

virtual_uid_maps = mysql:/etc/postfix/ids.cf //指定postfix帐号的ID

virtual_gid_maps = mysql:/etc/postfix/gds.cf //指定postfix组的ID

virtual_mailbox_maps = mysql:/etc/postfix/users.cf //指定用户邮箱的目录

virtual_maps = mysql:/etc/postfix/forward.cf //指定自动转发邮件的设置

#Quota configure

message_size_limit = 5000000 //单个邮件大小的限制

virtual_mailbox_limit = 5000000 //默认的邮箱大小

virtual_mailbox_limit_maps = mysql:/etc/postfix/quota.cf 

//每个用户的邮箱大小

virtual_mailbox_limit_override = yes //是否允许覆盖默认的邮箱大小



#smtp configure

smtpd_sasl_auth_enable = yes

smtpd_sasl_local_domain = $myhostname

smtpd_recipient_restrictions = permit_mynetworks 

permit_sasl_authenticated permit_auth_destination reject

smtpd_sasl_security_options = noanonymous

smtpd_client_restrictions = permit_sasl_authenticated



inet_interfaces = all //监听所有端口

inet_interfaces = 192.168.80.21 //是外面的用户也可以发送邮件



4.2.2、查看master.cf文件必须包含下面一行



virtual unix - n n - - virtual



4.2.3、编译transport.cf



#touch transport.cf

#ee transport.cf 添加如下内容

user = postfix

password = postfix

dbname = mail

table = transport

select_field = transport

where_field = domain

hosts = localhost



4.2.4、编译ids.cf



#touch ids.cf

#ee ids.cf

user = postfix

password = postfix

dbname = mail

table = users

select_field = uid

where_field = address

hosts = localhost

4.2.5、编译gds.cf



#touch gds.cf

#ee gds.cf

user = postfix

password = postfix

dbname = mail

table = users

select_field = gid

where_field = address

hosts = localhost



4.2.6、编译forward.cf



#touch forward.cf

#ee forward.cf

user = postfix

password = postfix

dbname = mail

table = forward

select_field = forward_addr

where_field = username

hosts = localhost



4.2.7、编译users.cf



#touch users.cf

#ee users.cf

user = postfix

password = postfix

dbname = mail

table = users

select_field = maildir

where_field = address

hosts = localhost



4.2.8、编译quota.cf



#touch quota.cf

#ee quota.cf

user = postfix

password = postfix

dbname = mail

table = users

select_field = quota

where_field = address

hosts = localhost



4.3、启动postfix



#/usr/sbin/postfix start

postfix/postfix-script: starting the Postfix mail system



#echo “/usr/sbin/postfix start” >> /etc/rc.local



#telnet localhost 25

Connected to localhost.localhost.com.

Escape character is ‘^]’.

220 Welcome to localhost mail system!



4.4、测试postfix



4.4.1、建立mail邮件存放目录

#cd /var

#mkdir postfix_mail

#chown –R postfix:postfix /var/postfix_mail



4.4.2、使用客户端发邮件

此时可以使用客户端的foxmail或者outlook向用户test.localhost.com发送邮件,

然后到/var/postfix/test/Maildir/下查看邮件,如果能收到说明SMTP已经工作正常了,

如果有问题仔细检查自己的每个步骤。



5.安装设置courier-imap



5.1、安装courier-imap



#cd /usr/ports/mail/courier-imap

#make

#cd work/courier-imap-1.5.3

#./configure –with-db=db –without-socks –disable-root-check

#make

#make install

#/usr/lib/courier-imap/libexec/authlib/authdaemon start

#echo “/usr/lib/courier-imap/libexec/authlib/authdaemon start” >> /etc/rc.local



5.2、添加用户



#cd /usr/local/bin

#./mysql –D mysql –p

password:*******

mysql>INSERT INTO user (host,user,password)

->VALUES (‘localhost’,’courier’,’’);

mysql>UPDATA user SET password=password(‘haha’)

->WHERE user=’courier’;

mysql>FLUSH PRIVILEGES;

mysql>GRAN select,insert,update on mail.* TO courier;

mysql>exit



5.3、设置courier-imap



#cd /usr/lib/courier-imap/etc

#cp authdaemonrc.dist authdaemonrc

#cp authmysqlrc.dist authmysqlrc

#cp imapd.dist imapd

#cp imapd-ssl.dist imapd-ssl

#cp pop3d.dist pop3d

#cp pop3d-ssl pop3d-ssl



#ee pop3d



prefix=/usr/lib/courier-imap

exec_prefix=/usr/lib/courier-imap

sbindir=”/usr/lib/courier-imap/sbin”



PIDFILE=/var/run/pop3d.pid

MAXDAEMONS=40

MAXPERIP=4

AUTHMODULES=”authdaemon”

AUTHMODULES_ORIG=”authdaemon”

POP3AUTH=””

POP3AUTH_ORIG=”LOGIN CRAM-MD5 CRAM-SHA1”

POP3AUTH_TLS=””

POP3AUTH_TLS_ORIG=”LOGIN PLAIN”

PORT=110

ADDRESS=0

TCPDOPTS=”-nodnslookup -noidentlookup”

POP3DSTART=YES



#ee imapd



IMAPDSTART=YES



#ee authdaemonrc

authmodulelist=”authmysql authpam”

authmodulelistorig=”authcustom authcram authuserdb authmysql authpam”

daemons=5

[1] [2] 下一页  

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2006-10-10
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:admin    责任编辑:admin 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持