- - PR -
コマンドラインからSMTP認証のメール送信
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-06-26 19:39
RedHat Linux9 を使用しています。
社内のメールサーバがSMTP認証を使用しているのですが、 mailやsendmail などのコマンドラインからのメール送信で SMTP認証を必要とするメールサーバーを使用したメールの 送信はできるでしょうか。 このマシンのsendmailサーバにSMTP認証を導入すれば何とかなるものでしょうか。 あるいはSMTP認証に対応したメーラーのインストールが必要でしょうか。 よろしくお願いします。 | ||||
|
投稿日時: 2005-06-26 23:47
状況がわからんですが...
SMTP認証を使用するMTAがあって、発信元がどこであれ必ずSMTP認証を 経ないとリレーを拒否するように設定されており、その設定を変更する ことは出来ない、ということですか? そうだとして... mailコマンドを使うのはどこなんでしょ? そのMTA上であれば、mailコマンドであれ、sendmailをコマンドラインから 起動した場合であれ、SMTP認証は関係無いですが... | ||||
|
投稿日時: 2005-06-27 00:21
ぽんすさん返信ありがとうございます。
わかりにくくてすみません。 メールサーバ(MTA)のSMTP認証についてはご認識のとおりです。 mailコマンドを使用したいのは、メールサーバとは別のマシンで、 このマシンがRedHat9です。 このmailコマンドを実行するRH9でもsendmailが動作しており、 このマシンのユーザ間ではメールの送受信はできました。 しかしマシン外のメールアドレスへは送信ができていません。 sendmailのSMART_HOSTにメールサーバを指定したところ、 メールサーバへは中継に行ってくれているようですが、 下のようなエラーのメールが帰ってきています。 ===================================== ----- Transcript of session follows ----- ... while talking to [メールサーバー]: >>> RCPT To:<送信先@ドメイン> <<< 550 5.7.1 <送信先@ドメイン>... Relaying denied. Proper authentication required. 550 5.1.1 送信先@ドメイン... User unknown ===================================== で、どうやらSMTP認証ができていないのではないかと思った次第です。 | ||||
|
投稿日時: 2005-06-27 00:57
mail は古いコマンドなので SMTP AUTH は非対応の気がします。
# 独自拡張されていれば別でしょうが。 コマンドラインから使いたいというのが、送信を自動化したいというだけの ことならば、Perl とか Ruby のモジュール(ライブラリ)を利用して SMTP AUTH 対応の MUA を作ることができると思います。 Ruby だと net/smtp.rb というライブラリに # === SMTP Authentication # # The Net::SMTP class supports three authentication schemes; # PLAIN, LOGIN and CRAM MD5. (SMTP Authentication: [RFC2554]) # To use SMTP authentication, pass extra arguments to # SMTP.start/SMTP#start. # # # PLAIN # Net::SMTP.start('your.smtp.server', 25, 'mail.from.domain', # 'Your Account', 'Your Password', :Plain) # # LOGIN # Net::SMTP.start('your.smtp.server', 25, 'mail.from.domain', # 'Your Account', 'Your Password', :login) # # # CRAM MD5 # Net::SMTP.start('your.smtp.server', 25, 'mail.from.domain', # 'Your Account', 'Your Password', :cram_md5) # の記述があるので、この3種類の認証方法を利用できます。 Perl は調べていませんが、CPAN あたりに転がっていそうです。 [ メッセージ編集済み 編集者: tkoba 編集日時 2005-06-27 00:57 ] | ||||
|
投稿日時: 2005-06-27 07:43
にゃるほど。mailはキューを突っ込むだけで送信するのはsendmailの
仕事ですから、この場合SMTP認証を行う必要があるのはsendmailですね。 sendmailからそのMTAに投げる際に、なにか決まったアカウントと パスワードを使ってSMTP認証をするように設定する、と。 出来そうな気はしますが、私はやり方を知りません。 SMTP認証対応のMUAを使う、という手でもいいのならそのほうが てっとりばやいでしょうね。 あとはSMTPクライアントを書いてしまう手か。 ネットワークプログラミングの経験があれば、「とりあえず動く」 というレベルで必要最小限の機能に絞ったものを書くことは それほど難しくないですが、この手を使うのは上のふたつの手では どうしてもダメだった場合だけでいいんじゃないでしょーか。 | ||||
|
投稿日時: 2005-06-27 10:08
tkobaさん 返信ありがとうございます。
お考えのように、コマンドラインから使用したいのは処理の自動化のためです。 サーバの運用情報を定期的に送信したいと考えています。(したがって受信不要) Rubyによる自作は現在ちょっと私には敷居が高いですが、 検討させていただきます。 情報ありがとうございました。 | ||||
|
投稿日時: 2005-06-27 10:22
ぽんすさん 返信ありがとうございます。
>sendmailからそのMTAに投げる際に、なにか決まったアカウントと >パスワードを使ってSMTP認証をするように設定する、と。 はい、これができればベストなのですが。 どうも方法が見つけられていません。 次のコマンドラインから送信できるMUAの導入、 もしくはtkobaさんにも教えていただいた自作、 はできれば避けたいと考えています。 情報ありがとうございました。 「なんでOutLookで簡単にできるのにLinuxではできないの?」と 笑われてしまいました。 悲しい。 | ||||
|
投稿日時: 2005-06-27 11:44
こんにちは。
ええと、私は試したことがないのですが、
は、できたと思います。 「sendmail authinfo」 をキーワードに、検索エンジンで探してみてください。 ただ、SASL に対応させなければならないので、sendmail の再コンパイルが必要になるかもしれません。 _________________ はゆる Smile, Smiles make me happy. |