Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Postfix и пересылка почты

Автор: extasy
Дата сообщения: 16.01.2009 09:50
Подскажите пожалуйста, как можно настроить в postfix пересылку почты некого пользователя на другой электронный адрес на другом почтовом сервере?
Т.е. надо такое: postfix получает письмо для ivan@nashdomen.ru и переправляет его на vanya@mail.ru.

Читал http://www.postfix.org/ADDRESS_REWRITING_README.html , но не понял, этим ли механизмом делается...
Автор: Drron
Дата сообщения: 16.01.2009 10:07

В файл main.cf
recipient_bcc_maps = hash:/etc/postfix/recipient_bcc

В файл recipient_bcc

ivan@nashdomen.ru vanya@mail.ru


поле чего
postmap /etc/postfix/recipient_bcc
postfix reload
Автор: extasy
Дата сообщения: 16.01.2009 10:33
1. Если писать в recipient_bcc
ivan@nashdomen.ru vanya@mail.ru
то postmap срабатывает, но postfix при запуске в логах пишет
fatal: open dictionary: expecting "type:name" from instead of "recipient_bcc"
почта перестает вообще отправляться


2. Если писать в recipient_bcc
ivan@nashdomen.ru: vanya@mail.ru
то postmap говорит об ошибке
line 1: record is in "key: value" format; is this an alias file?
postfix запускается, ничего в логах не ругается
но почта также перестает вообще отправляться
Автор: Drron
Дата сообщения: 16.01.2009 15:32
Внимательно посмотри на строчку в main.cf

recipient_bcc_maps = hash:/etc/postfix/recipient_bcc
Автор: Sadok
Дата сообщения: 17.01.2009 14:09
Drron, extasy

recipient_bcc_maps, кстати, работает начиная с какой-то (лень смотреть) версии. довольно древней, но все-таки.. сам напарывался
Автор: extasy
Дата сообщения: 17.01.2009 18:45
Drron
спасибо большое, точно, хэш пропустил... все работает)))

Sadok
стоит postfix 2.5.5-1.1, автообновление включено
система

Цитата:
cat /proc/version
Linux version 2.6.26-1-686 (Debian 2.6.26-11) (waldi@debian.org) (gcc version 4.1.3 20080623 (prerelease) (Debian 4.1.2-23)) #1 SMP Wed Nov 26 19:14:11 UTC 2008



Тогда другой вопрос, решил почитать что за recipient_bcc_maps, наткнулся на статью Postfix и recipient_bcc_maps копирование ненужной почты
http://www.opennet.ru/openforum/vsluhforumID1/78866.html


Цитата:
проблема в том, что на адрес chief@firma.ru копируются письма, адресованные несуществующим пользователям домена firma.ru, соотв. на данный ящик приходит внушительное кол-во спама и ненужной почты.



Цитата:
я бы посоветовал так
recipient_bcc_maps = pcre:/usr/local/etc/postfix/recipient_bcc_map

/usr/local/etc/postfix/recipient_bcc_map
/\@firma\.ru$/ chief@firma.ru


действительно будет приходить много спама? стоит ли использовать регулярные выражения?
Автор: Sadok
Дата сообщения: 17.01.2009 23:39
extasy
я не очень понял смысл использования регэкспов в данном случае. постфикс глядит в заголовки smtp-сессии, по ним и работает (RCPT TO). а что там в теле письма засунуто его не интересует (это MTA).

отсюда якобы спам на несуществующие адреса.

Цитата:
postfix 2.5.5-1.1

да, конечно тут будет работать.
Автор: extasy
Дата сообщения: 19.01.2009 08:49
Sadok
ок, спасибо
Автор: Drron
Дата сообщения: 19.01.2009 08:58
Вообще при правильной настройке

Цитата:
письма, адресованные несуществующим пользователям

вообще не должны приходить.
Автор: Sadok
Дата сообщения: 19.01.2009 09:50
Drron

Цитата:
Вообще при правильной настройке

Цитата:
письма, адресованные несуществующим пользователям

вообще не должны приходить.

Если я в заголовке SMTP-сессии укажу RCPT TO: <валидный юзер>, а в заголовках самого письма To: <невалидный юзер>, то письмо будет доставлено валидному юзеру, только в поле "Кому" будет указана чушь
Автор: slech
Дата сообщения: 22.12.2009 10:01
всем привет.
мне нужно копировать почту с одного ящика на несколько ящиков
user@domain.com user1@domain.com
user@domain.com user2@domain.com
user@domain.com user3@domain.com

итого 4-е ящика зеркальных

root@postfix:~# postmap /etc/postfix/recipient_bcc
postmap: warning: /etc/postfix/recipient_bcc.db: duplicate entry: "user@domain.com"

как можно организовать в моём случае ?

спасибо

Добавлено:
я пробовал делать каскад - но неполучилось
user@domain.com user1@domain.com
user1@domain.com user2@domain.com
user2@domain.com user3@domain.com

Добавлено:
может можно сделать такое с помощью алиасов ?

Добавлено:
Копирование писем
Автор: slech
Дата сообщения: 22.12.2009 14:30
решил вопрос через алиасы - причём первый алиас на самого себя иначе всем уходит кроме сябя самого.
Автор: stim4
Дата сообщения: 09.08.2010 08:14
Не хочу открывать новую тему, ибо в принципе название будет такое же, но с иным смыслом.

Актив:
нужно пересылать письма для отправки на хост smtp.XYZ.ru через почтовик типа:
debian+postfix
настройка relayhost
в конфиге пишем
realyhost = [smtp.XYZ.ru]

требуется smtp авторизация на хосте рэлэя
дописываем в туда же в конфиг:
smtp_sasl_password_maps = hash:/etc/postfix/map

в map:
smtp.XYZ.ru пароль:логин

1) пароль\логин должны быть от одного из ящиков который существует на хосте smtp.XYZ.ru ?
2) если принять пункт 1) верным, то выходит ошибка

<XXX@mail.ru>: host smtp.XYZ.ru[ххх.ххх.ххх.ххх] said: 530 5.7.1
Authentication required (in reply to MAIL FROM command)


куда копать?
Автор: vlary
Дата сообщения: 09.08.2010 10:05
stim4
Цитата:
куда копать?
Тебе же ясным английским языком написано:

Цитата:
Authentication required (in reply to MAIL FROM command)
Настраивай SMTP аутентификацию в постфиксе.
Кстати, в мап, кажется, все-таки наоборот: smtp.XYZ.ru логин:пароль
Автор: stim4
Дата сообщения: 09.08.2010 16:24
smtpd_sasl_passwords_map = hash:/etc/postfix/saslpas

в saslpas:
smtp.XYZ.ru mylogin:mypass

ошибка та же

P.S. postmap не забыл
Автор: Drron
Дата сообщения: 09.08.2010 16:51
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/saslpas
Автор: stim4
Дата сообщения: 09.08.2010 17:00
smtp_sasl_auth_enable = yes

тоже присутствует
Автор: vlary
Дата сообщения: 09.08.2010 17:32
stim4 еще smtp_sasl_security_options = noanonymous
А все необходимые плагины и библиотеки установлены?
Типа libsasl2-plug-crammd5, libsasl2-plug-anonymous, libsasl2-plug-plain и т.д.?
Автор: stim4
Дата сообщения: 10.08.2010 10:10
было ставлено вот это:
apt-get install postfix libsasl2-2 libsasl2-modules sasl2-bin cyrus-imapd-2.2 cyrus-pop3d-2.2 cyrus-admin-2.2

плюс поставил все пакеты что нашёл по ключу libsasl

вышеупомянутых пакетов я не нашёл
вероятнее всего они входят в состав libsasl2-2
или нет?
Автор: Drron
Дата сообщения: 10.08.2010 10:19
Показывай main.cf
Автор: stim4
Дата сообщения: 10.08.2010 11:48

Цитата:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = debian.local
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = debian.local, localhost.local, , localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all




########### postfix change
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_authenticated_header = yes
smtpd_sasl_application_name = smtpd
#################
mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
local_recipient_maps =
###############
recipient_bcc_maps = hash:/etc/postfix/smtpd.sender
sender_bcc_maps = hash:/etc/postfix/smtpd.sender
#################
relayhost = [smtp.XYZ.ru]
#####################
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous


постмапы не забыл
без релея письма копируются в согласно bcc -- нормально..
письма без релея на внешку тоже уходят нормально

в данной текущей конфигурации вообще ни привета ни ответа
Автор: Drron
Дата сообщения: 11.08.2010 08:51
Попробуй прицепиться к smtp.XYZ.ru телнетом. В ответ на приглашение набери ehlo debian.local и покажи ответ сервера. Тогда будет видно какие механизмы авторизации есть на сервере.


Добавлено:
Для расширенного логирования попробуй добавить в main.cf:

debug_peer_list = smtp.XYZ.ru
Автор: stim4
Дата сообщения: 11.08.2010 22:52
накопал где заковыка была
релей работает

теперь другой принципиальный вопрос:
1) без релея письма дублятся согласно
recipient_bcc_maps = hash:/etc/postfix/smtpd.sender
sender_bcc_maps = hash:/etc/postfix/smtpd.sender

2) почему в режиме релея дублирование не срабатывает?
Автор: Drron
Дата сообщения: 12.08.2010 12:22
Письма дублированные через bcc_maps также пересылаются через релэй и скорей всего не на ящик и не с ящика принадлежащих домену XYZ.ru, соответственно он их не пропускает. Что в логах по этому поводу?
Автор: stim4
Дата сообщения: 12.08.2010 18:12
Aug 12 19:05:53 debian postfix/smtpd[2647]: connect from unknown[192.168.0.101]
Aug 12 19:05:53 debian postfix/smtpd[2647]: CBF6F1972D: client=unknown[192.168.0.101], sasl_method=LOGIN, sasl_username=test
Aug 12 19:05:53 debian postfix/cleanup[2651]: CBF6F1972D: message-id=<201008121905549071784@XYZ.ru>
Aug 12 19:05:53 debian postfix/qmgr[2642]: CBF6F1972D: from=<pavel@XYZ.ru>, size=1305, nrcpt=1 (queue active)
Aug 12 19:05:53 debian postfix/smtpd[2647]: disconnect from unknown[192.168.0.101]
Aug 12 19:05:54 debian postfix/smtp[2652]: CBF6F1972D: to=<кому-то@mail.ru>, relay=smtp.XYZ.ru[89.111.176.249]:25, delay=0.31, delays=0.07/0.03/0.11/0.1, dsn=2.0.0, status=sent (250 OK id=1OjZLz-000OVc-4Z)
Aug 12 19:05:54 debian postfix/qmgr[2642]: CBF6F1972D: removed


вот весь сеанс отсылки
про дубль он даже ухом не ведёт
в данном случае дубль нацелен был на внешний майл. так что не пропустить -- не мог
да он похоже и не пытался
Автор: stim4
Дата сообщения: 13.08.2010 00:17
задача решена

теперь ещё вопрос:
как настроить входящий релей, чтобы postfix сам почту забирал и раскладывал по ящикам например.
или что-то по такому же сценарию.

куда копать?
Автор: hyperbred
Дата сообщения: 13.08.2010 06:59

Цитата:
как настроить входящий релей, чтобы postfix сам почту забирал и раскладывал по ящикам например.
или что-то по такому же сценарию.



смотри fetchmail
Автор: stim4
Дата сообщения: 14.08.2010 13:30
fetchmailrc:

Код:
set postmaster "root"

set logfile "/var/log/fetchmail.log"

poll mail.XYZ.ru proto pop3 user "pavel@XYZ.ru" pass "derparol" is test here smtphost debian.local
Автор: hyperbred
Дата сообщения: 14.08.2010 14:00

Цитата:
Статус запроса =2(SOCKET)


Не может достучаться до сервака
Автор: stim4
Дата сообщения: 14.08.2010 14:14
не совсем
он в него таки достучался(смотри добавку к прошлому посту)
но боже -- это заняло больше чем 4 минуты

запускал на 10 минут -- ему тоже мало.. падает на таймауте
таки где косяк?

Страницы: 12

Предыдущая тема: Дионис - НПО Фактор -ТС


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.