[03-11 13:44:50] 来源:http://www.67xuexi.com 服务器_操作系统教程 阅读:85810次
# 如果使用Courier maildir++ quotas,则使用yes,默认为no
virtual_maildir_extended = yes
virtual_create_maildirsize = yes
#默认邮箱大小限制
virtual_mailbox_limit = 16000000
#是否允许覆盖默认的邮箱大小设置。
virtual_mailbox_limit_override = yes
# no限制整个maildir,yes只限制inbox,默认为no
virtual_mailbox_limit_inbox = no
#针对每个用户的限制
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
# 这个选项在未设置’virtual_maildir_limit_message_maps’时,如果用户超出了限额的提示信息
virtual_maildir_limit_message = Sorry, overquota
# yes的话使用5xx错误,no使用4xx错误,邮件还是会被放入队列
virtual_overquota_bounce = yes
# 是否在计算限额时加上垃圾文件夹,这个选项需要virtual_trash_name配合,默认为no
virtual_trash_count = no
# 设置垃圾文件夹名称,默认值为:.Trash
virtual_trash_name = “.Trash”
17. 创建相关文件
(1) 创建文件/etc/postfix/mysql_virtual_mailbox_maps.cf,内容如下(下面内容其实是查询数据库,具体语句涵义不再赘述):
user = root
password = tiddy
hosts = localhost
dbname = mail
table = users
select_field = maildir
where_field = username
(2) 创建文件/etc/postfix/mysql_virtual_alias_maps.cf,内容如下(下面内容其实是查询数据库,具体语句涵义不再赘述):
user = root
password = tiddy
hosts = localhost
dbname = mail
table = alias
select_field = goto
where_field = address
18. 数据库结构
数据库名称:mail
数据库表users( id in(8) primary key auto_increment, username varchar(50), password varchar(50), domain varchar(50), quota int(10), maildir varchar(200))
数据库表alias( id int(8) primary key auto_increment, address varchar(100), goto varchar(5000), isgroup int(2))
注意:
(1) 表users中的字段maildir保存的邮件存放路径的最后一个字符'/'有无,决定了邮件的存放方式:有'/'表示以maildir方式存放,无'/'表示以mailbox方式存放
(2) 表alias中的字段goto表示根据别名邮箱将邮件实际转发的目标邮箱,如果是群组转发,则goto字段可能保存多个邮箱地址,这些邮箱地址以分号隔开
-----------------------------------------------------------------以上是基本邮件系统的安装及配置---------------------------------------------------------------------------------
-----------------------------------------------------------------以下是对基本邮件系统的完善(包括杀毒和防垃圾邮件的处理)---------------------------------------------------------------------------------
1. 安装杀毒软件(ClamAV)和防垃圾软件(SpamAssassin)及其相关依赖包
# apt-get install libnet-dns-perl pyzor razor arj bzip2 cabextract cpio file gzip lha nomarch pax rar unrar unzip zip
# apt-get install amavisd-new spamassassin clamav-daemon
2. 修改用户权限
# usermod -a -G clamav amavis
# usermod -a -G amavis clamav
3. 修改spamassassin配置文件/etc/default/spamassassin
ENABLED=0 ====> ENABLED=1
CRON=0 ====> CRON=1
4.启动spamassassin
# /etc/init.d/spamassassin start
5. 修改amavis配置文件/etc/amavis/conf.d/15-content_filter_mode
去掉如下内容注释(目的:check病毒和垃圾邮件)
@bypass_virus_checks_maps = (
%bypass_virus_checks, @bypass_virus_checks_acl, $bypass_virus_checks_re);
@bypass_spam_checks_maps = (
%bypass_spam_checks, @bypass_spam_checks_acl, $bypass_spam_checks_re);
6. 修改postfix配置文件/etc/postfix/main.cf,注释掉mydestination,并添加如下内容
# 将postfix接收到的邮件传递给amavis程序进行扫描
content_filter = smtp-amavis:[127.0.0.1]:10024
7. 编辑文件/etc/postfix/master.cf,在文件最后添加如下内容(注意:-o之前必须至少有两个空格,表示跟前面一行在逻辑上是一行)
smtp-amavis unix - - - - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20
127.0.0.1:10025 inet n - - - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks