postfix虚拟设置 – 只redirect一个域

好的 – 我放弃了试图find答案,所以在这里我:)

我有使用虚拟帐户的后缀/ dovecot设置。 我基本上遵循这个指南http://pietervogelaar.nl/ubuntu-12-04-install-postfix-dovecot-and-vimbadmin/

但是我理想的是build立一个邮件服务器作为一个域的端点,同时转发其他域。

example.com是邮件服务器上本地托pipe的虚拟域。 [email protected]是本地服务器上的电子邮件地址,因此邮件存储在/var/vmail/example.com/info中

otherdomain.com是一个域,它需要所有的邮件转发到some.other-server.com,而首先通过垃圾邮件/ AV检查。 没有邮件或帐户存储在本地。

编辑

alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no broken_sasl_auth_clients = yes config_directory = /etc/postfix content_filter = amavis:[127.0.0.1]:10024 dovecot_destination_recipient_limit = 1 enable_original_recipient = no header_checks = regexp:/etc/postfix/header_checks inet_interfaces = all mailbox_size_limit = 0 mydestination = mx1.itmanx.com, localhost, localhost.localdomain, localhost mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = /etc/mailname readme_directory = no recipient_delimiter = + relayhost = smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_invalid_hostname, reject_unauth_pipelining, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_rbl_client sbl.spamhaus.org, permit smtpd_sasl_auth_enable = yes smtpd_sasl_authenticated_header = yes smtpd_sasl_path = private/auth smtpd_sasl_security_options = noanonymous, noplaintext smtpd_sasl_tls_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_tls_auth_only = yes smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_use_tls = yes virtual_alias_maps = mysql:/etc/postfix/mysql/virtual-aliases.cf virtual_gid_maps = static:5000 virtual_mailbox_domains = mysql:/etc/postfix/mysql/virtual-domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql/virtual-mailboxes.cf virtual_transport = dovecot virtual_uid_maps = static:5000 

 # Which domains will this server relay relay_domains = $mydestination, mysql:/etc/postfix/mysql/relay_domains # Which domains/accounts will this server store virtual_alias_domains = mysql:/etc/postfix/mysql/virtual_alias_domains virtual_alias_maps = mysql:/etc/postfix/mysql/virtual_alias_maps virtual_mailbox_domains = mysql:/etc/postfix/mysql/virtual_mailbox_domains virtual_mailbox_maps = mysql:/etc/postfix/mysql/virtual_mailbox_maps virtual_mailbox_base = /var/mail/virtual virtual_uid_maps = static:1000 virtual_gid_maps = static:1000 # Which transport to use for each domain transport_maps = mysql:/etc/postfix/mysql/transport_maps 

/等/后缀/ MySQL的/ relay_domains
〜这个邮件服务器将会中继(即发送到别处)

 user = myuser password = mypassword hosts = 127.0.0.1 dbname = mydatabase query = SELECT domain FROM domains WHERE domain = '%s' and relay = 1 and enabled = 1 

/等/后缀/ MySQL的/ virtual_alias_domains
〜如果要将一个域转发到另一个域,请在alias_domains表中添加转发域,然后在alias_maps表中添加一个路由,例如@ alias.com @ goto.com。

 user = myuser password = mypassword hosts = 127.0.0.1 dbname = mydatabase query = SELECT domain FROM alias_domains WHERE domain = '%s' AND enabled = 1 

/等/后缀/ MySQL的/ virtual_alias_maps
〜用户别名例如[email protected]转到[email protected]
〜Catchall:@ example.com转到[email protected]
〜Nb。 如果您使用的域不在域表中,则必须将其添加到alias_domains表中。

 user = myuser password = mypassword hosts = 127.0.0.1 dbname = mydatabase query = SELECT goto FROM alias_maps WHERE alias = '%s' AND enabled = 1 

/等/后缀/ MySQL的/ virtual_mailbox_domains
〜邮件服务器将处理的虚拟域

 user = myuser password = mypassword hosts = 127.0.0.1 dbname = mydatabase query = SELECT domain FROM domains WHERE domain = '%s' AND relay != 1 AND enabled = 1 

/等/后缀/ MySQL的/ virtual_mailbox_maps
〜在哪里存储虚拟邮箱的邮件,前缀为virtual_mailbox_base

 user = myuser password = mypassword hosts = 127.0.0.1 dbname = mydatabase query = SELECT maildir FROM mailboxes WHERE address = '%s' AND enabled = 1 

/等/后缀/ MySQL的/ transport_maps
〜什么传输用于发送邮件,例如虚拟或中继
〜在这里,你可以把东西,如relay:[relay.mail-server.com]在运输领域

 user = myuser password = mypassword hosts = 127.0.0.1 dbname = mydatabase query = SELECT transport FROM domains WHERE domain = '%s' 

我没有看到你的configuration中的任何运输地图。 它一定是像下面的东西

 transport_maps = mysql:/etc/postfix/sql/relay_transport.conf relay_domains = mysql:/etc/postfix/sql/transport.conf 

/etc/postfix/sql/relay_domain.conf

 user = postfixadmin password = password hosts = localhost dbname = postfixadmin query = SELECT domain FROM domain WHERE domain='%s' and transport = 'relay' and active = 1 

/etc/postfix/sql/transport.conf

 user = postfixadmin password = password hosts = localhost dbname = postfixadmin query = SELECT transport FROM domain WHERE domain='%s' and active = 1 

注意:在说明字段中,您必须指定中继服务器的IP地址

您可以通过http://sourceforge.net/apps/mediawiki/postfixadmin/index.php?title=Relay_Domains获取更多信息