| [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: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 żadnegoCzyli 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 fromoraz 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 |