Re: lug-bg: Sending many mails
- Subject: Re: lug-bg: Sending many mails
- From: Peter Pentchev <roam@xxxxxxxxxxx>
- Date: Wed, 14 Jul 2004 23:02:19 +0300
On Wed, Jul 14, 2004 at 10:43:26PM +0300, Vasil Kolev wrote:
> На ср, 2004-07-14 в 19:45, Emil Sakalijski записа:
> > Здравейте!
> > Извинявам се ако повдигам отново такъв въпрос, но ми се налага да
> > пращам много e-mail
> > съобщения до около 60-70 клиента, но не трябва да се виждат останалите
> > реципиенти
> > Тоест, всяко съобщение да е само към един адрес. Как или с какво да го
> > направя?
> >
>
> Ами следното дали ти върши работа?
> #!/bin/sh
>
> if [ -z "$3" ] ; then
> echo Usage: $0 message list_of_addresses from_addr
> exit 1
> fi
>
> list="$2"
> msg="$1"
> from="$3"
>
> for i in `cat $list`; do
> cat $msg |sed "s/TOADDR/$i/g" | /usr/sbin/sendmail -f "$from" "$i"
> done
Това няма да се справя много добре със случая, когато адресите са в
малко "по-истински" формат, като Peter Pentchev <roam@xxxxxxxxxxx>
например. Този скрипт ще се опита да изпрати три различни съобщения до
'Peter', 'Pentchev' и '<roam@xxxxxxxxxxx>', което вероятно не е желаният
резултат :) Почти няма да спомена the useless uses of cat ;)
Цикълът може да бъде преписан така:
oldifs="$IFS"
IFS="\015"
while read i; do
sed "s/TOADDR/$i/g" msg | /usr/sbin/sendmail -f "$from" "$i"
done < list
IFS="$oldifs"
...и в съобщението може да се махнат скобичките около TOADDR.
Иначе останалата част от скрипта става :)
Поздрави,
Петър
--
Peter Pentchev roam@xxxxxxxxxxx roam@xxxxxxxx roam@xxxxxxxxxxx
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
This sentence every third, but it still comprehensible.
Attachment:
pgpW7qQJtac1q.pgp
Description: PGP signature
|