Я пытаюсь передать один конкретный адрес в php-скрипт, но кажется, что мой transport_maps не запускается, вместо него используется virtual_transport. Вот что у меня есть:Postfix transport_maps и virtual_mailbox
@ example.com указан в virtual_mailbox_domains, и доставка на виртуальные почтовые ящики отлично работает.
Но мне нужно переслать все сообщения для [email protected] не на dovecot-lda (который указан в virtual_transport), а на другую службу.
Это мой способ доставки для virtual_transport:
голубятня Юникс - пп - - труба флаги = пользователь DRhu = VMail: VMail ARGV =/USR/Библиотека/голубятня/голубятня-Lda -f $ { отправитель} -d $ {получатель}
Это то, где я хочу, чтобы трубы весь каталог [email protected]
PHP_SCRIPT UniX - NN - - труба флаги = пользователь Fq = WWW-данные ARGV = /home/script.php
postconf -n
alias_database = хэш:/и т.д./псевдонимы
alias_maps = хэш:/и т.д./псевдонимы
append_dot_mydomain = нет
Шмяк = нет
config_directory =/и т.д./постфикса
dovecot_destination_recipient_limit = 1
mailbox_size_limit = 0
milter_default_action = принять
milter_protocol = 2
mydestination = локальный
myhostname = локальный
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1]/128
myorigin =/и т.д./mailname
non_smtpd_milters = нетто: локальный: 12301
readme_directory = нет
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = ВТКЕЕ: $ {data_directory}/smtp_scache
smtpd_banner = $ myhostname ESMTP $ mail_name (Debian/GNU)
smtpd_milters = инет: локальный: 12301
smtpd_recipient_restrictions =
smtpd_relay_restrictions = permit_sasl_authenticated permit_mynetworks
defer_unauth_destination smtpd_sasl_auth_enable = да
smtpd_sasl_path = частный/авт
smtpd_sasl_type = голубятня
smtpd_tls_auth_only = да
smtpd_tls_cert_file =/и т.д./SSL /certs/mailserver.pem
smtpd_tls_key_file =/etc/ssl/private/mailserver.PEM
smtpd_tls_security_level =
могут smtpd_tls_session_cache_database = ВТКЕЕ: $ {data_directory}/smtpd_scache
smtpd_use_tls = да
transport_maps = хэш:/и т.д./постфикса/транспорт
virtual_alias_maps = MySQL:/и т.д./постфикса/MySQL-virtual- alias-maps.cf
virtual_mailbox_domains = MySQL:/и т.д./постфикса/MySQL-виртуальной mailbox-
domains.cf virtual_mailbox_maps = MySQL: /etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_transport = Dovecot
в/и т.д./постфиксе/транспорте [email protected] PHP_SCRIPT
кажется постфикс просто игнорировать transport_map, я всегда получаю неизвестный пользователь в виртуальной таблице почтовых ящиков. Что правильно, такого пользователя нет, но я хочу переслать почту через transport_maps перед проверкой, есть ли виртуальный пользователь.
Любой может помочь? Проведите двухдневный поиск, читая человека и пытаясь, но похоже, что это просто не работает.
Молодцы. Вы должны принять свой собственный ответ. Вы сделали мой день. – redochka
Это утверждение неверно. Я обнаружил, что когда я пытался [играть с mailman3 и postfix] (http://serverfault.com/questions/733304/getting-mailman3-to-play-nicely-with-postfix-and-dovecot). Фактически это параметр 'virtual_mailbox_maps', который не позволяет postfix обращаться к параметру' transport_maps'. –