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 <[EMAIL PROTECTED]>
например. Този скрипт ще се опита да изпрати три различни съобщения до
'Peter', 'Pentchev' и '<[EMAIL PROTECTED]>', което вероятно не е желаният
резултат :) Почти няма да спомена 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 [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]
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.
pgpG1Szf7Y7mt.pgp
Description: PGP signature
