web-dev-qa-db-ja.com

差出人アドレスを指定するには、mailx変数を設定する必要があります

Oracle Linux 5.8(RedHat EL 5.8のブランド名が変更されたばかり)を実行している場合、Fromアドレスを変更する必要があります。ただし、mailxを使用するスクリプトがあり、追加のフラグを使用するように書き直すことはできないため、代わりに内部変数を使用したいと思います。これは、mailxのlinux.die.netマンページにある-rの代わりになります。国旗:

-rアドレス
差出人アドレスを設定します。環境ファイルまたはスタートアップファイルで指定されたfrom変数をオーバーライドします。チルダエスケープは無効になっています。 -rアドレスオプションは、SMTPが使用されていない限り、メール転送エージェントに渡されます。このオプションは互換性のためにのみ存在します。 代わりに、from変数を直接設定することをお勧めします。

(出典: http://linux.die.net/man/1/mailx

これらのmailx変数をどのように使用できますか?これを/root/.mailrcに追加してみましたが、失敗しました。

set from = [email protected]

また、ゴールドなしで/etc/mail.rcに追加しました。だから私はあなたに目を向けています、スーパーユーザー...

4
SlowBro

バージョンが重要だと確信していますが、RH Server 6.7でこの問題に苦労し、mailxのマンページを読み間違えましたが、最終的には〜/ .mailrcが機能するようになりました。

set [email protected]
set [email protected]

fromとreplytoの両方を実行する必要はおそらくありませんが、実行する価値がある場合は、やりすぎる価値があります。

2
Richard Betel

-rを使用したり、from変数を設定したりしても、私の環境では機能しませんでした。

私はいつも次のようなものを手に入れました:

send-mail: 550 5.7.1 ... Invalid from address ....

私にとってうまくいったのは、sSMTPエイリアスを/etc/ssmtp/revaliasesに追加することでした。

accountname:[email protected]:smtp.example.com

2
lava37

これをUbuntu14.04でテストしたところ、-Sパラメータを使用するとうまくいきました。

-S variable[=value]
          Sets the internal option variable and, in case of a string option, assigns value to it.

したがって、次のコマンドはfromアドレスを「[email protected]」に設定します。

echo "This is my test" | mail -S from="[email protected]" -s "This is my subject" "[email protected]"
2
Benjamin

どうやらこれを行うためにmailx変数を設定することは不可能です。これは、Sendmail(または同等のMTA)構成で行われます。ただし、残念ながら、Sendmailの構成は機能しなかったため、-rフラグを使用する必要があります。

1
SlowBro

Richard Betelの回答に追加するには、次のように.mailrcで完全な電子メールアドレスを指定することもできます。

set from="John Smith <[email protected]>"
1
John