Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

Email рассылка нескольким получателям командой mailx в Linux

#linux #unix


В Линукс через командную строку запускается рассылка email нескольким получателям:

$ echo "This is message body" | mail -s "This is Subject" someone1@example.com,someone2@example.com


Можно ли сделать так, чтобы каждый реципиент при получении письма в поле "Кому:"
видел только себя, а не всех тех кому также рассылаются письма?
    


Ответы

Ответ 1



Особенности SMTP протокола таковы, что для выполнения условия: чтобы каждый реципиент при получении письма в поле "Кому:" видел только себя, а не всех необходимо отправить письмо каждому получателю отдельно. Не важно, делаете вы это через программу mail в консоли, или используете язык программирования. Поэтому, если нужно использовать консольный вариант с рассылкой по списку, то пишите скрипт с циклом по всем получателям. Если же очень надо это делать одной командой, то воспользуйтесь маленьким "лайфхаком". Обычно называется forward. Реализовать это можно по разному. Например, создать в файле /etc/aliases такую строку: managers: user1, user2, user3 или managers: user1@your-domain.com, user2@your-domain.com, user3@your-domain.com и слать письмо на адрес managers@your-domain.com. Но тут есть особенность: все получатели такого письма увидят в поле Кому адрес managers@your-domain.com.

Ответ 2



Типы получателей письма Cc: (копия, carbon copy) — вторичные получатели письма, которым направляется копия. Они видят и знают о наличии друг друга. Типы получателей письма Bcc: (скрытая копия, blind carbon copy) — скрытые получатели письма, чьи адреса не показываются другим получателям. Из этого следует, что -b - это Bcc, а -c - Сс Поэтому, соответственно, добавьте флаг -b или -c перед адресами: echo "This is message body" | mail -s "This is Subject" -b someone1@example.com,someone2@example.com echo "This is message body" | mail -s "This is Subject" -c someone1@example.com,someone2@example.com В связи с комментарием мистера @de_frag, данный ответ является useless. По этой причине, в дальнейшем я найду рабочий (корректный) вариант, и отредактирую ответ.

Комментариев нет:

Отправить комментарий