Измените адрес «От:» в Unix «почта» - PullRequest
82 голосов
/ 10 сентября 2008

Отправка сообщения из командной строки Unix с использованием mail TO_ADDR приводит к получению электронного письма от $USER@$HOSTNAME. Есть ли способ изменить адрес «От:», вставленный mail?

Для записи я использую GNU Mailutils 1.1 / 1.2 в Ubuntu (но я видел такое же поведение с Fedora и RHEL).

[EDIT]

$ mail -s Testing chris@example.org                                                                  
Cc: 
From: foo@bar.org

Testing
.

1011 * выходы *

Subject: Testing
To: <chris@example.org>
X-Mailer: mail (GNU Mailutils 1.1)
Message-Id: <E1KdTJj-00025z-RK@localhost>
From: <chris@localhost>
Date: Wed, 10 Sep 2008 13:17:23 -0400

From: foo@bar.org

Testing

Строка "From: foo@bar.org" является частью тела сообщения, а не частью заголовка.

Ответы [ 19 ]

3 голосов
/ 25 мая 2011

Я не знаю, так ли это с другими ОС, но в OpenBSD команда mail имеет следующий синтаксис:

mail to-addr ... -sendmail-options ...

sendmail имеет опцию -f, где вы указываете адрес электронной почты для поля FROM :. Следующая команда работает для меня.

mail recepient@example.com -f from@example.com
2 голосов
/ 15 апреля 2016

echo "body" | mail -S from=address@foo.com "Hello"

-S позволяет вам указать множество строковых опций, безусловно, самый простой способ изменить заголовки и тому подобное.

1 голос
/ 18 февраля 2014

На CentOS это работало для меня:

echo "email body" | mail -s "Subject here" -r from_email_address email_address_to
0 голосов
/ 16 января 2019

Ни одно из вышеперечисленных решений не работает для меня ...

#!/bin/bash

# Message
echo "My message" > message.txt

# Mail
subject="Test"
mail_header="From: John Smith <john.smith@example.com>"
recipients="recipient@example.com"

#######################################################################
cat message.txt | mail -s "$subject" -a "$mail_header" -t "$recipients"
0 голосов
/ 03 июля 2017

Что позволило мне иметь собственный адрес для ответа на Ubuntu 16.04 с кодировкой UTF-8 и вложенным файлом:

Установить почтовый клиент:

sudo apt-get install heirloom-mailx

Редактировать конфигурацию SMTP:

sudo vim /etc/ssmtp/ssmtp.conf
mailhub=smtp.gmail.com:587
FromLineOverride=YES
AuthUser=???@gmail.com
AuthPass=???
UseSTARTTLS=YES

Отправьте письмо:

sender='send@domain.com'
recipient='recipient@domain.com'
zipfile="results/file.zip"
today=`date +\%d-\%m-\%Y`
mailSubject='My subject on the '$today
read -r -d '' mailBody << EOM
Find attached the zip file.

Regards,
EOM
mail -s "$mailSubject" -r "Name <$sender>" -S replyto="$sender" -a $zipfile $recipient < <(echo $mailBody)
0 голосов
/ 20 июля 2016

эхо "тест" | mailx -r fake@example.com -s 'test' email@example.com

Работает в OpenBSD.

0 голосов
/ 04 июня 2014

Ответы, предоставленные ранее, не работали для меня на CentOS5. Я установил Mutt. У него много вариантов. С Mutt вы делаете это так:

export EMAIL=myfrom@example.com
export REPLYTO=myreplyto@example.com
mutt -s Testing chris@example.org
0 голосов
/ 30 августа 2009

это сработало для меня

echo "hi root"|mail -rsawrub@testingdomain.org -s'testinggg' root
0 голосов
/ 11 ноября 2011

В CentOS 5.5 самый простой способ установить значение по умолчанию для домена - изменить файл hosts. Если ваш файл hosts содержит ваш WAN / публичный IP-адрес, просто измените первое имя хоста, указанное для него. Например, ваш файл hosts может выглядеть так:

...
11.22.33.44 localhost default-domain what-else.com
...

Чтобы отправлять его с сайта what-else.com, просто измените его так, чтобы сначала указывался любой адрес сайта, например:

...
11.22.33.44 what-else.com localhost default-domain
...

Я не могу говорить ни о каком другом дистрибутиве (или даже о версии CentOS), но в моем конкретном случае вышеописанное работает отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...