Укажите пользователя from при отправке электронной почты с помощью команды mail
кто-нибудь знает, как сменить пользователя при отправке электронной почты с помощью команды mail? Я просмотрела страницы и не вижу, как это сделать.
мы запускаем Redhat Linux 5.
15 ответов:
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
mail-r from@from.от -Р from@from.com
- r = from-addr -Р = ответ в адрес
автор указал, что его версия почты не поддерживает этот флаг. Но если у вас есть версия, что это отлично работает.
при отправке через SMTP,
from
переменной, таким образом:mail -s Subject -S from=sender@example.com recipient@example.com
в противном случае, используйте .
протестировано на CentOS 6.
вы также можете прикрепить файл, используя синтаксис :
mail -s Subject -S from=sender@example.com recipient@example.com <absolute_path_of_file_to_be_attached>
ни один из них не работал для меня (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
вы можете добавить параметры sendmail в конец команды mail, сначала добавив --. - f-это команда на sendmail для установки адреса from. Так что вы можете сделать это:
почта recipient@foo.com -- - f sender@bar.com
здесь решение.
второе простое решение после -r (которое должно указать заголовок From: и отделить его от тела новой строкой, как это
$mail -s "Subject" destination@example.com From: Joel <joel@example.com> Hi! .
работает только в нескольких почтовых версиях, не знаю, какую версию redhat несет).
PS: большинство версий почты сосать!
ни один из выше работал для меня. И мне потребовалось много времени, чтобы понять это, надеюсь, это поможет следующему парню.
Я использую 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
большинство людей должны изменить два значения при попытке правильно подделать адрес от по электронной почте. Первый - это адрес from, а второй-orig-to address. Многие решения, предлагаемые в интернете, изменяют только одно из этих значений.
если в качестве root, я пытаюсь простую почтовую команду, чтобы отправить себе письмо, это может выглядеть так.
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
это изменяет значение orig-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)
затем попробуйте его с помощью a-r и a -- настроить 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
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>"
спасибо всем поставщикам примеров, некоторые работали для некоторых нет. Ниже приведен еще один простой пример формата, который работал для меня.
echo "Sample body" | mail -s "Test email" from=sender-addrs@example.com recepient-addres@example.com
вот ответ от 2018 года, на Debian 9 stretch.
Примечание
-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
надеюсь, что это помогает!