Forum Linux.pl

Programowanie => Bash, skrypty powłoki => Wątek zaczęty przez: w 2022-02-11, 13:19:26

Tytuł: Wysyłanie załącznika przez CURLa
Wiadomość wysłana przez: w 2022-02-11, 13:19:26
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... ?
Tytuł: Odp: Wysyłanie załącznika przez CURLa
Wiadomość wysłana przez: Paweł Kraszewski w 2022-02-11, 15:24:39
Ludziu, ale plik ma polskie znaki, czy nazwa pliku ma polskie znaki?

I jaki i gdzie dokładnie błąd jest zwracany? Po stronie Curl-a? Po stronie serwera?
Tytuł: Odp: Wysyłanie załącznika przez CURLa
Wiadomość wysłana przez: w 2022-02-15, 08:56:56
Chodzi oto, że błędu nie widać pliki się nie chcą dołączać... Być może chodzi o polskie znaki ? Bo, jak w pliku nie ma polskich znaków do plik się zaciąga.
Tytuł: Odp: Wysyłanie załącznika przez CURLa
Wiadomość wysłana przez: Paweł Kraszewski w 2022-02-15, 11:25:09
Cytat:  link=topic=26308.msg141468#msg141468 date=1644911816
Chodzi oto, że błędu nie widać pliki się nie chcą dołączać... Być może chodzi o polskie znaki ? Bo, jak w pliku nie ma polskich znaków do plik się zaciąga.

Ponawiam:

Ludziu, ale zawartość pliku ma polskie znaki, czy nazwa pliku ma polskie znaki?
Tytuł: Odp: Wysyłanie załącznika przez CURLa
Wiadomość wysłana przez: w 2022-02-15, 15:07:24
Chodzi tylko o nazwę pliku. Jak ma polskie znaki nie działa. Jak nie ma działa.
Tytuł: Odp: Wysyłanie załącznika przez CURLa
Wiadomość wysłana przez: Paweł Kraszewski w 2022-02-15, 18:07:48
1. Jak kodowane pliterki po stronie nadawczej?
2. Jak kodowane pliterki po stronie serwera?
3. Czy czytałeś RFC 2047 (https://datatracker.ietf.org/doc/html/rfc2047) na temat kodowania znaków narodowych na potrzeby około nagłówkowo-mailowe?
Tytuł: Odp: Wysyłanie załącznika przez CURLa
Wiadomość wysłana przez: w 2022-02-16, 12:37:07
Zrobiłem takie rozwiązanie i działa z tym, że załączniki są bez polskich znaków, ale w sumie to nie tragedii.

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')