Wie kann ich den Namen oder die E-Mail-Adresse ( From:
Header) des Absenders ändern, die von verwendet wird mutt
?
Wie kann ich den Namen oder die E-Mail-Adresse ( From:
Header) des Absenders ändern, die von verwendet wird mutt
?
Antworten:
Normalerweise setzt mutt den From:
Header basierend auf der from
Konfigurationsvariablen, die Sie festgelegt haben ~/.muttrc
:
set from="Fubar <foo@bar>"
Wenn dies nicht festgelegt ist, wird mutt
standardmäßig die EMAIL
Umgebungsvariable verwendet . In diesem Fall können Sie Mutt wie folgt in der Befehlszeile aufrufen (im Gegensatz dazu, wie Sie es in Ihrem Kommentar gezeigt haben):
EMAIL="foo@bar" mutt -s '$MailSubject' -c "abc@def"
Wenn Sie jedoch den From:
Header während des Komponierens bearbeiten möchten, müssen Sie ihn so konfigurieren mutt
, dass Sie zuerst die Header bearbeiten können . Dies beinhaltet das Hinzufügen der folgenden Zeile in Ihrem ~/.muttrc
:
set edit_headers=yes
Wenn Sie das nächste Mal mutt öffnen und eine E-Mail verfassen, wird der von Ihnen ausgewählte Texteditor ebenfalls mit den Überschriften angezeigt, sodass Sie sie bearbeiten können. Dies beinhaltet den From:
Header.
~/.muttrc
(dh /home/$USERNAME/.muttrc
). Sie bearbeiten es mit einem Texteditor. Wenn es nicht da ist, erstellen Sie es. Ich würde es nicht Shell-Scripting nennen, es öffnet nur einen Editor und schreibt eine Zeile in eine Datei;)
set edit_headers=yes
Sie die edit-from
Verknüpfung (Standard: ESC f) drücken können , um das Feld von zu bearbeiten.
echo set from="Fubar <foo@example.com>" > temprc
und verwenden Sie sie dann:mutt -s "my subject" -F testrc recipient@example.com
Wenn Sie es nur einmal ändern möchten, können Sie den 'from'-Header in der Befehlszeile angeben, z.
mutt -e 'my_hdr From:obama@whitehouse.org'
my_hdr
ist der Befehl von mutt, einen benutzerdefinierten Header-Wert bereitzustellen.
Ein letztes Wort, sei nicht böse!
echo "I love you body" | mutt -a "/tmp/file.zip" -s "ZIP" -c friend1@email.com -e 'my_hdr From:sender@company.com' -- main@email.com
hostname
. Das Ändern der hostname
on aws ist einfach , ich denke auf anderen Systemen sollte es ähnlich sein.
Bevor Sie die E-Mail senden, können Sie <ESC> f
(Escape gefolgt von f) drücken , um die zu ändernFrom:
Adresse .
Einschränkung: Dies funktioniert nur, wenn Sie mutt im Fluchmodus verwenden und kein Skript erstellen möchten oder wenn Sie die Adresse dauerhaft ändern möchten. Dann sind die anderen Lösungen viel besser!
from
wurde, dass das falsch war (ich benutze fast nie Köter). Ich habe meinen Speck gerettet, danke!
Ein Sonderfall hierfür ist, wenn Sie in Ihrer ~ / .muttrc eine Konstruktion wie die folgende verwendet haben:
# Reset From email to default
send-hook . "my_hdr From: Real Name <email@example.com>"
Dieser Send-Hook überschreibt eines der folgenden Elemente:
mutt -e "set from=email@example.com"
mutt -e "my_hdr From: Other Name <otheremail@example.com>"
Ihre E-Mails werden weiterhin mit dem Header gelöscht:
From: Real Name <email@example.com>
In diesem Fall ist die einzige Befehlszeilenlösung, die ich gefunden habe, das Überschreiben des Sende-Hooks selbst:
mutt -e "send-hook . \"my_hdr From: Other Name <otheremail@example.com>\""
Für eine einmalige Änderung können Sie dies tun:
export EMAIL='sender@example.com'; mutt -s "Elvis is dead" receiver@bar.com
nano
die Datei und den einen Liner am Ende der Datei angehängt - oder haben Sie anderen Code darum gelegt?
100% arbeiten!
Um HTML-Inhalte im Textkörper der E-Mail unterwegs mit der E-Mail-Adresse des Absenders und des Empfängers in einer Zeile zu senden, können Sie Folgendes versuchen:
export EMAIL="sender@example.com" && mutt -e "my_hdr Content-Type: text/html" -s "Test Mail" "recipient@example.com" < body_html.html
Datei: body_html.html
<HTML>
<HEAD> Test Mail </HEAD>
<BODY>
<p>This is a <strong><span style="color: #ff0000;">test mail!</span></strong></p>
</BODY>
</HTML>
Hinweis: Getestet in RHEL, CentOS, Ubuntu.
set from=email@example.com
in~/.muttrc