- PR -

sendmailの同サーバ内での転送について

投稿者投稿内容
yappa3jp
会議室デビュー日: 2004/02/17
投稿数: 18
投稿日時: 2004-02-17 13:18
初めまして。yappa3jpといいます。初心者なもので、恥ずかしい質問かも知れませんが、どうか知恵をお貸し下さい。
現在、redhat9.0を使用しています。
sendmailにて同サーバ内の別ユーザにメールを転送したいのですが、どこに・どのように記述すれば良いのでしょうか?あちこちを探してみて、別サーバへの転送方法は発見したのですが。その通りにすれば良いのかと思ってやってみたんですがうまくいきません。できれば転送元のユーザへも同じメールを配送したいと思っています。
どう伝えれば良いものか、うまく言えませんが宜しくお願いします。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-02-17 13:48
最も簡単な方法:

コマンドラインから

$ echo よろしく | sendmail foobar

捻った方法:

以下のファイル letter.txt を準備

--------------------------------------------
To: foobar
From: cobra
Subject: よろしく

よろしく
--------------------------------------------

コマンドラインから、

$ sendmail -f cobra -F cobra foobar < letter.txt

この場合、 foobar が受取り人になります。

自分自身にも同じメールを配送したい場合、

$ sendmail -f cobra -F cobra foobar,cobra < letter.txt

これでできると思います。
ローカルサーバー内ではいちいち JIS コード変換も要らず、いいっすね?
yappa3jp
会議室デビュー日: 2004/02/17
投稿数: 18
投稿日時: 2004-02-17 16:07
早速のご返事ありがとうございます。
たぶんなんですけど、これって同サーバ内での配送って事ですよね?
ごめんなさい、書き方が悪かったです。
外から入ってくるメールも転送したいんです。
例えば、taroとhanakoというユーザがいて、ドメインはhoge.co.jpってことにします。
それで、外部のjiro@honyara.co.jpからtaro@hoge.co.jpにメールが来ました。
そのメールをhanako@hoge.co.jpにも転送してtaro@hoge.co.jpにも残したい。
というのをsendmailでしたいんです。この場合だと教えて頂いた内容とは違ってきちゃいますよね?申し訳ないです。もうちょっと教えて頂く事はできますか?
ホントにかじり始めたばかりなもので・・。すみません。m(_ _)m
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2004-02-17 16:13
ども。がると申します。
んと、ヒントを書いておきますので、少し悩んだり調べたり
してみてください :-P

ど〜〜しても分からなかったらまた書き込んでください。
ヒントのキーワード
aliasesファイル
newaliase

sendmailだと、この辺がヒントになります。
頑張ってください ^^

----------
ちと追加を。
調べていくと分かるのですが、気をつけないと「エイリアスループ」で
無限ループが発生する可能性があります。
その辺に関して、ちょいとヒントを追加します。

taro: \taro, hanako

# 答えジャン、とかいう突っ込みはなしの方向でひとつ(笑

[ メッセージ編集済み 編集者: がるがる 編集日時 2004-02-17 16:40 ]
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-02-17 16:31
外から受信したメールを、誰かに転送するとすれば、 やはり、定番の受信者のホームディレクトリに
.forward 作って転送する、とかになるかと思います。
yappa3jp
会議室デビュー日: 2004/02/17
投稿数: 18
投稿日時: 2004-02-17 17:09
がる様、コブラ様、ありがとうございます。
ヒントを参考にさせて頂いて、イロイロ悩んでみようと思います。(^^)
また行き詰まった時には宜しくお願いします。m(_ _)m
yappa3jp
会議室デビュー日: 2004/02/17
投稿数: 18
投稿日時: 2004-02-17 18:13
がる様、なんかできたみたいです。
/etc/aliasesに下のように記述しました。
ユーザtaroに来たメールをtaroとhanakoに配送。
<記述内容>
taro: taro,hanako

こうしたところ、配送はされました。
たぶん、ホントに簡単に設定しただけだと思うんですけど・・。
.forwardも作っておきました。これでいーのでしょうか?
ただ、気になるのが無限ループなんです。
それって、つまり上記の記述に
hanako: taro
をプラスしちゃいけないって事でしょうか?
この解釈で宜しいのでしょうか?
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2004-02-17 18:40
どもです。がるです。
いくつか質問を。

1."newaliase"コマンドは動かしましたか?
aliasesに書いた後は、一回このコマンドを実行する必要があるです。
多分動いているのであれば実行していると思うのですが、一応。

2.無限ループの話
引用:

<記述内容>
taro: taro,hanako


これだと危険ですね。
具体的にどういう動きになるかというと、以下の流れになります。

・taroさんにメールが来る
*aliasesの記述にしたがってtaro,hanakoの両名にメールを送る
・hanakoさんにメールが来る。メールボックスへ
・taroさんにメールが来る
*aliasesの記述にしたがってtaro,hanakoの両名にメールを送る
・hanakoさんにメールが来る。メールボックスへ
-以下略-

となります。つまり「taroさんからtaroさんへ」メールを送る
時点で、無限ループが発生します。
これを防ぐためには、以下のように記述する必要があります。

taro: ¥taro,hanako

んと、¥マークは半角で書いてください(なんかバックスラッシュに
なってしまうので、ここでは大文字で書いてます)
この¥マークによって、無限ループが防止できます。

ちなみに、aliasesは結構よく使うファイルだと思うので、
扱いに慣れておくと便利です ^^
# postmasterとかいくつかのアドレスのメールを一本に
# 集約したりするときに大活躍します

一応、テストできるうちにメール送信でテストをして、
問題がないことを確認してみてください ^^

スキルアップ/キャリアアップ(JOB@IT)