Укажите пользователя from при отправке электронной почты с помощью команды mail.

StackOverflow https://stackoverflow.com/questions/119390

  •  02-07-2019
  •  | 
  •  

Вопрос

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

Мы используем Redhat Linux 5.

Это было полезно?

Решение

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

Другие советы

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

$mail -s "Some random subject" -a "From: some@mail.tld" to@mail.tld

почта -r from@from.from -R from@from.com

-r = от-addr -r = ответить на addr

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

При отправке по SMTP mail man-страница советует установить 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

Ничто из этого не помогло мне (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]

(все в одну строку, в "-Среплыто" нет пробела)

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

apt-get install mailutils

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

почта получателя@foo.com ---f sender@bar.com

Вот решение.

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

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

 Hi!
 .

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

ПС:Большинство версий почты — отстой!

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

Я использую 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
echo "This is the main body of the mail" | mail -s "Subject of the Email" recipent_address@example.com -- -f from_user@example.com -F "Elvis Presley"

или

echo "This is the main body of the mail" | mail -s "Subject of the Email" recipent_address@example.com -aFrom:"Elvis Presley<from_user@example.com>"

Большинству людей необходимо изменить два значения при попытке правильно подделать адрес отправителя в электронном письме.Первый — это адрес отправителя, второй — адрес отправителя.Многие из решений, предлагаемых в Интернете, изменяют только одно из этих значений.

Если от имени пользователя root я попробую простую команду mail, чтобы отправить себе электронное письмо, это может выглядеть так. echo "test" | mail -s "a test" me@noone.com

И связанные журналы: Feb 6 09:02:51 myserver postfix/qmgr[28875]: B10322269D: from=<root@myserver.com>, size=437, nrcpt=1 (queue active) Feb 6 09:02:52 myserver postfix/smtp[19848]: B10322269D: to=<me@noone.com>, relay=myMTA[x.x.x.x]:25, delay=0.34, delays=0.1/0/0.11/0.13, dsn=2.0.0, status=sent (250 Ok 0000014b5f678593-a0e399ef-a801-4655-ad6b-19864a220f38-000000)

Попытка изменить адрес отправителя с помощью -- echo "test" | mail -s "a test" me@noone.com -- dude@thisguy.com

Это изменяет значение «origin-to», но не значение «from»: Feb 6 09:09:09 myserver postfix/qmgr[28875]: 6BD362269D: from=<root@myserver.com>, size=474, nrcpt=2 (queue active) Feb 6 09:09:09 myserver postfix/smtp[20505]: 6BD362269D: to=<me@noone>, orig_to=<dude@thisguy.com>, relay=myMTA[x.x.x.x]:25, delay=0.31, delays=0.06/0/0.09/0.15, dsn=2.0.0, status=sent (250 Ok 0000014b5f6d48e2-a98b70be-fb02-44e0-8eb3-e4f5b1820265-000000)

Затем попробуйте это с помощью -r и --, чтобы настроить from и orig-to. echo "test" | mail -s "a test" -r dude@comeguy.com me@noone.com -- dude@someguy.com

И логи: Feb 6 09:17:11 myserver postfix/qmgr[28875]: E3B972264C: from=<dude@someguy.com>, size=459, nrcpt=2 (queue active) Feb 6 09:17:11 myserver postfix/smtp[21559]: E3B972264C: to=<me@noone.com>, orig_to=<dude@someguy.com>, relay=myMTA[x.x.x.x]:25, delay=1.1, delays=0.56/0.24/0.11/0.17, dsn=2.0.0, status=sent (250 Ok 0000014b5f74a2c0-c06709f0-4e8d-4d7e-9abf-dbcea2bee2ea-000000)

Вот как это работает для меня.Надеюсь, это кому-то поможет.

Это работает на 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

Вот ответ от 2018 года о Debian 9.

Обратите внимание -e для echo, чтобы разрешить символы новой строки, и -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

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

на CentOs5:-r from@me.omg

Спасибо всем поставщикам примеров, некоторые работали, некоторые нет.Ниже приведен еще один простой пример формата, который мне помог.

echo "Sample body" | mail -s "Test email" from=sender-addrs@example.com recepient-addres@example.com

Я столкнулся с той же проблемой.Но я решил проблему, просто установив поле geko в /ect/пароль поле.Postfix по умолчанию отправляет почту при входе пользователя.Предположим, вы хотите перейти от поля к оповещению.Вам просто нужно отредактировать файл /ect/passwd в любом редакторе, который вам нравится.

  1. vim/ect/passwd

корень:х:0:0:Оповещения:/root:/bin/bash

  1. Перезапустите постфикс.

Теперь проверьте результат.

  1. Эхо "Это основная часть почты" | mail -s "Тема электронной почты" user@domain.com

Теперь у получателя.От будет показано как Оповещения как вы указали в поле geko.Надеюсь, это решение подойдет вам.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top