Wysyłka maila z konsoli i kodowanie znaków

Potrzebujesz pomocy z C, C++, perl, python, itp.
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2069
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Wysyłka maila z konsoli i kodowanie znaków

Post autor: LordRuthwen » 14 września 2019, 13:52

Kto mi podpowie jak pozbyć się krzaków w miejscu polskich liter w mailach wysyłanych z konsoli?
Maile wysyła skrypt za pomocą:

Kod: Zaznacz cały

echo -e "treść wiadomości\nbla bla bla" | mail -s "tytuł wiadomości" -aContent-type:text/plain\;charset=\"utf-8\" adres@docelowy.tld
Problemu nie mam z tematem, w którym też znajdują się polskie literki, mam za to z treścią.
Próbowałem zmieniać charset na iso-8859-2 oraz cp-1250 i efekt ten sam.

Awatar użytkownika
pawkrol
Moderator
Posty: 930
Rejestracja: 03 kwietnia 2011, 10:25

Re: Wysyłka maila z konsoli i kodowanie znaków

Post autor: pawkrol » 14 września 2019, 21:09

Ja używam programu sendemail

Kod: Zaznacz cały

/usr/bin/sendemail -f support@domena.com -t user@interia.pl -u "Wyslano SMS" -m "Data: $data_sms $czas_sms\nNumer_telefonu: 80608\nTreść smsa: TAK" -s smtp.domena.com:587 -xu support@domena.com -xp Haslo -o tls=yes -o message-charset=utf-8 &> /dev/null
Nie mam żadnych problemów z kodowaniem. Do tego polecenia można dorzucić nawet cały html jako wiadomość.

Awatar użytkownika
LordRuthwen
Moderator
Posty: 2069
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Re: Wysyłka maila z konsoli i kodowanie znaków

Post autor: LordRuthwen » 26 września 2019, 21:04

Z pewnych względów nie mogę użyć sendmaila.
Ok, z konsoli jest ok w momencie gdy wysyłam tak:

Kod: Zaznacz cały

 echo -e "Test maila ąęśćżźół" | mail -s "Temat bardzo ważnego maila" -a "From: ktośtam <mailktosiat@domenaktosia.tld>" -a "Content-Type: text/plain; Charset=UTF-8" adres@odbiorcy
I to wygląda ok jak już dojdzie.
Ale jak to samo wrzucę do skryptu i odpalę skrypt (ja, nie cron, w tej samej konsoli co wcześniejsze polecenie), to już mam krzaki.
Myślałem, że zmienne:

Kod: Zaznacz cały

LANG=pl_PL.UTF-8
LC_CTYPE=pl_PL.UTF-8
Ale to nie to, bo w skrypcie mam zaszyty export tych zmiennych właśnie w takiej formie.

//Edit:
Ok, chyba mam. Nie wysyłam dokładnie tak jak wyżej, bo w skrypcie dołączany jest jeszcze generowany automatycznie pdf jako załącznik, z palca nie dodawałem i tu jest rozbieżność. Nagłówki dla wiadomości z załącznikiem wyglądają tak:

Kod: Zaznacz cały

Content-Type: multipart/mixed; boundary="834009455-1569563475=:29586"
Content-Type: text/plain
Content-Type: text/plain; charset=UTF-8
A dla tej bez załącznika tak:

Kod: Zaznacz cały

Content-Type: text/plain; Charset=UTF-8
No to teraz muszę ogarnąć jak wstrzyknąć mu charset poprawny, bo chyba tylko pierwsza linia jest brana pod uwagę.
Pytanie czy prosty mail to ogarnie

ODPOWIEDZ