postfix virtual setup - redireciona apenas um domínio

1

ok - eu desisto de tentar encontrar a resposta para isso então aqui estou:)

Eu tenho a configuração postfix / dovecot usando contas virtuais. Eu basicamente segui este guia link

Mas o que eu quero, idealmente, é configurar um servidor de e-mail para ser um ponto de extremidade para alguns domínios, enquanto retransmita outros.

Exemplo

example.com é um domínio virtual hospedado localmente no servidor de email. [email protected] é um endereço de e-mail no servidor local para que os e-mails sejam armazenados em /var/vmail/example.com/info

otherdomain.com é um domínio que precisa de todas as mensagens retransmitidas para o some.other-server.com enquanto passa pela verificação de spam / av primeiro. nenhum e-mail ou conta são armazenados localmente.

EDITAR

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
    
por Christian 30.07.2013 / 02:11

2 respostas

2
# 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


/ etc / postfix / mysql / relay_domains
~ Domínios que este servidor de e-mail transmitirá (ou seja, enviará para outro lugar)

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

/ etc / postfix / mysql / virtual_alias_domains
~ Se você quiser encaminhar um domínio para outro domínio, adicione o domínio de encaminhamento na tabela alias_domains e adicione uma rota na tabela alias_maps como @ 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

/ etc / postfix / mysql / virtual_alias_maps
~ Apelidos de usuário, por exemplo, [email protected], vão para [email protected]
~ Catchall: @ example.com vai para [email protected]
~ Nb. Se você estiver usando um domínio que não esteja na tabela de domínios, adicione-o à tabela 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

/etc/postfix/mysql/virtual_mailbox_domains
Domínios virtuais que este servidor de e-mail lidará com

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

/ etc / postfix / mysql / virtual_mailbox_maps
~ Onde armazenar o correio de uma caixa de correio virtual, prefixado por 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

/ etc / postfix / mysql / transport_maps
~ Que transporte usar para enviar e-mail, por exemplo, virtual ou relay ~ Aqui você pode colocar coisas como relay: [relay.mail-server.com] no campo de transporte -

user = myuser
password = mypassword
hosts = 127.0.0.1
dbname = mydatabase
query = SELECT transport FROM domains WHERE domain = '%s'
    
por 01.08.2013 / 15:20
0

Não vejo nenhum mapa de transporte na sua configuração. Deve ser algo como seguir

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

Nota: no campo de descrição você deve especificar o endereço IP do servidor de retransmissão

Você pode obter mais informações no link

    
por 31.07.2013 / 14:49