しいしせねっとわーくAmazon.co.jp アソシエイト

[SPAM拒否] [IM]Get Thunderbird

ネットワーク メール/SMTP編

Last update 

  1. SMTPと、新しいメールサーバの作成
  2. 新しいメールプロトコルの作成、メッセンジャーとの統合

この2つを目標にいろいろやってみようかと思います。 最近またまた活動再会?

参考

SMTPという名のメール送信

いろいろ文字コードや添付ファイルなど複雑なおまけがついているのがメールのプロトコルSMTPです。
基本的なところはどんなかな。

基本的にはこんな感じ ( > 送信側 < 受信側 )

 < 220 受信サーバの名乗り ESMTP なんて書かれてることもある 
 > HELO メールサーバの名前 EHLO もある 
 < 応答 (ESMTPの場合はコマンドリスト) 
 { 
 > MAIL FROM:送信者 
 < 応答 
 > RCPT TO:受信者 ( 1行1アドレス 100個まで繰り返し可) 
 < 応答 
 > DATA 
 < 3xx 応答 終了は <CR><LF>.<CR><LF>
 > ヘッダ内容
 > 空行
 > 本文 
 > . 
 < 応答 
 } 
 > QUIT (QUITしないで続けてMAILから?送信することも可) 
表 SMTPコマンド一覧
コマンド 書式 意味
HELO HELO ドメイン 旧接続の確立(必須)
EHLO EHLO ドメイン 接続の確立(必須)
MAIL MAIL FROM:アドレス 発信者の指定(必須)
RCPT RCPT TO:アドレス 受信者の指定 100行まで(必須)
DATA DATA 本文の送信(必須)
RSET RSET 中断
SEND SEND FROM:アドレス 発信者の指定
利用者の端末まで届ける
SOML   発信者の指定
端末またはメールBOXへ届ける
SAML   発信者の指定
端末とメールBOXへ届ける
VRFY EXPN 文字列 受信者の確認
EXPN EXPN 文字列 メーリングリスト会員アドレス要求
HELP   ヘルプメッセージ要求
NOOP   ダミー
QUIT   処理の終了
TURN TURN クライアント/サーバ役割反転
AUTH   認証 RFC2554で拡張

SMTP応答コード
コード 意味
2xx 正常
3xx 入力開始?
4xx エラー
5xx エラー

Javaには、mail(MUA)用のAPIが用意されていますが、独自に作ることももちろん可能です。MUAだけでなくMTA、MDA、MLMも作れます。 しかし、作る場合は正しく作らないとメールのループなど大変なことになってしまう場合があるので注意しましょう。
EHLOとQUITが、SMTPサーバと接続するためのコマンドで、MAILからDATAまでのセットはくりかえして使うことができます。MAILで新メールのセッションが開始されますが、DATAの次に何かコマンドを追加できるかどうかは、RFCを見てください。

メールサーバにはどのようなものがあるか
UNIX上で動作するサールサーバ(MTA/MDA)の一般的なもので、次のようなものがあります。

この内、sendmail は設定が複雑で、Postfixやqmail に移行しているところが多いです。

MLM メーリングリストシステムの開発

Majavdomo というメーリングリストが開発されています。
他にも、fml、Majordomoなどは非常に多く利用されています。

参考

書籍

配信システム

作るのだ

Last update 2003.11.13

いろいろ調べてたのと、qmail に拡張機能をいろいろ設定するのなどが面倒だったりするので、自分でいじくりやすいメールサーバを作ってみることにしました。今までspam対策でいろいろ作ってきていた機能の取り込み、SMTPAUTHなどの搭載、マルチドメインPOP機能の統合など、ほしい機能にいろいろ対応してみる予定。Javaで作っているので、大抵の環境で動作可能です。

基本的な動作ができるところまで動いています。

まずは、基本機能の設計です。

javamail とは基本的に関係なくつくります。似ているかもしれません。

こんな感じで作っています。

メールプロトコルの研究と開発

[ m ] [ a ] [ i ] [ l ] [ @ ] [ d ] [ e ] [ v ] [ . ] [ j ] [ p ] でSMTP、新メールプロトコル開発のためのメーリングリストを開設します。

smtpでウイルスやspam対策をするためのメーリングリストではありません。

参加者こっそり募集いたします。

英語では新しいメールプロトコルを作るというような話が進んでいるようです。英語はいやなので、同じことを日本語でもしてみようということ。メーリングリストへは、英語でも日本語でも他の言語でもいいので投稿してくださいということにしてみますか? 基本的には日本語が書けなくてもいいので読める人が参加ということで。

登録方法

メールシステムはfmlを使っているので、上の dev.jp ドメインのmail-ctlアドレス宛に、subscribe 名前 を 本文に書いたメールを送れば登録できます。

参考

メールは人だけが使うものでもないらしい

Last update 2001.3.20

でしょ。
あるソフトがあるソフトに連絡をしたいとします。
TCP/IPで通信をしてもかまいませんが、常時接続されているわけではありません。
アプリケーションがメールを使えるようになってみました、でもいいような気がしますね。
今のメールはほとんど人が読むようにしか作られてないのかな・・・。

[James]とかとか。


[しいしせねっと]