自動送信しているメールは Perl CGI プログラムから送信されているため、メールボックスの送信者名は「Apache」と表示されます。他のものに変更するにはどうすればよいですか?
6 に答える
From:
ヘッダーを追加するだけです。デフォルトでは何もありません。
echo "Test" | mail -a "From: Someone <someone@example.com>" other@example.com
以下を使用して、任意のカスタム ヘッダーを追加できます-a
。
echo "Test" | mail -a "From: Someone <someone@example.com>" \
-a "Subject: This is a test" \
-a "X-Custom-Header: yes" other@example.com
mail -s "$(echo -e "This is the subject\nFrom: Paula <johny@paula.com>\n
Reply-to: 1232564@yourserver.com\nContent-Type: text/html\n")"
milas.josh@gmail.com < htmlFileMessage.txt
上記が私の解決策です。「Paula」を任意の名前に置き換えるだけです。たとえば、Johny Bravo です。追加のヘッダーは、送信元の直後と返信の前に追加できます...前にヘッダーの構文を知っていることを確認してください。それらを追加する....これは私にとって完璧に機能しました。
「-r」オプションを使用して、送信者アドレスを設定できます。
mail -r me@example.com -s ...
from フィールドに本名も含めたい場合は、次の形式を使用できます。
mail -r "me@example.com (My Name)" -s "My Subject" ...
電子メールヘッダーにFrom:ヘッダーが指定されていない場合、MTAは現在のユーザーのフルネーム(この場合は「Apache」)を使用します。/ etc/passwdで完全なユーザー名を編集できます
話している送信者アドレスによって異なります。受信者のメール プログラムで表示される送信者アドレスは、「From:」ヘッダーから抽出されます。おそらくプログラムから簡単に設定できます。
SMTP エンベロープの送信者アドレスについて話している場合は、sendmail バイナリに -f 引数を渡すことができます。サーバーの構成によっては、apache ユーザーでこれを行うことが許可されていない場合があります。
sendmailマンページから:
-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 yourusername@yourdomain.com' >> /etc/postfix/generic
3) sudo ポストマップ /etc/postfix/generic
4) sudo サービスの postfix 再起動