Portál AbcLinuxu, 26. října 2025 14:34
unmy_hdr * . . . my_hdr Subject: "nejaky muj subject"prostě nefunguje, nechápu proč, vždyť From, To, Cc, Bcc apod. takhle nadefinuju úplně v pohodě. Víte někdo jak na to? Podobný problém je s vložením těla zprávy, ale to jsem již vyřešil přes nastavení "editor", kde provedu (pro Vim) "+':r /path/to/nejaky_body.template'"... Ale s tím subjectem se opravdu nevím rady
Zkoušel jsem pro editor nastavit "+':%s/Subject:/Subject: text'", ale to zase zkolabuje Vim
a tvrdi mi, ze je to neplatny prikaz (asi proto, že v prostředí Muttu je "%s" interpretováno jako vstup pro ten nastavenej editor, pokusy s dosazením zpětných lomítek před "%" taktéž selhalo).
A teď babo raď
$ cat tmp/muttrc unmy_hdr * my_hdr Subject: ahoj svete set edit_headers=yes set editor="vim '+:%%s/Subject:/Subject: text/'" # ^^ $ mutt -F tmp/muttrcAle my_hdr Subject: ... nemění subject v odpovědi a nemá vliv na zprávu matchlou v reply nebo send hooku (má vliv až na další).
Error detected while processing command line: E492: Not an editor command: :%%s/Subject:/Subject: text/
Mutt 1.4.2.1i (2004-02-12) VIM - Vi IMproved 6.3 (2004 June 7, compiled Jan 11 2005 02:52:41)
Problém teda bude, myslíš, v tom, že moje verze Muttu nesprávně nakládá s "%%". Protože: když tam dám "%%s", tak tomu Vimu předhodí "%%s" namísto "%s" a když tam dám jen "%s", tak je myslím jasné, co se stane.
Ok, zkusím novější verzi Muttu a napíšu, jak to dopadlo.
Tos tahal z CVS?
---cut---
set signature="~/.mutt/signatures/normal.sig"
set editor="vim -c 'startinsert' \
+':set textwidth=76' \
+':set nu!' \
+':%%s/^Subject:.*$/Subject: Text našeho subjectu/' \
+'/Reply-To:.*$' \
+':r ~/.mutt/templates/nazev.tem' \
+':10' %s"
unmy_hdr *
my_hdr From: "Moje jméno" <moje_adresa>
my_hdr To: "Komu to bude" <recipient_adresa>
my_hdr Cc: "Carbon Copy pro" <carbon_adresa>
my_hdr Reply-To: "Kam půjde odpověď" <reply_adresa>
---cut---
U mě uvedené způsobí, že se sestaví takovýto E-mail:
From: Moje jméno <moje_adresa> To: Komu to bude <recipient_adresa> Cc: Carbon Copy pro <carbon_adresa> Bcc: Subject: Text našeho subjectu Reply-To: Kam půjde odpověď <reply_adresa> zde bude tělo zprávy z ~/.mutt/templates/nazev.tem -- zde bude signatura z ~/.mutt/signatures/normal.sigVim zároveň naskočí v Insert módu a kurzor je na pozici začátku těla zprávy. Upozorňuji znovu, že toto řešení pravděpodobně nikomu nebude a ani nemůže fungovat! Je to fakticky jen na ukázku že to jde a funguje. V konkrétní konfiguraci Muttu je nutno postupovat dle dané konfigurace jinak. Nějaké univerzální řešení bychom takovýmto způsobem hledali asi jen stěží. Napadá mě ještě jedna možnost, ale zatím jsem ji netestoval. Uvedený způsob mi totiž přijde příliž složitý a skoro neschůdný.
).
Jinak :set něco věci by šly hodit do ~/.vim/ftplugin/mail.vim, ostatní věci (:r, :s///) budou dělat neplechu, když ten mail budeš editovat dvakrát -- to by je pak chtělo přesunout do konfigurace vimu a tam nějak testovat, co je nový mail a co ne.
PS: Právě proto, že je to vývojová verze, jsem psal, že mi nepadá.
PS: Právě proto, že je to vývojová verze, jsem psal, že mi nepadá.Aha
Tak se omlouvám...
No, k celé problematice můžu říci jediné. Mutt je naprosto nejlepší MUA, se kterým jsem měl tu čest se seznámit (ještě jsem zkoušel Sylpheed-Claws, a kdysi dávno Pine). Naučil jsem používat Mutt i moji slečnu. Jenže moje slečna potřebuje během večera poslat třeba několik e-mailů se stejným textem, ale jinou přílohou (já to taky potřebuju, ale jen 1x do týdne). Proto to řeším. Napadlo mě, že by se pomoci +":r soubor" mohl načítat úplně celej mail, prostě jakási šablona i s hlavičkou, ale nevím, jak Muttu zakázat, aby mi do takto sestavovaného mailu přidával vlastní hlavičku (navzdory unmy_hdr * stejně přidává prázdnou hlavičku). Jak mu to teda říct, že nechci, aby vytvářel hlavičku? Určitě to nějak půjde. To by totiž problém úplně vyřešilo a bylo by to i jednoduché a schůdné na implementaci i pro mojí slečnu. Takhle je bohužel odkázána na moje šílený triky v Muttu a Vimu, jak jsem předvedl shora.
Než se to naučí, rád bych pro ni měl jednoduché řešení (a pro sebe vlastně taky)...
#!/bin/sh
FROM=odesilatel
TO="seznam adresatu"
CC="seznam cc adresatu"
SUBJECT="predmet"
TEXT=/soubor/s/textem
CC="-c ${CC// / -c }"
MAIL="$FROM"
for f in "$@"; do
mutt -a "$f" -s "$SUBJECT" $CC $TO <"$TEXT"
done
Jinak ten tvůj postup bude fungovat, ale tu zprávu je potřeba napsat najednou, protože když se vim spustí podruhé, tak znova nahradí řádku se Subjectem a načte template.
Stejne ale moc dik za snahu.
Je to zvlastni, ale treba v jednom podniku, ve kterem pracuje jeden znamy se posilaji desitky "prednapsanych" zprav. Safra, to by v tom byl cert, aby to v Muttu neslo taky, kdyz to umi kde co...
macro index \cT ":set editor=\"vim +'<esc>/^$' +':r /cesta/k/telu'\"<enter><forward>:set editor=default\n"Třeba taky šikovnej způsob jak mezi hlavičku a podpis narvat šablonku pro tělo. Místo
<forward> lze psát třeba <reply> atd. Předpokládá to ovšem, že píšete ve Vimu, to je jediný nedostatek. Ovšem vložit něco do souboru by snad měl umět každej pořádnej editor...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.