wake-up-neo.net

Wie kann ich den Absendernamen (keine E-Mail-Adresse) ändern, wenn Sie den Befehl linux mail zum automatischen Senden von E-Mails verwenden?

Mailbox zeigt den Absendernamen als "Apache" an, da die automatisch gesendete Mail von einem Perl-CGI-Programm gesendet wird. Wie kann ich es in etwas anderes ändern?

21
therobyouknow

Sie müssen lediglich einen From:-Header hinzufügen. Standardmäßig gibt es keine.

echo "Test" | mail -a "From: Someone <[email protected]>" [email protected]

Sie können mit -a beliebige benutzerdefinierte Header hinzufügen:

echo "Test" | mail -a "From: Someone <[email protected]>" \
                   -a "Subject: This is a test" \
                   -a "X-Custom-Header: yes" [email protected]
24
sam hocevar
mail -s "$(echo -e "This is the subject\nFrom: Paula <[email protected]>\n
Reply-to: [email protected]\nContent-Type: text/html\n")" 
[email protected] < htmlFileMessage.txt

das obige ist meine Lösung. Ersetzen Sie einfach die "Paula" durch einen beliebigen Namen, den Sie möchten, z. B. Johny Bravo. Jede weitere Kopfzeile kann direkt nach und vor der Antwort hinzugefügt werden. Stellen Sie sicher, dass Sie die Kopfzeilen-Syntax kennen Ich fügte hinzu ... das funktionierte perfekt für mich.

9
MoSs

Sie können die "-r" -Option verwenden, um die Absenderadresse einzustellen:

mail -r [email protected] -s ...

Wenn Sie auch Ihren echten Namen in das from-Feld aufnehmen möchten, können Sie das folgende Format verwenden

mail -r "[email protected] (My Name)" -s "My Subject" ...
6
RafaSashi

Wenn in den E-Mail-Headern kein Header From: angegeben ist, verwendet der MTA den vollständigen Namen des aktuellen Benutzers, in diesem Fall "Apache". Sie können vollständige Benutzernamen in/etc/passwd bearbeiten

3
user1106046

Es hängt davon ab, von welcher Absenderadresse Sie sprechen. Die Absenderadresse, die im Empfänger-Mailprogramm angezeigt wird, wird aus dem Header "Von:" extrahiert. das kann wahrscheinlich leicht von Ihrem Programm eingestellt werden.

Wenn Sie über die Absenderadresse des SMTP-Umschlags sprechen, können Sie das Argument -f an die sendmail-Binärdatei übergeben. Abhängig von der Serverkonfiguration können Sie dies möglicherweise nicht mit dem Apache-Benutzer durchführen.

aus der sendmail manpage :

   -f <address>
                 This  option  sets  the  address  of the envelope sender of a
                 locally-generated message (also known as  the  return  path).
                 The  option  can normally be used only by a trusted user, but
                 untrusted_set_sender can be set to allow untrusted  users  to
                 use it. [...]
1
Gryphius

Unter Ubuntu 14.04 funktionierte keiner dieser Vorschläge. Postfix würde mit dem angemeldeten Systembenutzer als Absender überschreiben. Was funktionierte, war die folgende Lösung, die unter diesem Link aufgeführt ist -> Ausgehende E-Mail-Adresse von root @ servername ändern - rackspace sendgrid postfix

SCHRITTE:

1) Stellen Sie sicher, dass dies in /etc/postfix/main.cf eingestellt ist:

   smtp_generic_maps = hash:/etc/postfix/generic

2) echo 'www-data [email protected]' >>/etc/postfix/generic

3) Sudo postmap/etc/postfix/generic

4) Neustart des Sudo-Service-Postfixes

1
Andy