postfix 邮件网关之一

1, 58.215.76.168 (内部接受邮件服务器)

接受邮局服务器 

[root@mail6 conf]# cat main.cf

alias_database = hash:/usr/prima/postfix/conf/aliases

alias_maps = hash:/usr/prima/postfix/conf/aliases

append_at_myorigin = yes

append_dot_mydomain = no

command_directory = /usr/prima/postfix/sbin

config_directory = /usr/prima/postfix/conf

daemon_directory = /usr/prima/postfix/libexec

debug_peer_level = 2

disable_vrfy_command = yes

inet_interfaces = all

local_recipient_maps = $alias_maps hash:/usr/prima/postfix/conf/virtual

mail_owner = postfix

mailbox_transport = maildrop

maildrop_checkquota = yes

# The maildrop_checkquota_all controls whether reject mail only when all

# receipts are out of quota. This should be turned off.

maildrop_checkquota_all = no

maildrop_destination_recipient_limit = 1

mailq_path = /usr/bin/mailq

manpage_directory = /usr/prima/postfix/man

maximal_backoff_time = 3600s

maximal_queue_lifetime = 5400s

minimal_backoff_time = 1800s

mydestination = $myhostname $transport_maps

myhostname = mail6.edong.com

mynetworks = 127.0.0.0/8

mynetworks_style = subnet

newaliases_path = /usr/bin/newaliases

queue_directory = /var/spool/postfix

queue_run_delay = 60s

readme_directory = /usr/prima/postfix/conf/README_FILES

sample_directory = /usr/prima/postfix/conf/samples

sendmail_path = /usr/sbin/sendmail

setgid_group = postdrop

smtp_skip_4xx_greeting = no

smtpd_etrn_restrictions = reject

smtpd_helo_required = yes

smtpd_recipient_limit = 100

# freemail host checks

smtpd_restriction_classes = from_freemail_host

from_freemail_host = xheader_if_reject check_client_access hash:/usr/prima/postfix/conf/freemail_hosts,

        reject

smtpd_recipient_restrictions = reject_unauth_pipelining,

        permit_mynetworks,

        reject_unknown_recipient_domain,

        permit_sasl_authenticated,

#       xheader_if_reject reject_unknown_client,

#       xheader_if_reject reject_unknown_hostname,

#       xheader_if_reject reject_unknown_sender_domain,

#        xheader_if_reject reject_invalid_hostname,

#        xheader_if_reject reject_non_fqdn_hostname,

#        xheader_if_reject reject_non_fqdn_sender,

#        xheader_if_reject reject_non_fqdn_recipient,

#       check_sender_access hash:/usr/prima/postfix/conf/freemail_access,

        reject_unauth_destination,

        check_client_access hash:/usr/prima/postfix/conf/filter_server,

        check_recipient_access regexp:/usr/prima/postfix/conf/mail_filter,

        check_client_access hash:/usr/prima/postfix/conf/white_list_server,

        reject_rbl_client zen.spamhaus.org

smtpd_sasl_auth_enable = yes

smtpd_sasl_local_domain = $myhostname

soft_bounce = no

strict_rfc821_envelopes = yes

transport_maps = hash:/usr/prima/postfix/conf/transport

virtual_alias_maps = hash:/usr/prima/postfix/conf/virtual

bounce_queue_lifetime = 0

smtpd_timeout = 60s

parent_domain_matches_subdomains = 

relayhost = [gw2.edong.com]

always_bcc = 

message_size_limit = 31457280


2, filter_server主要作用是接受来自如下两ip的信件。


(注:在76.168接受所有邮件后会通过mail_filter转向到gw1.edong.com及203.191.144.138上,所以在通过main.cf内check_client_access hash:/usr/prima/postfix/conf/filter_server,

      check_recipient_access regexp:/usr/prima/postfix/conf/mail_filter,


的过滤后来接受来自网关的信件。这样可以过滤点一大部分垃圾邮件。)


[root@mail6 conf]# cat filter_server

203.191.144.138 OK

203.191.144.137 OK


3, 接受客户发来的信件

[root@mail6 conf]# cat white_list_server

58.215.76.168 OK


4,  将接受到的邮件发到网关gw1.edong.com进行过滤后再返回正常进入接受队列。

[root@mail6 conf]# cat mail_filter

/techsun.com.cn/ FILTER spamfilter:[gw1.edong.com]:10025

#/[c-fC-F].*.com.cn/ FILTER spamfilter:[gw1.edong.com]:10025

/[email protected]/ FILTER spamfilter:[gw1.edong.com]:10025

#/.*/ FILTER spamfilter:[gw1.edong.com]:10025


5,


transport_maps这个参数对应的是所有目标接受方的地址。


[root@mail6 conf]# cat transport

weilesci.com maildrop:

talentbright.com maildrop:

shbizun.com maildrop:

zambon.com.cn smtp:

ags.co.th smtp:

oweb.cn smtp:oweb.cn

decens.cn maildrop:


6,master.conf


spamfilter unix -       -       n       -       -       smtp    -o smtp_send_xforward_command=yes


需要注意的是这条,spamfilter是通过这条来对初次接收到的邮件转发到网关上去,它主要这个功能。


有些老的postfix不只能spamfilter的功能,需要|grep spamfilter,看是否有相关的rpm,如果有则支持。

# ==========================================================================

# service type private unpriv chroot wakeup maxproc command + args

#               (yes)   (yes)   (yes)   (never) (100)

# ==========================================================================

smtp      inet n       -       n       -       -       smtpd

#628      inet n       -       n       -       -       qmqpd

pickup    fifo n       -       n       60      1       pickup

cleanup   unix n       -       n       -       0       cleanup

#qmgr      fifo n       -       n       300     1       qmgr

qmgr     fifo n       -       n       300     1       nqmgr

rewrite   unix -       -       n       -       -       trivial-rewrite

bounce    unix -       -       n       -       0       bounce

defer     unix -       -       n       -       0       bounce

flush     unix n       -       n       1000?   0       flush

proxymap unix -       -       n       -       -       proxymap

smtp      unix -       -       n       -       -       smtp

relay     unix -       -       n       -       -       smtp

#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5

showq     unix n       -       n       -       -       showq

error     unix -       -       n       -       -       error

local     unix -       n       n       -       -       local

virtual   unix -       n       n       -       -       virtual

lmtp      unix -       -       n       -       -       lmtp

#

# Interfaces to non-Postfix software. Be sure to examine the manual

# pages of the non-Postfix software to find out what options it wants.

#

# maildrop. See the Postfix MAILDROP_README file for details.

#

maildrop unix -       n       n       -       -       pipe

flags=DORhu user=vmail argv=/usr/prima/maildrop/bin/maildrop -d ${recipient} -w 90

#

# The Cyrus deliver program has changed incompatibly, multiple times.

#

old-cyrus unix -       n       n       -       -       pipe

flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}

# Cyrus 2.1.5 (Amos Gouaux)

cyrus     unix -       n       n       -       -       pipe

user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}

uucp      unix -       n       n       -       -       pipe

flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)

ifmail    unix -       n       n       -       -       pipe

flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)

bsmtp     unix -       n       n       -       -       pipe

flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient


spamfilter unix -       -       n       -       -       smtp    -o smtp_send_xforward_command=yes



2009-04-28


你可能感兴趣的:(邮件,postfix,网关之一)