LINUX.ORG.RU
ФорумAdmin

Postfix smtp_generic_maps

 ,


0

2

Добрый день. Помогите пожалуйста с таким вопросом.
Имеется iRedMail с настроенным relay на office365 с подменой адреса отправителя

smtp_generic_maps = hash:/etc/postfix/generic_maps
cat /etc/postfix/generic_maps
test@internaldomain.lan test@externaldomain.ru
test1@internaldomain.lan test1@externaldomain.ru
При отправке на внешние адреса mailuser@domain.ru почта уходит, отправитель подменяется, но при отправке на локальные адреса test1@internaldomain.lan отправитель так же меняется и почта уходит через relay office365. Если у адресата нет алиаса в generic_maps, то почта уходит через dovecot
relay=dovecot, delay=0.07, delays=0.01/0.02/0/0.05, dsn=2.0.0, status=sent (delivered via dovecot service)

Собственно вопрос, как сделать так, чтобы на локальные адреса, прописанные в generic_maps не менялся отправитель.



Последнее исправление: zigzibur (всего исправлений: 1)

http://www.postfix.org/ADDRESS_REWRITING_README.html#delivering

что-то не так в конфиге или в тестах. smtp_generic_maps срабатывают только при попадании в smtp transport.

вы даже когда из лога чета копипастите, умудряетесь вырезать важные вещи, а именно транспорт. postfix/lmtp или postfix/smtp, postfix/dovecot-lda или черт знает что еще.

Помогите мне, но я вам ничего не покажу, ни конфиг, ни всю строку лога...

anonymous
()
Ответ на: комментарий от anonymous

скорей всего транспорт довекота pipe. поэтому в smtp может уйти только на удаленный домен, если в тесте писали на внешний домен externaldomain.ru, если он не прописан в local или virtual

anonymous
()
Ответ на: комментарий от anonymous

Прошу прощения, затупил. конфиг постфикса (main.cf и master.cf) сгенерирован iRedMailом, relay добавлен вручную
/etc/postfix/main.cf

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
debugger_command =
    PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
    ddd $daemon_directory/$process_name $process_id & sleep 5
debug_peer_level = 2
unknown_local_recipient_reject_code = 550
biff = no
swap_bangpath = no
allow_percent_hack = no
allow_min_user = no
disable_vrfy_command = yes
inet_protocols = all
inet_interfaces = all
smtpd_tls_key_file = /etc/pki/tls/private/iRedMail.key
smtpd_tls_cert_file = /etc/pki/tls/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/pki/tls/certs/iRedMail.crt
smtpd_tls_protocols = !SSLv2 !SSLv3
smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3
smtp_tls_protocols = !SSLv2 !SSLv3
smtp_tls_mandatory_protocols = !SSLv2 !SSLv3
lmtp_tls_protocols = !SSLv2 !SSLv3
lmtp_tls_mandatory_protocols = !SSLv2 !SSLv3
smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA
smtpd_tls_dh512_param_file = /etc/pki/tls/dh512_param.pem
smtpd_tls_dh1024_param_file = /etc/pki/tls/dh2048_param.pem
tls_random_source = dev:/dev/urandom
smtp_tls_loglevel = 1
smtpd_tls_loglevel = 1
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtp_tls_CAfile = $smtpd_tls_CAfile
smtp_tls_note_starttls_offer = yes
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
header_checks = pcre:/etc/postfix/header_checks
body_checks = pcre:/etc/postfix/body_checks.pcre
# HELO restriction
smtpd_helo_required = yes
smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    check_helo_access pcre:/etc/postfix/helo_access.pcre
    reject_non_fqdn_helo_hostname
    reject_unknown_helo_hostname
# Sender restrictions
smtpd_sender_restrictions =
    reject_unknown_sender_domain
    reject_non_fqdn_sender
    reject_unlisted_sender
    permit_mynetworks
    permit_sasl_authenticated
    check_sender_access pcre:/etc/postfix/sender_access.pcre
# Recipient restrictions
smtpd_recipient_restrictions =
    reject_unknown_recipient_domain
    reject_non_fqdn_recipient
    reject_unlisted_recipient
    check_policy_service inet:127.0.0.1:7777
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
# END-OF-MESSAGE restrictions
smtpd_end_of_data_restrictions =
    check_policy_service inet:127.0.0.1:7777
# Data restrictions
smtpd_data_restrictions = reject_unauth_pipelining
proxy_read_maps = $canonical_maps $lmtp_generic_maps $local_recipient_maps $mydestination $mynetworks $recipient_bcc_maps $recipient_canonical_maps $relay_domains $relay_recipient_maps $relocated_maps $sender_bcc_maps $sender_canonical_maps $smtp_generic_maps $smtpd_sender_login_maps $transport_maps $virtual_alias_domains $virtual_alias_maps $virtual_mailbox_domains $virtual_mailbox_maps $smtpd_sender_restrictions $sender_dependent_relayhost_maps
# Avoid duplicate recipient messages. Default is 'yes'.
enable_original_recipient = no
# Virtual support.
virtual_minimum_uid = 2000
virtual_uid_maps = static:2000
virtual_gid_maps = static:2000
virtual_mailbox_base = /var/vmail
virtual_alias_domains =
myhostname = test-mail.localdomain.lan
myorigin = test-mail.localdomain.lan
mydomain = localdomain.lan
mynetworks = 10.0.1.0/24
mydestination = 
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
message_size_limit = 15728640
recipient_delimiter = +
transport_maps =
    proxy:pgsql:/etc/postfix/pgsql/transport_maps_user.cf
    proxy:pgsql:/etc/postfix/pgsql/transport_maps_domain.cf
    hash:/etc/postfix/transport_map
sender_dependent_relayhost_maps =
proxy:pgsql:/etc/postfix/pgsql/sender_dependent_relayhost_maps.cf
# Lookup table with the SASL login names that own the sender (MAIL FROM) addresses.
smtpd_sender_login_maps =
    proxy:pgsql:/etc/postfix/pgsql/sender_login_maps.cf
virtual_mailbox_domains =
    proxy:pgsql:/etc/postfix/pgsql/virtual_mailbox_domains.cf
relay_domains =
    $mydestination
    proxy:pgsql:/etc/postfix/pgsql/relay_domains.cf
virtual_mailbox_maps =
    proxy:pgsql:/etc/postfix/pgsql/virtual_mailbox_maps.cf
virtual_alias_maps =
    proxy:pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf
    proxy:pgsql:/etc/postfix/pgsql/domain_alias_maps.cf
    proxy:pgsql:/etc/postfix/pgsql/catchall_maps.cf
    proxy:pgsql:/etc/postfix/pgsql/domain_alias_catchall_maps.cf
sender_bcc_maps =
    proxy:pgsql:/etc/postfix/pgsql/sender_bcc_maps_user.cf
    proxy:pgsql:/etc/postfix/pgsql/sender_bcc_maps_domain.cf
recipient_bcc_maps =
    proxy:pgsql:/etc/postfix/pgsql/recipient_bcc_maps_user.cf
    proxy:pgsql:/etc/postfix/pgsql/recipient_bcc_maps_domain.cf
postscreen_greet_action = enforce
postscreen_blacklist_action = enforce
postscreen_dnsbl_action = enforce
postscreen_dnsbl_threshold = 2
postscreen_dnsbl_sites =
    zen.spamhaus.org=127.0.0.[2..11]*3
    b.barracudacentral.org=127.0.0.[2..11]*2
postscreen_dnsbl_reply_map = texthash:/etc/postfix/postscreen_dnsbl_reply
postscreen_access_list = permit_mynetworks cidr:/etc/postfix/postscreen_access.cidr
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
content_filter = smtp-amavis:[127.0.0.1]:10024
smtp-amavis_destination_recipient_limit = 1
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/saslpass
smtp_sasl_security_options = noanonymous
sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost_map
smtp_generic_maps = hash:/etc/postfix/generic_maps
/etc/postfix/saslpass [smtp.office365.com]:submission
username@externaldomain.ru:password
/etc/postfix/relayhost_map
username@externaldomain.ru [smtp.office365.com]:submission
/etc/postfix/generic_maps
test@internaldomain.lan testuser@externaldomain.ru
test1@internaldomain.lan testuser1@externaldomain.ru
/etc/postfix/transport_map
internaldomain.lan    :
.internaldomain.lan   :
* smtp:externaldomain-ru.mail.protection.outlook.com

zigzibur
() автор топика
Ответ на: комментарий от anonymous

/etc/postfix/transport_map

internaldomain.lan    :
.internaldomain.lan   :
* smtp:externaldomain-ru.mail.protection.outlook.com
/etc/postfix/master.cf
#smtp      inet  n       -       -       -       -       smtpd
smtp      inet  n       -       n       -       1       postscreen
smtpd     pass  -       -       n       -       -       smtpd
dnsblog   unix  -       -       n       -       0       dnsblog
tlsproxy  unix  -       -       n       -       0       tlsproxy
pickup    unix  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
#qmgr     unix  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       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
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o content_filter=smtp-amavis:[127.0.0.1]:10026
# Use dovecot's `deliver` program as LDA.
dovecot unix    -       n       n       -       -      pipe
    flags=DRh user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${domain} -m ${extension}
# Amavisd integration.
smtp-amavis unix -  -   n   -   2  smtp
    -o syslog_name=postfix/amavis
    -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  -   n   -   -  smtpd
    -o syslog_name=postfix/10025
    -o content_filter=
    -o mynetworks_style=host
    -o mynetworks=127.0.0.0/8
    -o local_recipient_maps=
    -o relay_recipient_maps=
    -o strict_rfc821_envelopes=yes
    -o smtp_tls_security_level=none
    -o smtpd_tls_security_level=none
    -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_end_of_data_restrictions=
    -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,no_address_mappings

zigzibur
() автор топика
Ответ на: комментарий от anonymous

/var/log/maillog

Dec 19 12:41:03 test-mail postfix/master[2446]: reload -- version 2.10.1, configuration /etc/postfix
Dec 19 12:41:13 test-mail postfix/submission/smtpd[4588]: connect from unknown[10.0.1.3]
Dec 19 12:41:13 test-mail postfix/submission/smtpd[4588]: Anonymous TLS connection established from unknown[10.0.1.3]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)
Dec 19 12:41:14 test-mail postfix/submission/smtpd[4588]: 988F418C121F: client=unknown[10.0.1.3], sasl_method=PLAIN, sasl_username=test@localdomain.lan
Dec 19 12:41:14 test-mail postfix/cleanup[4592]: 988F418C121F: message-id=<16867286-40a7-aece-06f7-c0ae3caae02a@internaldomain.lan>
Dec 19 12:41:14 test-mail postfix/qmgr[4585]: 988F418C121F: from=<test@internaldomain.lan>, size=600, nrcpt=1 (queue active)
Dec 19 12:41:14 test-mail postfix/submission/smtpd[4588]: disconnect from unknown[10.0.1.3]
Dec 19 12:41:15 test-mail postfix/10025/smtpd[4596]: connect from test-mail.internaldomain.lan[127.0.0.1]
Dec 19 12:41:15 test-mail postfix/10025/smtpd[4596]: 1E83F18BBB4C: client=test-mail.internaldomain.lan[127.0.0.1]
Dec 19 12:41:15 test-mail postfix/cleanup[4592]: 1E83F18BBB4C: message-id=<16867286-40a7-aece-06f7-c0ae3caae02a@internaldomain.lan>
Dec 19 12:41:15 test-mail postfix/qmgr[4585]: 1E83F18BBB4C: from=<testuser@externaldomain.ru>, size=1109, nrcpt=1 (queue active)
Dec 19 12:41:15 test-mail postfix/10025/smtpd[4596]: disconnect from test-mail.internaldomain.lan[127.0.0.1]
Dec 19 12:41:15 test-mail amavis[1415]: (01415-08) Passed CLEAN {RelayedInternal}, ORIGINATING/MYNETS LOCAL [10.0.1.3]:62056 <testuser@externaldomain.ru> -> <testuser1@externaldomain.ru>, Queue-ID: 988F418C121F, Message-ID: <16867286-40a7-aece-06f7-c0ae3caae02a@internaldomain.lan>, mail_id: 85AF18-5UWyi, Hits: -1, size: 601, queued_as: 1E83F18BBB4C, 470 ms, Tests: [ALL_TRUSTED=-1]
Dec 19 12:41:15 test-mail postfix/amavis/smtp[4593]: 988F418C121F: to=<test1@internaldomain.lan>, relay=127.0.0.1[127.0.0.1]:10026, delay=0.54, delays=0.06/0.01/0/0.47, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 1E83F18BBB4C)
Dec 19 12:41:15 test-mail postfix/qmgr[4585]: 988F418C121F: removed
Dec 19 12:41:16 test-mail postfix/smtp[4597]: Untrusted TLS connection established to externaldomain-ru.mail.protection.outlook.com[213.199.154.138]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)
Dec 19 12:41:17 test-mail postfix/smtp[4597]: 1E83F18BBB4C: to=<testuser1@externaldomain.ru>, relay=externaldomain-ru.mail.protection.outlook.com[213.199.154.138]:25, delay=2.3, delays=0/0.02/0.94/1.3, dsn=2.6.0, status=sent (250 2.6.0 <16867286-40a7-aece-06f7-c0ae3caae02a@internaldomain.lan> [InternalId=11046655910523, Hostname=AM6PR0602MB3557.eurprd06.prod.outlook.com] 8778 bytes in 0.173, 49.377 KB/sec Queued mail for delivery)
Dec 19 12:41:17 test-mail postfix/qmgr[4585]: 1E83F18BBB4C: removed
Dec 19 12:41:20 test-mail postfix/submission/smtpd[4588]: connect from unknown[10.0.1.3]
Dec 19 12:41:20 test-mail postfix/submission/smtpd[4588]: Anonymous TLS connection established from unknown[10.0.1.3]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)
Dec 19 12:41:20 test-mail postfix/submission/smtpd[4588]: D74A218C121F: client=unknown[10.0.1.3], sasl_method=PLAIN, sasl_username=test@internaldomain.lan
Dec 19 12:41:20 test-mail postfix/cleanup[4592]: D74A218C121F: message-id=<c25e2482-1b56-a9d2-64fe-024cf432c04c@internaldomain.lan>
Dec 19 12:41:20 test-mail postfix/qmgr[4585]: D74A218C121F: from=<test@internaldomain.lan>, size=588, nrcpt=1 (queue active)
Dec 19 12:41:20 test-mail postfix/submission/smtpd[4588]: disconnect from unknown[10.0.1.3]
Dec 19 12:41:21 test-mail postfix/10025/smtpd[4596]: connect from test-mail.internaldomain.lan[127.0.0.1]
Dec 19 12:41:21 test-mail postfix/10025/smtpd[4596]: 5409518BBB57: client=test-mail.internaldomain.lan[127.0.0.1]
Dec 19 12:41:21 test-mail postfix/cleanup[4592]: 5409518BBB57: message-id=<c25e2482-1b56-a9d2-64fe-024cf432c04c@internaldomain.lan>
Dec 19 12:41:21 test-mail postfix/qmgr[4585]: 5409518BBB57: from=<testuser@externaldomain>, size=1091, nrcpt=1 (queue active)
Dec 19 12:41:21 test-mail postfix/10025/smtpd[4596]: disconnect from test-mail.internaldomain.lan[127.0.0.1]
Dec 19 12:41:21 test-mail amavis[1416]: (01416-08) Passed CLEAN {RelayedInternal}, ORIGINATING/MYNETS LOCAL [10.0.1.3]:62057 <testuser@externaldomain.ru> -> <test2@internaldomain.lan>, Queue-ID: D74A218C121F, Message-ID: <c25e2482-1b56-a9d2-64fe-024cf432c04c@internaldomain.lan>, mail_id: DU7KNlRLs4ld, Hits: -1, size: 591, queued_as: 5409518BBB57, 447 ms, Tests: [ALL_TRUSTED=-1]
Dec 19 12:41:21 test-mail postfix/amavis/smtp[4593]: D74A218C121F: to=<test2@internaldomain.lan>, relay=127.0.0.1[127.0.0.1]:10026, delay=0.49, delays=0.04/0/0/0.45, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 5409518BBB57)
Dec 19 12:41:21 test-mail postfix/qmgr[4585]: D74A218C121F: removed
Dec 19 12:41:21 test-mail postfix/pipe[4600]: 5409518BBB57: to=<test2@internaldomain.lan>, relay=dovecot, delay=0.04, delays=0.01/0.02/0/0.02, dsn=2.0.0, status=sent (delivered via dovecot service)
Dec 19 12:41:21 test-mail postfix/qmgr[4585]: 5409518BBB57: removed
Буду благодарен любым наводкам на путь истинный.

zigzibur
() автор топика
Ответ на: комментарий от zigzibur

externaldomain.ru внешний домен для postfix.

1 случай. <testuser@externaldomain.ru> -> <testuser1@externaldomain.ru> уходит по дефолтному на аутлук, потому что отправителя нет в sender_dependent_relayhost_maps.

2 случай. <testuser@externaldomain.ru> -> <test2@internaldomain.lan> уходит локально в dovecot. Все ок.

А как должно быть ? Этот лог не отображает того, что написано в шапке.

anonymous
()
Ответ на: комментарий от anonymous

/etc/postfix/relayhost_map никак не пересекается с /etc/postfix/generic_maps опять же.

транспорт на [smtp.office365.com]:submission сработает, только если отправитель будет username@externaldomain.ru, и smtp_generic_maps никак тут не повлияет. все ровно. вы, наверное, запутались, чего вы хотите.

anonymous
()
Ответ на: комментарий от anonymous

Замысел такой:
Локальные (виртуальные: пользователи не созданные в системе, а добавленные через iredadmin) пользователи должны обмениваться друг с другом почтой через локальный почтовый сервер (iRedmail). При отправке почты на локальные адреса (user@localdomain.lan) у адресата должен высвечиваться локальный адрес, чтобы он при ответе на это письмо так же отсылал его через локальный сервер. А при отправке на внешние адреса (user@mail.ru, user@gmail.com etc.) адрес отправителя должен подменяться на соответствующий адрес (user@externaldomain.ru) внешнего почтовика (office365). Для этого и настроен релей на офис365 с подменой отправителя, но подмена так же срабатывает и при отправке на локальные адреса, т.е. если локальный пользователь test2@LOCALDOMAIN.LAN получит письмо от пользователя test@EXTERNALDOMAIN.RU и решит на него что-то ответить, то письмо уже пойдет через офис365, а должно через локальную почту.
Прошу прощения за тавтологию, возможно я окончательно запутался.

zigzibur
() автор топика
Ответ на: комментарий от anonymous

Чуть не забыл, внешнего доменя для постфикса нет, как я описал выше, есть некий внешний облачный почтовый сервер (офис365) через который постфикс должен отсылать почту от локальных пользователей с подменой адреса отправителя.

anonymous
()
Ответ на: комментарий от anonymous

зачем стоит дефолтный транспорт на аутлук ? туда ушло первое письмо в логе. если он не нужен, тогда:

1. отключаем #sender_dependent_relayhost_maps

2. в /etc/postfix/transport_map меняем

* smtp:externaldomain-ru.mail.protection.outlook.com на

* [smtp.office365.com]:submission

3. добавляем externaldomain.ru в virtual_alias_maps:

virtual_alias_maps =
    proxy:pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf
    proxy:pgsql:/etc/postfix/pgsql/domain_alias_maps.cf
    proxy:pgsql:/etc/postfix/pgsql/catchall_maps.cf
    proxy:pgsql:/etc/postfix/pgsql/domain_alias_catchall_maps.cf
в эти карты надо добавить соответствие @externaldomain.ru @externaldomain.lan. Либо в через базу постгрес админки, либо добавить hash:/etc/postfix/virtual и там захешировать таблицу

aaa@@externaldomain.ru aaa@@externaldomain.lan

и т.д. все пойдет по алиасам сразу в dovecot.

anonymous
()
Ответ на: комментарий от anonymous

Я надеюсь, Вы, под @EXTERNALDOMAIN.LAN подразумевали INTERNALDOMAIN.LAN?
По Вашей рекомендации отключил sender_dependent_relayhost_maps, изменил запись в transport_maps на * smtp:[smtp.office365.com]:submission, т.к. если вписать просто * [smtp.office365.com]:submission вылетает вот такая ошибка

postfix/qmgr[3293]: warning: connect to transport private/[smtp.office365.com]: No such file or directory
добавил в virtual_alias_maps по хешу
virtual_alias_maps =
    proxy:pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf
    proxy:pgsql:/etc/postfix/pgsql/domain_alias_maps.cf
    proxy:pgsql:/etc/postfix/pgsql/catchall_maps.cf
    proxy:pgsql:/etc/postfix/pgsql/domain_alias_catchall_maps.cf
    hash:/etc/postfix/virtual_alias
в нем пробовал по разному и user@EXTERNALDOMAIN.RU user@INTERNALDOMAIN.LAN и user@INTERNALDOMAIN.LAN user@EXTERNALDOMAIN.RU, результата никакого, во внешний мир почта не отсылалсь, в логах следующие ошибки
Dec 20 15:07:21 test-mail postfix/submission/smtpd[11531]: connect from unknown[10.0.1.3]
Dec 20 15:07:21 test-mail postfix/submission/smtpd[11531]: Anonymous TLS connection established from unknown[10.0.1.3]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)
Dec 20 15:07:21 test-mail postfix/submission/smtpd[11531]: A3B8318C11F8: client=unknown[10.0.1.3], sasl_method=PLAIN, sasl_username=user@internaldomain.lan
Dec 20 15:07:21 test-mail postfix/cleanup[11535]: A3B8318C11F8: message-id=<8a16d581-282e-d901-2e3e-d5f3c7094327@internaldomain.lan>
Dec 20 15:07:21 test-mail postfix/qmgr[11524]: A3B8318C11F8: from=<user@internaldomain.lan>, size=601, nrcpt=1 (queue active)
Dec 20 15:07:21 test-mail postfix/submission/smtpd[11531]: disconnect from unknown[10.0.1.3]
Dec 20 15:07:23 test-mail postfix/10025/smtpd[11540]: connect from test-mail.internaldomain.lan[127.0.0.1]
Dec 20 15:07:23 test-mail postfix/10025/smtpd[11540]: 3BC1518C121C: client=test-mail.internaldomain.lan[127.0.0.1]
Dec 20 15:07:23 test-mail postfix/cleanup[11535]: 3BC1518C121C: message-id=<8a16d581-282e-d901-2e3e-d5f3c7094327@internaldomain.lan>
Dec 20 15:07:23 test-mail postfix/qmgr[11524]: 3BC1518C121C: from=<user@internaldomain.lan>, size=1748, nrcpt=1 (queue active)
Dec 20 15:07:23 test-mail postfix/10025/smtpd[11540]: disconnect from test-mail.internaldomain.lan[127.0.0.1]
Dec 20 15:07:23 test-mail amavis[9213]: (09213-06) Passed CLEAN {RelayedInternal}, ORIGINATING/MYNETS LOCAL [10.0.1.3]:49574 <user@internaldomain.lan> -> <user@externaldomain.ru>, Queue-ID: A3B8318C11F8, Message-ID: <8a16d581-282e-d901-2e3e-d5f3c7094327@internaldomain.lan>, mail_id: ffOo34-uiWGU, Hits: -0.999, size: 601, queued_as: 3BC1518C121C, dkim_new=dkim:internaldomain.lan, 1538 ms, Tests: [ALL_TRUSTED=-1,TVD_SPACE_RATIO=0.001]
Dec 20 15:07:23 test-mail postfix/amavis/smtp[11536]: A3B8318C11F8: to=<user@externaldomain.ru>, relay=127.0.0.1[127.0.0.1]:10026, delay=1.7, delays=0.1/0.01/0/1.5, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 3BC1518C121C)
Dec 20 15:07:23 test-mail postfix/qmgr[11524]: A3B8318C11F8: removed
Dec 20 15:07:23 test-mail postfix/smtp[11541]: Untrusted TLS connection established to smtp.office365.com[40.101.61.130]:587: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Dec 20 15:07:31 test-mail postfix/smtp[11541]: 3BC1518C121C: to=<user@externaldomain.ru>, relay=smtp.office365.com[40.101.61.130]:587, delay=7.9, delays=0.01/0.02/2.6/5.2, dsn=5.7.60, status=bounced (host smtp.office365.com[40.101.61.130] said: 550 5.7.60 SMTP; Client does not have permissions to send as this sender [AM0PR0602MB3588.eurprd06.prod.outlook.com] (in reply to end of DATA command))
Dec 20 15:07:31 test-mail postfix/cleanup[11535]: 2D07D18C11F8: message-id=<20171220120731.2D07D18C11F8@test-mail.internaldomain.lan>
Dec 20 15:07:31 test-mail postfix/qmgr[11524]: 2D07D18C11F8: from=<>, size=3985, nrcpt=1 (queue active)
Dec 20 15:07:31 test-mail postfix/bounce[11543]: 3BC1518C121C: sender non-delivery notification: 2D07D18C11F8
Dec 20 15:07:31 test-mail postfix/qmgr[11524]: 3BC1518C121C: removed
Dec 20 15:07:31 test-mail postfix/pipe[11544]: 2D07D18C11F8: to=<user@internaldomain.lan>, relay=dovecot, delay=0.04, delays=0/0.01/0/0.03, dsn=2.0.0, status=sent (delivered via dovecot service)
Dec 20 15:07:31 test-mail postfix/qmgr[11524]: 2D07D18C11F8: removed
Эта ошибка возникает, т.к. адрес отправителя, не совпадает с адресом пользователя, от имени которого происходит авторизация на smtp.office365.com, в virtual_alias я добавлял алиас этого пользователя на отправителя, все равно письмо не уходит, в логах такая же ошибка, как будто он игнорирует этот virtual_alias.
Если в конфиге включить smtp_generic_maps и туда добавить алиас отправителя на пользователя, от имени которого происходит авторизация на smtp.office365.com, то письма уходят во внешний мир нормально, но на локальных пользователей так же происходит подмена адреса отправителя.
Вывод /etc/postfix/generic_map
user@localdomain.lan user2@externaldomain.ru
user1@localdomain.lan someuser@somedomain.ru
вывод /etc/postfix/saslpass
[smtp.office365.com]:submission user2@externaldomain.ru:PASSWORD
конфиг postfix
transport_maps =
    proxy:pgsql:/etc/postfix/pgsql/transport_maps_user.cf
    proxy:pgsql:/etc/postfix/pgsql/transport_maps_domain.cf
    hash:/etc/postfix/transport_map
virtual_alias_maps =
    proxy:pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf
    proxy:pgsql:/etc/postfix/pgsql/domain_alias_maps.cf
    proxy:pgsql:/etc/postfix/pgsql/catchall_maps.cf
    proxy:pgsql:/etc/postfix/pgsql/domain_alias_catchall_maps.cf
    hash:/etc/postfix/virtual_alias
#relayhost = [smtp.office365.com]:submission
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/saslpass
smtp_sasl_security_options = noanonymous
#smtp_sender_dependent_authentication = yes
#sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost_map
smtp_generic_maps = hash:/etc/postfix/generic_maps
Есть ли еще какие-нибудь идеи как решить мою проблему?

zigzibur
() автор топика
Ответ на: комментарий от zigzibur

наверное, hash:/etc/postfix/virtual_alias надо поставить на первое место, там скульные алиасы могут перебивать типа catchall_maps

user@externaldomain.ru user@internaldomain.lan

в этом файле должен завернуть в довекот все же.

остальное: авторизация на смартрелае по отправителям - какая то жесткая заморочка для постфикса. надо менять всю эту идею.

anonymous
()
Ответ на: комментарий от anonymous

А если сделать multi instance, чтобы 1-й инстанс занималась локальной рассылкой с релеем на 2-й инстанс, а 2-й уже тупо все релеел на office365?
Я так сделал с 2-мя машинами, но хотелось бы на одной машине такое реализовать, чтобы зоопарк не разводить.
Если делать мультиинстанс, я немного не понял как 2-й инстанс понимает, что именно ему предназначается захешенный файл (postmap /etc/postfix-2/saslpass ну или любой другой)

zigzibur
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.