[Postfix] Problem z reject_sender_login_mismatch

Wyświetlanie wiadomości 1-14 z 14
[Postfix] Problem z reject_sender_login_mismatch Daniel Kossakowski 12-07-11 11:14
Witajcie!

Mam problem z działaniem mapowania użytkowników i skrycie liczę, że może pomożecie mi go rozwikłać.

Chodzi o to, żeby umożliwić użytkownikom wysyłanie wiadomości tylko z przypisanych do nich adresów i aliasów. Nie chodzi mi o zapytanie SQL (całość trzymam w bazie), bo to nie problem, ale o to, co ono ma konkretnie zwracać?

W tej chwili wygląda ono tak:
query = SELECT CONCAT(username,'@',domain) AS `sender` FROM `mail_user` WHERE CONCAT(username,'@',domain) = '%s';

I niestety nie chce współpracować. Postfix wali 553 dla każdej możliwej tożsamości (tej dobrej i tej złej).

->553 5.7.1 <test@*.com>: Sender address rejected: not owned by user test;
Re: [Postfix] Problem z reject_sender_login_mismatch Lemat 12-07-11 12:38
twoim loginem jest nazwa użytkownika a nie email. Tymczasem zapytanie zwraca
pełne adresy email.
--
Pozdrawiam
Lemat
Zanim zadasz pytanie: proszę o informację, jaka była przyczyna śmierci
Twojego ostatniego niewolnika.
Re: [Postfix] Problem z reject_sender_login_mismatch Daniel Kossakowski 12-07-11 13:48
Faktycznie! Teraz działa jak należy.

Dziękuję za pomoc.
Re: [Postfix] Problem z reject_sender_login_mismatch Daniel Kossakowski 12-07-14 10:10
Mam jeszcze jedno pytanie odnośnie mapowania: jak dodać wyjątek, by konkretny adres był dostępny dla wszystkich uzytkowników?

Chodzi o danie skryptom możliwości korzystania z mail() jako użytkownik no-reply. W tej chwili jakakolwiek próba tego zwraca 553. no-reply@domain is not owned by user.
Re: [Postfix] Problem z reject_sender_login_mismatch Lemat 12-07-14 11:03
do zapytania dołożyć kolejną kolumnę i przerobić je: AND wyjatek='NIE'
Re: [Postfix] Problem z reject_sender_login_mismatch Daniel Kossakowski 12-07-20 10:52
Wybacz, nie rozumiem do końca Twojej koncepcji. Być może idę w złym kierunku?

Jak mi napisałeś wyżej, zapytanie ma zwrócić nazwę użytkownika (username), do którego przypisany jest adres e-mail, z którego ktoś próbuje wysłać wiadomość. Jeżeli nie zwróci nic lub nazwę użytkownika, która jest inna niż aktualna, postfix wywala 553.

Teraz pytanie jak mam zwrócić nazwę użytkownika, który pyta się o adres e-mail, skoro jedyne co dostaje, to %s = no-reply@domain.tld, a de facto jego nazwy nie znam.
Re: [Postfix] Problem z reject_sender_login_mismatch Lemat 12-07-20 12:01
zapytanie SQL w normalnym przypadku zwraca 1 wiersz wyniku - pole
zawierająca wszystkie nazwy userów uprawnionych.

Jeżeli zapytanie SQL dla tego jednego adresu email nie zwróci żadnego
wiersza wyniku to postfix nie będzie uruchamiał check_sender_login_mismatch

Zapytanie SQL nie zwróciżadnego wiersza w wyniku jeżeli nie będzie spełniony
warunek po WHERE. Warunek ten nie bedzie spełniony jeżeli w jakiś sposób
(np. dodatkową kolumną) wyróżnimy konkretny adres email.
Re: [Postfix] Problem z reject_sender_login_mismatch Marek Marczykowski 12-07-20 12:29
On 2012-07-20, Lemat <#@lemat.priv.pl> wrote:
> Daniel Kossakowski wrote:
>
>> Wybacz, nie rozumiem do końca Twojej koncepcji. Być może idę w złym
>> kierunku?
>>
>> Jak mi napisałeś wyżej, zapytanie ma zwrócić nazwę użytkownika (username),
>> do którego przypisany jest adres e-mail, z którego ktoś próbuje wysłać
>> wiadomość. Jeżeli nie zwróci nic lub nazwę użytkownika, która jest inna
>> niż aktualna, postfix wywala 553.
>>
>> Teraz pytanie jak mam zwrócić nazwę użytkownika, który pyta się o adres
>> e-mail, skoro jedyne co dostaje, to %s = no-reply@domain.tld, a de facto
>> jego nazwy nie znam.
>
> zapytanie SQL w normalnym przypadku zwraca 1 wiersz wyniku - pole
> zawierająca wszystkie nazwy userów uprawnionych.
>
> Jeżeli zapytanie SQL dla tego jednego adresu email nie zwróci żadnego
> wiersza wyniku to postfix nie będzie uruchamiał check_sender_login_mismatch
>
> Zapytanie SQL nie zwróciżadnego wiersza w wyniku jeżeli nie będzie spełniony
> warunek po WHERE. Warunek ten nie bedzie spełniony jeżeli w jakiś sposób
> (np. dodatkową kolumną) wyróżnimy konkretny adres email.

AFAIR można też zwrócić wielu użytkowników - wtedy postfix sprawdzi czy
to któryś z nich próbuje użyć tego adresu.

--
Pozdrawiam,
Marek Marczykowski          | RLU #390519
marmarek at staszic waw pl  | xmpp:marmarek at staszic waw pl
http://alx.pl - Szkolenia Linux, PHP, Java, Office
Re: [Postfix] Problem z reject_sender_login_mismatch Daniel Kossakowski 12-07-20 12:29
> Jeżeli zapytanie SQL dla tego jednego adresu email nie zwróci żadnego
> wiersza wyniku to postfix nie będzie uruchamiał check_sender_login_mismatch

Czyli dobrze Cię zrozumiałem, ale tu niestety pojawia się problem, gdyż mój postfix pomimo braku wyników z bazy danych zwraca 553.

Jul 20 21:27:30 [postfix/smtpd] NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 553 5.7.1 <taki_unikalny_adres@domain.tld>: Sender address rejected: not owned by user xxx;
Re: [Postfix] Problem z reject_sender_login_mismatch Lemat 12-07-20 12:32
powyższy log świadczy o tym, że zapytanie zwraca wynik w postaci nazwy usera
- "xxx"
Re: [Postfix] Problem z reject_sender_login_mismatch Daniel Kossakowski 12-07-20 13:05
Imho się mylisz, prześledziłem zapytanie dla pewności w PMA. Rezultat:

MySQL zwrócił pusty wynik (zero rekordów). ( 0.0005 s )
SELECT `username`
FROM `mail_user`
WHERE CONCAT( username, '@', domain ) = 'turbo...@domain.pl'
UNION SELECT SUBSTRING_INDEX( destination, '@', 1 ) AS `username`
FROM `mail_alias`
WHERE `source` = 'turbo...@domain.pl'

Gdzie 'turbo...@domain.pl' to oczywiście parametr włożony w %s.
Re: [Postfix] Problem z reject_sender_login_mismatch Lemat 12-07-20 13:20
a co podaje wynik:

postmap -q turbo...@domain.pl
mysql:/etc/postfix/mysql_virtual_sender_login_maps.cfg


gdzie oczywiście wstawiasz dokładnie taki adres jak w logu:
Jul 20 21:27:30 [postfix/smtpd] NOQUEUE: reject: RCPT from
localhost[127.0.0.1]: 553 5.7.1 <taki_unikalny_adres@domain.tld>: Sender
address rejected: not owned by user xxx;

oraz oczywiście swoją nazwę pliku
Re: [Postfix] Problem z reject_sender_login_mismatch Daniel Kossakowski 12-07-20 13:08
Marku, jest to jakieś rozwiązanie, ale czy optymalne? W ostateczności, jeżeli nie znajdę nic lepszego, to spróbuję i tej ścieżki.
Re: [Postfix] Problem z reject_sender_login_mismatch Daniel Kossakowski 12-07-21 00:51
> postmap -q turbo...@domain.pl

Nie zwraca nic.