ログイン中のユーザーのメールアドレスを作る…?

XWSS018598_s4

それなりの規模のシステムではなく、シェルスクリプトなど単純な小さな作業をさせ、その結果を報告させたいときには、メールを利用することが多い。

対象となるサーバーが多い場合、配布や書き換えが面倒になるから、設定ファイルを読み込む方式にしておくと幾分ラクであるけれど、そもそも設定も面倒だ・・ということで、それっぽいメールアドレスを作成してしまおうという姑息な手段を試すことにした。

スポンサードリンク

動機

というのも、設定ファイルを使う方法などであれば、正しくメールの送信元アドレスを指定できる[email protected]てしまっている。

[email protected][email protected][email protected]やすい。。。

スパム判定されにくくなるかどうかは不明だが、同時に進行させている他のスクリプトでは、先日ホスト名を仕方なく変更したところ、その送信元のAレコードを引けないということで、スパムどころではなくて受取拒否になってしまっているようだ。やはり、それっぽい送信元にしておいたほうが良さそう。

XWSS018599_s4

メールサーバーの設定で、送信元を正しく書き換えるようにすれば良いという方法もあるが・・。

スクリプト例

ということで、超適当にテストしたのが以下だ。

MAILFROM="`whoami`@`hostname`"
echo $MAILFROM

実行結果は以下のとおり。

$ sh t_sh_mailaddress.sh
[email protected]

[email protected]プションを付けて「hostname -f」としたかったが、利用できない(管理外の)サーバーもあるから「hostname」にしている。ただ、その場合は、hostnameが「hoge」でなく「hoge.example.com」となっていることが多いように思う。

$ sh t_sh_mailaddress.sh
[email protected]

[email protected][email protected]記述がどこかにされているのだろう。

おまけ

グローバルIPアドレスの取得

WANに直接接続された端末なら「pc.casey.jp » IPアドレスとMACアドレスを取得する」でIPアドレスが取得できる。LANに接続された端末なら次のようにしてグローバルIPアドレスを取得できる。

$ echo `wget -q -O - ipcheck.ieserver.net`

IPアドレスからホスト名を取得

取得したIPアドレスからホスト名を取得するには以下の様な方法がある。

# perl -e 'print $a=gethostbyaddr(pack("C4",split(/\./,"127.0.0.1")),2);'

# やっぱり設定ファイルのほうがいいのかなー・・?

参考文献

関連記事

スポンサードリンク

Comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です