Last update
この2つを目標にいろいろやってみようかと思います。 最近またまた活動再会?
参考
基本的にはこんな感じ ( > 送信側 < 受信側 )
< 220 受信サーバの名乗り ESMTP なんて書かれてることもある
> HELO メールサーバの名前 EHLO もある
< 応答 (ESMTPの場合はコマンドリスト)
{
> MAIL FROM:送信者
< 応答
> RCPT TO:受信者 ( 1行1アドレス 100個まで繰り返し可)
< 応答
> DATA
< 3xx 応答 終了は <CR><LF>.<CR><LF>
> ヘッダ内容
> 空行
> 本文
> .
< 応答
}
> QUIT (QUITしないで続けてMAILから?送信することも可)
| コマンド | 書式 | 意味 |
|---|---|---|
| HELO | HELO ドメイン | 旧接続の確立(必須) |
| EHLO | EHLO ドメイン | 接続の確立(必須) |
| 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で拡張 |
| コード | 意味 |
|---|---|
| 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 名前 を 本文に書いたメールを送れば登録できます。
参考
でしょ。
あるソフトがあるソフトに連絡をしたいとします。
TCP/IPで通信をしてもかまいませんが、常時接続されているわけではありません。
アプリケーションがメールを使えるようになってみました、でもいいような気がしますね。
今のメールはほとんど人が読むようにしか作られてないのかな・・・。
[James]とかとか。