- ベストアンサー
メール配信システムのプログラム
まぐまく等を利用しない自前のマール配信システムをつくりたい。 ついてはプログラミングを独習したいのですが、初心者向けの適当な書籍、ネット情報等があれば教えて下さい。 当方全くの素人で、何から初めてどう勉強すればいいのか皆目検討がつきません。 様々のジャンルの相関関係もよくわかりません。 全体の見取り図がわかり、配信システム構築についての 初歩から実践能力を得るまでの、勉強のステップについてご教授いただけるとありがたいです。 半年から1年ぐらいで(できれば専念して半年くらいで)概要がわかるようになりたいです。 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
私の経験上からの話なので、他のやり方もあるとは思いますがご参考になれば。 プログラミング初心者ということであれば、下記の勉強をしてみましょう。 ちゃんとしたものを作れるようになるには、半年1年では難しいですが、簡単なのなら作れるようになると思います。 0. Linuxを覚える 自前でサーバを作ることを考えているのなら、Linuxを使えるようになる事をお勧めします。Windowsでも十分可能なのですが、Linuxでメールシステムを作る方が、書籍などの情報が多いですし、後々楽だと思います。 CentOSやUbuntu Linuxならタダでダウンロードできますし、Linuxの入門雑誌の中には付録としてLinuxのCDやDVDが入っているものもあります。CDが入っている雑誌を買ってきて、古いPCにでもインストールしてみましょう。(数年前のショボいので十分ですが、大事なデータが入っているPCに入れるのはやめた方がいいです。) 1. メールサーバの構築 通信やプログラミングについて学ぶときには、具体的に目の前でメールサーバを動かしながらやった方がいいと思います。本物を使って他の人に変なメールを送ってしまって、迷惑をかけたりするのもまずいので、勉強も兼ねてメールサーバを立ててみましょう。 メールサーバを立てるには、MTA(送信・リレー)とMDA(メールクライアントへの配信)の2つを動かす必要があります。MTAはPostfix、MDAはDovecotなどが情報が多くて良いと思います。(いずれもLinux上で動作します。) ※不正アクセスの標的にならないよう、安全な設定方法がわかるまではインターネットにつなぐのはやめましょう。 2. プログラミングの基礎 プログラムを組むのなら、プログラミング言語を選ぶ必要があります。 どの言語を選んでも基本的な理屈は同じなのですが、能力や扱いの難しさに差があります。 数百人や数千人のユーザを扱うような高性能を求めるのでなければ、C言語のような扱いの難しい言語を学ぶよりは、比較的簡単な言語を学ぶことです。 とにかく、一つを決めてマスターしましょう。 言語自体の手軽さや日本国内の書籍の数・量で言えば、Rubyがいいかもしれません。 Rubyでメール送信するプログラムは、Googleで検索すればたくさんあります。 3. 通信規約類 コンピュータ同士でメールのやりとりをする際は、通信の規則に則って行われます。 沢山ある通信規約を全部をいっぺんに学ぶのは厳しいと思いますので、まずはTCP/IP(Webやメールを含め、インターネット全体で使われている通信規約)で通信するプログラムが組めるようになってから、それを利用してメールの送受信を担当するSMTPやPOP、IMAPなどを学ぶのが良いと思います。 メールの基本的な仕組みの概要については、下記のサイトでざっくり説明されてます。 http://www.geekpage.jp/technology/ip-base/ このあたりに出てくるキーワードをたどって勉強してみるのが良いと思います。
お礼
丁寧なご回答本当にありがとうございました。回答があればメールがくるようにしておいたのですが、迷惑メールの分類されてしまったようで返事がおくれてすみません。 右も左もわからず、手のつけようがなかったのですが、手のつけ始め、勉強の順序、押さえどころがわかりました。 ご指摘いただいたサイトにいったり、関連事項を調べたり、Linuxについてさっそく勉強を始めます。 本当に助かりました。ありがとうございます。