Nowe posty

Autor Wątek: Wysyłanie załącznika przez CURLa  (Przeczytany 474 razy)

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 36
    • Zobacz profil
Wysyłanie załącznika przez CURLa
« dnia: 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... ?

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2840
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Wysyłanie załącznika przez CURLa
« Odpowiedź #1 dnia: 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?
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 36
    • Zobacz profil
Odp: Wysyłanie załącznika przez CURLa
« Odpowiedź #2 dnia: 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.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2840
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Wysyłanie załącznika przez CURLa
« Odpowiedź #3 dnia: 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?
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 36
    • Zobacz profil
Odp: Wysyłanie załącznika przez CURLa
« Odpowiedź #4 dnia: 2022-02-15, 15:07:24 »
Chodzi tylko o nazwę pliku. Jak ma polskie znaki nie działa. Jak nie ma działa.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2840
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Odp: Wysyłanie załącznika przez CURLa
« Odpowiedź #5 dnia: 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 na temat kodowania znaków narodowych na potrzeby około nagłówkowo-mailowe?
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 36
    • Zobacz profil
Odp: Wysyłanie załącznika przez CURLa
« Odpowiedź #6 dnia: 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')