Укажите пользователя от при отправке электронной почты с помощью команды mail - PullRequest
54 голосов
/ 23 сентября 2008

Кто-нибудь знает, как изменить пользователя от при отправке электронной почты с помощью команды mail? Я просмотрел справочную страницу и не вижу, как это сделать.

Мы работаем с Redhat Linux 5.

Ответы [ 15 ]

67 голосов
/ 23 сентября 2008

Вы можете указать любой дополнительный заголовок, который вам может понадобиться, с -a

$mail -s "Some random subject" -a "From: some@mail.tld" to@mail.tld
27 голосов
/ 23 сентября 2008

http://www.mindspill.org/962, кажется, есть решение.

По существу:

echo "This is the main body of the mail" | mail -s "Subject of the Email" recipent_address@example.com -- -f from_user@example.com

20 голосов
/ 23 сентября 2008

mail -r from@from.from -R from@from.com

-r = from-addr -R = ответ на адрес

Автор указал, что его версия почты не поддерживает этот флаг. Но если у вас есть версия, которая прекрасно работает, то

17 голосов
/ 05 мая 2014

При отправке через SMTP на странице справки mail рекомендуется установить переменную from следующим образом (протестировано на CentOS 6):

mail -s Subject -S from=sender@example.com recipient@example.com

Вы также можете прикрепить файл с помощью опции -a:

mail -s Subject -S from=sender@example.com -a path_to_attachement recipient@example.com
5 голосов
/ 05 октября 2013

Ничто из этого не сработало для меня (Ubuntu 12.04), но, наконец, методом проб и ошибок я получил:

echo 'my message blabla\nSecond line (optional of course)' | 
mail -s "Your message title"
-r 'Your full name<yourSenderAdress@yourDomain.abc>'
-Sreplyto="yourReplyAdressIfDifferent@domain.abc"
destinatorEmail@destDomain.abc[,otherDestinator@otherDomain.abc]

(все в одной строке, в "-Sreplyto" нет пробела)

Я получил эту почтовую команду от:

apt-get install mailutils
3 голосов
/ 23 сентября 2008

Вы можете добавить параметры sendmail в конец команды mail, сначала добавив -. -f это команда sendmail для установки адреса отправителя. Таким образом, вы можете сделать это:

mail receient@foo.com - -f sender@bar.com

2 голосов
/ 14 января 2014

Ничто из вышеперечисленного не сработало для меня. И мне потребовалось много времени, чтобы понять это, надеюсь, это поможет следующему парню.

Я использую Ubuntu 12.04 LTS с mailutils v2.1.

Я нашел это решение где-то в сети, не знаю где, не могу найти его снова:

-aFrom:Servername-Server@mydomain.com

Используется полная команда:

cat /root/Reports/ServerName-Report-$DATE.txt | mail -s "Server-Name-Report-$DATE" myemailadress@mydomain.com -aFrom:Servername-Server@mydomain.com
2 голосов
/ 23 сентября 2008

Вот решение .

Второе простейшее решение после -r (указать заголовок From: и отделить его от тела новой строкой, подобной этой

 $mail -s "Subject" destination@example.com
 From: Joel <joel@example.com>

 Hi!
 .

работает только в нескольких почтовых версиях, не знаю, какую версию использует redhat).

PS: большинство версий почты отстой!

1 голос
/ 21 апреля 2018

Вот ответ от 2018 года на Debian 9 подряд.

Обратите внимание на -e для эха, чтобы разрешить символы новой строки, и -r для mailx, чтобы показать имя вместе с адресом исходящей электронной почты:

$ echo -e "testing email via yourisp.com from command line\n\nsent on: $(date)" | mailx -r "Foghorn Leghorn <sender@yourisp.com>" -s "test cli email $(date)" -- recipient@somedomain.com

Надеюсь, это поможет!

1 голос
/ 13 мая 2016

Это работает на Centos7

echo "This is the main body of the mail" | mail -s "Subject of the Email" -r seneder_address@whatever.com recipent_address@example.com

...