Электронная почта с помощью сценария оболочки

Попробуйте это

sed -e 's/[[:space:]]/\n/g' | grep -v '^$'

Это использует обоих grep и sed, но я надеюсь, что хорошо (если Вы имеете sed в системе Вы обычно имеете grep также)

5
05.07.2014, 14:21
2 ответа

Предполагая, что вы используете sendmail или mail в вашем скрипте (которые оба ожидают строку, отделенную запятыми, как список получателей), вы можете скомкатентовать идентификаторы (или напрямую записать их как такой список):

$: recipients="rec1@example.com, rec2@example.com, rec3@example.com"

или скомкатентовать:

$: base_recipients="important1@example.com, important2@example.com"
$: full_recipients="$base_recipients, special@example.com"

$: echo $full_recipients
important1@example.com, important2@example.com, special@example.com  

Следующим примером будет отправка письма с sendmail на 3 различных почтовых идентификатора:

#!/bin/bash

recipients="reci1@example.com, another@example.com, friend3@different.com"
subject="Mail to you all"
from="your_mail@something.com"

message_txt="Hi all!\n This is a message to all 3 of you!.\n cheers, Me."

/usr/sbin/sendmail "$recipients" << EOF
subject:$subject
from:$from
$message_txt
EOF
4
27.01.2020, 20:38

Вот мой код, использующий почтовый массив:

MAILADDR=(mail1@example.com mail2@example.com mail3@example.com)
for i in "${MAILADDR[@]}"
    do
         echo "Mail test..." | mail -s "Mail test subject..." $i
    done
2
27.01.2020, 20:38

Теги

Похожие вопросы