Portál AbcLinuxu, 9. května 2025 16:56

Dotaz: Mail přes rouru a nežádoucí application/octet-stream hlavička

⧠ A = 0 avatar 10.4.2012 20:03 ⧠ A = 0 | skóre: 11 | blog: Technokratovo_zrcadlo | Helsinki
Mail přes rouru a nežádoucí application/octet-stream hlavička
Přečteno: 870×
Odpovědět | Admin
Příloha:
V přiloženém programu (spouštěného pomocí cgi) ukládám vstup z webového dotazníku do souboru a zároveň někam posílám pomocí roury a programu mail elektronickou poštou. Podotýkám, že data z dotazníku jsou utf-8, url-encoded. Mailem se posílá "url-decoded" výstup.

Problém je, že takto poslaný mail se tváří jako Content-Type: application/octet-stream (někdy kódovaný v base64, někdy jako quoted-printable; nevím, na čem to závisí, ale to je mi teď jedno). Já bych potřeboval, aby se to posílalo normálně jako Content-Type: text/plain; charset=utf-8.

Zajímavé je, že pokud si dekódovaný výstup nechám uložit do souboru a pak to narvu do mailu z příkazové řádky, tj. například cat vystup | mail -s "Vyplneny dotaznicek" marek, zpráva se tváří jako text/plain (tj. to, co chci).

Předem díky za rady.

Nevolte zmrdy.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.4.2012 17:12 magor
Rozbalit Rozbalit vše Re: Mail přes rouru a nežádoucí application/octet-stream hlavička
Odpovědět | | Sbalit | Link | Blokovat | Admin
predpokladam ze to cele robis cez apache, zrejme tam nemas dobre nastavene mimetype:

http://httpd.apache.org/docs/current/mod/mod_mime.html#addtype
⧠ A = 0 avatar 13.4.2012 20:29 ⧠ A = 0 | skóre: 11 | blog: Technokratovo_zrcadlo | Helsinki
Rozbalit Rozbalit vše Re: Mail přes rouru a nežádoucí application/octet-stream hlavička
Přes apache to sice dělám, ale není mi jasné, jak s tím souvisí mimetype webového serveru. Ten mail by se přece vůbec neměl dovědět nic o mime typech v apache; přes rouru do něj nateče čistý text bez informace o mimetype, ne?
Nevolte zmrdy.
Řešení 1× (⧠ A = 0 (tazatel))
15.4.2012 21:30 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Mail přes rouru a nežádoucí application/octet-stream hlavička
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hádám, že CGI skript běží v C locale, které rozumí jen ASCII, takže mailx správně pochopí vstup jako binární smetí. Nastavte proměnné prostředí LC_CTYPE hodnotu nějakého locale s UTF-8.
pavlix avatar 15.4.2012 22:01 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Mail přes rouru a nežádoucí application/octet-stream hlavička
Dobrý tip, to by mě nenapadlo, protože já osobně všude cpu UTF-8 locale, takže se mi tohle nestane.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
⧠ A = 0 avatar 16.4.2012 20:05 ⧠ A = 0 | skóre: 11 | blog: Technokratovo_zrcadlo | Helsinki
Rozbalit Rozbalit vše Re: Mail přes rouru a nežádoucí application/octet-stream hlavička
Děkuji. Po přidání setenv("LANG","cs_CZ.UTF-8",1); to funguje, jak má.
Nevolte zmrdy.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.