自動送信するメールはPerl CGIプログラムから送信されているため、メールボックスには送信者名が「Apache」と表示されます。他の何かに変更するにはどうすればよいですか?
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]
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のようになります。それらを追加します。
「-r」オプションを使用して、送信者アドレスを設定できます。
mail -r [email protected] -s ...
差出人フィールドに実際の名前も含める場合は、次の形式を使用できます
mail -r "[email protected] (My Name)" -s "My Subject" ...
電子メールヘッダーにFrom:ヘッダーが指定されていない場合、MTAは現在のユーザーのフルネーム、この場合は「Apache」を使用します。/etc/passwdで完全なユーザー名を編集できます
それはあなたが話している送信者アドレスに依存します。受信者のメールプログラムに表示される送信者アドレスは、「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. [...]
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の再起動