Strona 1 z 1

[+] Postfix z MySQL, duże litery w adresie odbiorcy

: 25 października 2010, 12:42
autor: mat89
Witam.
Posiadam Postfixa z MySQL. Ostatnio zauważyłem, że niektóre e-maile nie trafiają do adresata tylko do ogólnego folderu. Dzieje się to dlatego, ponieważ w polu odbiorcy listu występuje wielka litera lub cały adres e-mail jest napisany dużymi literami np.:

Kod: Zaznacz cały

Adres@domena.pl
lub:

Kod: Zaznacz cały

ADRES@DOMENA.PL
I teraz, co z tym zrobić? Czy muszę dla każdego z tych kont tworzyć dodatkowy alias? Czy można ustawić parametr aby postfix nie odróżniał wielkości liter.

: 28 października 2010, 16:19
autor: stepek
Sprawa dziwna, ale zerknij tu może coś pomoże
i na bank da się zmienić/poprawić wpisy w bazie, ale trzeba byłoby coś napisać.
Jest tez inne rozwiązanie. Sprawdzić gdzie jest zapytanie do bazy i poprawić samo zapytanie tak by zwracało zawsze adres pisany małymi literkami. Jest taka funkcja w mysqlu, która zwróci małe litery.

: 28 października 2010, 20:39
autor: mat89

Kod: Zaznacz cały

SELECT mailbox from users where mail = '%s'
to mój wpis w login_maps czytałem coś o poleceniu LOWER ale nie wiem jak go użyć w moim zapytaniu

: 29 października 2010, 06:31
autor: stepek
To juz wiesz czego szukac w pliku postfixa. Przejrzyj czy nie masz tam gdzies zapytania podobnego. Tylko nie szukaj takiej calej frazy bo raczej nie znajdziesz. I polecenie nalezy wstzawic tak (o ile to lower bo mi sie wydawalo ze jakos lowercase albo cos podobnego ale moge sie mylic)

Kod: Zaznacz cały

Select LOWER(mailbox) from ..
Co prawda w tej chwili nie moge tego sprawdzic ale jak nie zadziala to mozesz odezwac sie do mnie na gg lub na priva po godzinie 15 (jeszcze lepiej po 18)i spróbujemy cos zaradzic razem. Efekty opiszemy tu.

: 02 listopada 2010, 13:01
autor: mat89
Już wiem na czym polega problem. Nie polega on na zapytaniu w bazie a o lokalnego transportera w moim przypadku procmaila.
W pliku konfiguracyjnym procmaila mam:

Kod: Zaznacz cały

MAILDIR="/home/poczta/$RECIPIENT"

Kod: Zaznacz cały

$RECIPIENT
Oznacza, że pobiera on z pola odbiorcy listu i tam kieruje do katalogu, ponieważ katalog użytkownika to adres mailowy. Dlatego on tego katalogu nie odnajduję gdy jest z wielkiej litery. Teraz, co trzeba dopisać przed poleceniem:

Kod: Zaznacz cały

$RECIPIENT
aby ten adres był zawsze z małej litery?

: 02 listopada 2010, 16:00
autor: turox
Linijke wyżej dodaj:

Kod: Zaznacz cały

RECIPIENT=`echo $RECIPIENT |tr [:upper:] [:lower:]`

: 02 listopada 2010, 18:40
autor: mat89
Tak myślałem, że będzie coś z ,,upper'', działa. Dziękuję za pomoc.