Witaj na Forum Linuxiarzy
Zanim zalogujesz się, by pisać na naszym forum, zapoznaj się z kilkoma zasadami savoir-vivre'u w dziale Administracja.
Wiadomości z problemami zamieszczone w wątku "Przywitaj się" oraz wszelkie reklamy na naszym forum będą usuwane.

Wysyłanie załącznika przez CURLa

Zaczęty przez armen10, Luty 11, 2022, 01:21:12 PM

Poprzedni wątek - Następny wątek

armen10

Witam
Mam problem i nie wiem, jak go rozwiązać może ktoś z Was by mi pomógł...
Mam taki skrypt w którym podaję ścieżkę do pliku, aby ten plik załączył do maila, którego ma wysłać, ale plik ma polskie znaki i nie chce go załączyć i wysłać.


curl -n --mail-from "$nad" --mail-rcpt "$odb" --url "$host" -u "$nad:$pw" -H "Subject: $sub" -H "From: $nad" -H "To: $email" -F "metadata={name :'$dir/$file.zip'}" -F "=$body;type=text/html;type=application/x-zip-compressed" -F "file=@$dir/$file.zip;encoder=base64"


Co mam zrobić, aby curl widział plik z polskimi znakami ?
Żeby było śmiesznie, jak bym chciał załączyć plik PDF, to nie ma problemu i wszystko działa tylko musi być inny typ plików.
Z góry bardzo dziękuję za pomoc
PS
Nie chciałbym przebudowywać skryptu jaki mam, ale jak się nie da, to co radzicie... ?

lcoyote

 :o Ogonki w nazwach załącznika mogą to powodować — czasem nawet z laptopa na dysk nie mogę przegrać — nie jest to nagminne, ale jednak  :D
Debian 11 Cynnamon Z Linux 🐧 od 2001 roku. Jeśli czcisz swojego wroga – zostajesz pokonany.  Jeśli przyjmiesz religię wroga – jesteś zniewolony. Jeśli rozmnażasz się z wrogiem – będziesz zniszczony😩 – Polydoros ze Sparty

armen10

Dzięki tak okazało się że to polskie znaki były problemem. A jest metoda, żeby to obejść ?

lcoyote

 :o nie znam takiej, nawet francuskie ö lub ç przechodzą, ale polskie ogonki niestety nie  :'(
Debian 11 Cynnamon Z Linux 🐧 od 2001 roku. Jeśli czcisz swojego wroga – zostajesz pokonany.  Jeśli przyjmiesz religię wroga – jesteś zniewolony. Jeśli rozmnażasz się z wrogiem – będziesz zniszczony😩 – Polydoros ze Sparty

armen10

Zrobiłem takie rozwiązanie i działa.

new_name=$(echo $name | sed 's/Ą/A/g' | sed 's/Ć/C/g' | sed 's/Ę/E/g' | sed 's/Ł/L/g' | sed 's/Ń/N/g' | sed 's/Ó/O/g' | sed 's/Ś/S/g' | sed 's/Ź/Z/g' | sed 's/Ż/Z/g' | sed 's/ą/a/g' | sed 's/ć/c/g' | sed 's/ę/e/g' | sed 's/ł/l/g' | sed 's/ń/n/g' | sed 's/ó/o/g' | sed 's/ś/s/g' | sed 's/ź/z/g' | sed 's/ż/z/g')

Sajmon

tu masz w krotszej formie.

new_name=$(echo $name | sed 's/Ą/A/g;s/Ć/C/g;s/Ę/E/g;s/Ł/L/g;s/Ń/N/g;s/Ó/O/g;s/Ś/S/g;s/Ź/Z/g;s/Ż/Z/g;s/ą/a/g;s/ć/c/g;s/ę/e/g;s/ł/l/g;s/ń/n/g;s/ó/o/g;s/ś/s/g;s/ź/z/g;s/ż/z/g')

Zobacz najnowsze wiadomości na forum