Portál AbcLinuxu, 26. dubna 2024 20:24


Dotaz: jak odeslat mail s cestinou skriptem?

9.3.2008 18:50 lenny
jak odeslat mail s cestinou skriptem?
Přečteno: 774×
Odpovědět | Admin
Ahoj, nekde tady na foru jsem sehnal skript, jak odeslat spravne cesky mail:

19.3.2007 12:43 Fuky | skóre: 34 | blog: 4u 
Re: Příkaz mail a diakritika 

HEADER="MIME-Version: 1.0\n"
HEADER="${HEADER}Content-Type: text/plain; charset=iso-8859-2\n"
HEADER="${HEADER}Content-Transfer-Encoding: 8bit"

SUBJECT="Bez diakritiky!"
TO="user@domain"

mail -a "$(echo -e $HEADER)" -s "$SUBJECT" "$TO" << EOF
Příšerně žluťoučký kůň úpěl ďábelské ódy
EOF

Me ta cestina ale stejne nefunguje, muzete se podivat, jestli tam neni nejaka chybka? A jeste bych chtel zmenit lokalniho odesilatele mailu, jde to v tom skriptu nejak?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.3.2008 18:55 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Me ta cestina ale stejne nefunguje

Možná hloupý dotaz, ale: nemáte systém v UTF-8 zatímco e-mail odesíláte v ISO8859-2?

A jeste bych chtel zmenit lokalniho odesilatele mailu, jde to v tom skriptu nejak?

Do hlavičky přidat pole From.

I am always ready to learn although I do not always like to be taught. (W. Churchill)
9.3.2008 19:01 lenny
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
To je rychlost, diky.

Asi hloupá odpoved:) Mam UTF-8, ale v mailovym klientovi, kde postu prijmu mam ISO8859-2. Tak co mam tedy pouzit? UTF-8? Jinak from jsem zkousel, ale asi nejak spatne, jeste polaboruju.
9.3.2008 19:24 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
Mam UTF-8, ale v mailovym klientovi, kde postu prijmu mam ISO8859-2

Tak to bude asi ten problém, protože ty znaky tam naťukáte v UTF-8 (a e-mailový klient by si měl poradit s více znakovými sadami).

Jinak from jsem zkousel, ale asi nejak spatne, jeste polaboruju.

Teď střílím od boku, ale podobných polí je tam více (Reply-To atp.), tak zkuste taky ty ostatní (inspirujte se ve "skutečném" e-mailu)...

I am always ready to learn although I do not always like to be taught. (W. Churchill)
9.3.2008 19:55 lenny
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
Tak jsem vyresil odesilatele takto:
HEADER="${HEADER}Content-Transfer-Encoding: 8bit\n"
HEADER="${HEADER}From: odesilatel@domena.org"
Diky za nakopnuti;)
9.3.2008 20:40 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
Mam UTF-8, ale v mailovym klientovi, kde postu prijmu mam ISO8859-2. Tak co mam tedy pouzit? UTF-8?
Ano, použijte charset=UTF-8. To co máte uvedené v mailovém klientovi je nejspíš kódování odchozí pošty.
9.3.2008 20:58 lenny
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
Vyreseno, funguje (UTF-8), diky!
Jiří Poláček avatar 10.3.2008 09:45 Jiří Poláček | skóre: 47 | blog: naopak | Sivice
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ehm, posílat hlavičky parametrem -a, který slouží ke vkládání příloh, mi nepřijde zrovna ideální řešení. Lepší řešení je s použitím systémových proměnných (příklad předpokládá, že systém je v UTF-8):
#!/bin/sh
#

export from="Jiřina Řežuchová <jirina@example.net>"
export ttycharset=utf-8
export smtp=mail.example.net
export predmet=`echo "Schůzka ohledně služební cesty" | base64`
mail -s "=?UTF-8?B?$predmet=?=" franta@example.net << EOF
Dobrý den,
mohli bychom se někdy sejít ohledně domluvení služební cesty?

Jiřina Ř.
EOF
V příkladu je zároveň ukázáno, jak lze vnutit diakritiku do předmětu zprávy.

Proměnná smtp zajistí, že mail se skutečně bude tvářit, jako by dorazil z adresy definované ve from a ne ze systémového účtu, z kterého byl posílán.
Sudoku omrzelo? Zkuste bobblemaze! | Statistiky jsou jak bikiny. Napoví hodně, všechno ale neukážou.
10.3.2008 11:23 av
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
server:/home# ./mail
./mail: line 7: base64: command not found
proc to?
10.3.2008 12:01 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
Nenalezen příkaz base64. Asi bude nutné jej doinstalovat…
10.3.2008 12:06 av
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
to se snadno rekne, nenasel jsem zadny balicek, ktereho by byl soucasti...
10.3.2008 12:14 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
nenasel jsem zadny balicek, ktereho by byl soucasti...

base64 je součástí balíčku coreutils, takže by měl být na každém systému.

Nestalo se ale, že jste psal | pomocí Alt klávesy a držel jste ji i při stisku mezerníku, takže tam není mezera, ale paznak a bash hledá jiný soubor?

(Mimochodem, soubor base64 by měl být v /usr/bin)

I am always ready to learn although I do not always like to be taught. (W. Churchill)
10.3.2008 12:21 av
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
skript jsem zkopiroval a pak ho upravil, ale base64 nemam nikde.. to je teda divny..
10.3.2008 12:37 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
Máte /usr/bin v cestě? Když zkusíte spustit přímo /usr/bin/base64, dostanete také chybu, že příkaz neexistuje?
10.3.2008 12:45 av
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
ano, bash: /usr/bin/base64: není souborem ani adresářem .
10.3.2008 12:22 av
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
jo apt mi hlasi, ze coreutils mam posledni verzi
10.3.2008 13:21 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
co povi "locate base64 " pripadne "find base64 / | grep base64" ?
10.3.2008 13:30 av
Rozbalit Rozbalit vše Re: jak odeslat mail s cestinou skriptem?
server:~# locate base64
/usr/lib/asterisk/modules/func_base64.so
/usr/lib/python2.4/base64.py
/usr/lib/python2.4/base64.pyc
/usr/lib/python2.4/email/base64MIME.py
/usr/lib/python2.4/email/base64MIME.pyc
/usr/lib/python2.4/encodings/base64_codec.py
/usr/lib/python2.4/encodings/base64_codec.pyc
/usr/share/doc/openssl/doc/crypto/BIO_f_base64.pod

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.