web-dev-qa-db-ja.com

linux mailコマンドを使用してメールを自動送信するときに、送信者名(電子メールアドレスではない)を変更するにはどうすればよいですか?

自動送信するメールはPerl CGIプログラムから送信されているため、メールボックスには送信者名が「Apache」と表示されます。他の何かに変更するにはどうすればよいですか?

22
therobyouknow

From:ヘッダーを追加するだけです。デフォルトでは何もありません。

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

-aを使用して、カスタムヘッダーを追加できます。

echo "Test" | mail -a "From: Someone <[email protected]>" \
                   -a "Subject: This is a test" \
                   -a "X-Custom-Header: yes" [email protected]
27
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

上記は私の解決策です。たとえば、「Paula」を任意の名前に置き換えてください。たとえば、Johny Bravoのようになります。それらを追加します。

9
MoSs

「-r」オプションを使用して、送信者アドレスを設定できます。

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

差出人フィールドに実際の名前も含める場合は、次の形式を使用できます

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

電子メールヘッダーにFrom:ヘッダーが指定されていない場合、MTAは現在のユーザーのフルネーム、この場合は「Apache」を使用します。/etc/passwdで完全なユーザー名を編集できます

3
user1106046

それはあなたが話している送信者アドレスに依存します。受信者のメールプログラムに表示される送信者アドレスは、「From:」ヘッダーから抽出されます。これはおそらくプログラムから簡単に設定できます。

SMTPエンベロープ送信者アドレスについて話している場合は、-f引数をsendmailバイナリに渡すことができます。サーバー構成によっては、Apacheユーザーでそれを行うことが許可されない場合があります。

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

Ubuntu 14.04では、これらの提案はいずれも機能しませんでした。 Postfixは、ログインしたシステムユーザーを送信者としてオーバーライドします。うまくいったのは、このリンクにリストされている次のソリューションでした-> 送信メールアドレスをroot @ servernameから変更-rackspace sendgrid postfix

手順:

1)これが/etc/postfix/main.cfで設定されていることを確認してください:

   smtp_generic_maps = hash:/etc/postfix/generic

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

3)sudo postmap/etc/postfix/generic

4)sudoサービスのpostfixの再起動

1
Andy