Отправляет email-рассылки с помощью сервиса Sendsay

vim && Автокоманды

Привет всем.
как сделать проверку в файле строки, и в случае, если она найдена --
сделать замену другой строки?
что-то вроде этого:

:autocmd BufReadPre ~/tmp/mutt-localhost-* call Subscribe()
:function Subscribe()
:if {в файле содержится строка subscribe}
":то поменять адрес
":%s/<maxc***@u*****.fm>/<max.subscri***@m*****.ru>/g
"толко так не работает!?
:endif
:endfunction

специально для рассылки завел новый ящик. теперь mutt подставляет
автоматом старый адрес, которые я забываю поменять на новый.

Ответить   Mon, 24 Oct 2005 00:00:56 +0300 (#462103)

 

Ответы:

В сообщении от 1130101256 секунд после начала Эпохи Max написал(а):

А не проще ли настроить MUA?

Ответить   Konstantin Korikov Tue, 25 Oct 2005 00:27:46 +0300 (#462711)

 

On Tue, Oct 25, 2005 at 00:27 +0300, Konstantin Korikov wrote:

Да так проще. Но я хочю настроить таким образом, чтобы при ответе на
письма из дискуссии (или написании нового) подставлялся адрес нового
почтового ящика, в противном случае (если нет в To: *@subscribe.ru)
подставлялся старый адрес. Новый почтовый ящик я специально сделал для
рассылок с subscribe.
Я думаю, что это можно каким либо образом осуществить, только не пойму
как это сделать при помощи сценариев Vim. Сценарий shell я бы быстренько
написаль для этой задачи. А может можно как нибудь подключить?

Ответить   Wed, 26 Oct 2005 10:35:41 +0300 (#463031)

 

В сообщении от 1130312141 секунд после начала Эпохи Max написал(а):

Это должно входить в функции MUA (Mail User Agent). Если mutt не
предоставляет таких возможностей, то используйте другой MUA, или
добавьте эти возможности сами. Я использую Sylpheed и у меня таких
таких проблем никогда не было и не будет. А текстовый редактор - это
текстовый редактор, а не почтовый клиент.

Ответить   Konstantin Korikov Wed, 26 Oct 2005 19:56:28 +0300 (#463375)

 

On Wed, Oct 26, 2005 at 19:56 +0300, Konstantin Korikov wrote:

А я и не знал, что это "должно" входить в MUA.
Я не спорю -- текстовый редактрор не почтовый клиент, так он на это
место и не претендует (я имею в виду vim).
Просто как это при помощи MUA сделать я не знал (тут вот подсказали,
да как-то не так оно у меня работает) да и в голову неприходило,
и поэтому я это хотел сделать в vim. Знаете, как иногда поражаешься:
какие мощные инструменты находятся у тебя в руках (vim, mutt etc.), и
как бездарно ими пользуешься по незнанию.

Ответить   Wed, 26 Oct 2005 23:22:01 +0300 (#463527)

 

On Mon, Oct 24, 2005 at 12:00AM +0300, Max wrote:

Может вот так:
au BufRead ~/tmp/mutt* execute ":%s/<maxc***@u*****.fm>/<max.subscri***@m*****.ru>/g"

Ответить   Tue, 25 Oct 2005 15:50:24 +0600 (#462714)

 

On Tue, Oct 25, 2005 at 15:50 +0600, Arthur wrote:

Спасибо работает. Только эту замену надо делать если пишешь в дискуссию,
если нет, то оставить старый

Ответить   Wed, 26 Oct 2005 10:37:48 +0300 (#463035)

 

On Mon, Oct 24, 2005 at 12:00AM +0300, Max wrote:

Может вот так:
au BufRead ~/tmp/mutt* execute ":%s/<maxc***@u*****.fm>/<max.subscri***@m*****.ru>/g"

Ответить   Tue, 25 Oct 2005 15:54:43 +0600 (#462721)

 

On Tue, Oct 25, 2005 at 15:54 +0600, Arthur wrote:

В общем пришлось написать отдельный сценарий:

#!/bin/bash
FILE_LIST=`ls -t /home/max/tmp/mutt*|sed -n "1,1p"`
SUBS=`grep @subscribe.ru $FILE_LIST`
if [ -z "$SUBS" ]
then
echo "From: Max <maxc***@u*****.fm>"
else
echo "From: Max <max.subscri***@m*****.ru>"
fi

который затем собственно и вызываю автокомандой:

au BufRead ~/tmp/mutt* execute ":.!~/./nametki.sh"

т.к. при открытии нового файла vim устанавливает курсор на первую
строку, то эта строка заменяется результатм сценария.

Думаю, что это не самый правильный способ, но тем не менее работает.
Если есть варианты реализовать это средствами самаго vim?

Ответить   Wed, 26 Oct 2005 13:00:20 +0300 (#463032)

 

Доброго времени суток!

On Wed, Oct 26, 2005 at 01:00PM +0300, Max wrote:

А может лучше воспользоваться mutt-овскими hook-ами.

Допустим я это реализовал таким образом:
Почта складывается в отдельный ящик (допустим "subscribe").

На него ставлю:
folder-hook subscribe 'set from="my_subscri***@m*****.ru"'

надо только незабыть сбрасывать хук на все остальные ящики:
folder-hook . 'set from="my_other_ma***@m*****.ru"'

Получается когда я пишу или отвечаю из этого ящика, From адрес подставляется
другой.

или воспользоваться send-hook - то есть подставлять адрес при отправке.

Ответить   Thu, 27 Oct 2005 00:32:19 +0600 (#464314)

 

On Thu, Oct 27, 2005 at 00:32 +0600, Arthur wrote:

Тоже вариант. Надо бы почитать про эти хуки.
Спасибо.

Ответить   Fri, 28 Oct 2005 10:42:45 +0300 (#464712)

 

On Mon, Oct 24, 2005 at 12:00:56AM +0300, Max wrote:

А при чем тут vim. Используй возможности mutt, в частности send-hook.
Что-то типа этого:

send-hook '~C .*comp.soft.linux.discuss' 'my_hdr From:
<max.subscri***@m*****.ru>'

Это одна строка!

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 22252; Возраст листа: 824; Участников: 1443
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/463141

Ответить   j1m Wed, 26 Oct 2005 19:26:20 +0600 (#463141)

 

On Wed, Oct 26, 2005 at 19:26 +0600, j1m wrote:

А если я подписан не только на эту рассылку, то мне прийдется каждую
отдельно вбивать?
И еще наблюдается такой вот глюк.
Пишу письмо в дискуссию -- адресс меняется на <max.subscri***@m*****.ru>.
После пишу письмо уже не в дискуссию -- адресс опять
<max.subscri***@m*****.ru>, хотя он не должен был меняться.

Ответить   Wed, 26 Oct 2005 20:47:07 +0300 (#463397)

 

On Wed, Oct 26, 2005 at 08:47:07PM +0300, Max wrote:

Можно сделать охват всех рассылок subscribe.ru:

send-hook '~C .*subscribe.ru' 'my_hdr From:
<max.subscri***@m*****.ru>'

Попробуй добавить еще такую строку:

send-hook . 'my_hdr From: <оригинальный_адрес>'

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 22272; Возраст листа: 825; Участников: 1443
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/463477

Ответить   j1m Thu, 27 Oct 2005 02:46:24 +0600 (#463477)

 

On Thu, Oct 27, 2005 at 02:46 +0600, j1m wrote:

у меня так не получалось т.к. я не ставил точки перед *subscribe.ru

Все теперь работает как надо!
Вопрос кроме мануала на англицком и перевода man muttrc есть еще че
почитать про mutt?
Спасибо j1m.

Ответить   Thu, 27 Oct 2005 09:22:32 +0300 (#463722)

 

Вот здесь много примеров rc-файлов
http://wiki.mutt.org/index.cgi?ConfigList

Ответить   Thu, 27 Oct 2005 14:53:21 +0300 (#463875)

 

On Thu, Oct 27, 2005 at 09:22:32AM +0300, Max wrote:

Точка нужна, так как это шаблон (регулярное выражение).

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 22319; Возраст листа: 828; Участников: 1446
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/464974

Ответить   j1m Fri, 28 Oct 2005 03:18:46 +0600 (#464974)