情報処理技術99年前期
第3回 電子メールの高度利用とメーリングリスト

2000/4/27


電子メールについて

電子メールは「ネットワークを通じた手紙のやり取り」ということでかまわないのですが、より高度に利用できるようになるために、その動作原理を知っておきましょう。もちろん、技術的な詳細なことを知るのもいいのですが、まずは概要をつかむということが大切です。一般にインターネットを利用した電子メールのやりとりは、次のような流れになります。

まず、大前提としては、インターネットに接続しているということがあります。インターネットに接続したサーバーがあり、そのサーバーでメールの管理を行います。そのサーバーに対して、電子メールの送受信を行うクライアントから電子メールが動くようになっているということがあります。具体的にはつぎのようなことが前提になります。

以上のような状態で、送信元で、電子メールを作成し、それを送り先に届けられるまでのプロセスを追って見ます。おおむね、次のような流れです。

  1. 電子メールソフトでメッセージを作成する
  2. 作成したメッセージを、サーバーに送付する。このときに使われるのが、SMTP(Simple Mail Transport Protocol)というプロトコル
  3. メールサーバーのMTA(Mail Transfer Agent)がメールを受け取る
  4. MTAはメールの内容から適切な送付先のサーバーを探す(DNS:Domain Name Serviceを使う)
  5. MTAから送付先のサーバーで稼動するMTAに対してメールを送る
  6. 送付先のサーバーに蓄積される

サーバーで機能していてメールの配信を行うソフトウエアを、MTA(Mail Transfer Agent)と呼ばれます。よく利用されるのがsendmailというソフトウエアで、UNIXには通常は標準で組み込まれて動くようになっています。最近ではqmailというMTAも使われています。WindowsやMac OS用のMTAもあります。

SMTPというのは、プロトコル、つまりここでは通信でのやりとりの規則のことです。電子メールソフトで、「SMTPサーバーを設定する」ということを行いますが、ここで示したように、メールを送るときのメールの送り先のことを示していると考えればよいでしょう。

サーバーからサーバーへの転送は実際にはもっと複雑な処理がからみますが、ここでは省略します。メールのメッセージにある送付先の情報から、「どこにあるサーバーか?」が割り出されます。そのサーバーに対して、やはりSMTPでメールメッセージが送付されます。そして、送付先で蓄積されます。いきなり送付先に届くのではなく、サーバーに蓄積されることが重要です。

さて、一方、送付先にあたるパソコン(アカウントを含めた意味で)で、あるとき、電子メールソフトを起動したとします。そのとき、次のような手順で、サーバーにあるメッセージが電子メールソフトに取り込まれます。

  1. クライアントの電子メールソフトがサーバーに対してメールがあるかどうかを問い合わせる
  2. まだ読んでないメールがあれば、それをサーバーからクライアントに取り込む
  3. クライアントにそのメッセージを蓄積する
  4. 一般にはサーバーに蓄積したメッセージは削除する(しないことも可能)
  5. クライアントでメッセージを読む

こうした一連の処理は、サーバー側で機能するMDA(Mail Delivery Agent)というソフトウエアと、クライアント側の電子メールソフトとのやりとりで行われます。このときに使われるプロトコルがPOP(Post Office Protocol)です。電子メールソフトの「POPサーバーの設定」は、サーバーにあるメッセージを取り込むために必要な設定であるということになります。

なお、POP3というのは、POPプロトコルの改訂第3版という意味です。最近では、POPよりも、より高機能なIMAP(Internet Message Access Protocol)が開発されており、IMAP対応のMDAも使えるようになってきています。IMAPは蓄積したサーバー側でメールを分類することなどができるなど、クライアントにメッセージを取り込まないで、メールの読み取りをできるようにしたものです。


メールソフトで電子メールを使いこなす

この単元のリンク先にある「ホームページに戻る」は、このページではなく、別の授業のページになっているので、注意してください。

メールについては、そこそこ使いこなすことができるようになっていると思うので、復習もかねて使いこなすためのいろいろな機能を説明しておきます。

メールの送受信

メールメッセージの送受信は、すでにこれまでの授業で行っており、問題なくできるかと思います。それで、少なくとも、メールのやり取りに加えて、アドレス帳の管理くらいはできるようになっておいてください。

→Becky!でのアドレス帳の管理

また、署名というものを活用しましょう。署名を利用することで、自分を名乗ることが忘れないようにできます。また、自分のホームページなどの宣伝に利用しやすいので、いろいろな人の署名を参考に、オリジナルな署名を作っておくといいでしょう。

→Becky!での署名の利用方法

ファイルの添付

メールにファイルを添付し、メッセージとともに、ファイルを送付することもできます。

→Becky!でのファイル添付の基本的な方法

逆に添付されたファイルは取り出さないと利用できないのが普通です。添付の逆の操作、つまり、ドラッグ&ドロップして取り出すなど何通りかやり方があります。

フォルダによるメールの分類

メールを受信ボックスに溜め込むと整理がつきません。そこで、フォルダを作って、そこにメールを分類するというのが基本的な使い方になります。フォルダを作り、手作業で分類する方法をまず知っておく必要があります。

→Becky!でのフォルダ作成とその利用方法

なお、次に自動分類を説明しますが、必ずしも自動化する必要はありません。手作業で分類すれば、必ず少しは目を通すということにもなります。また、返信が必要なものの場合、「返信をしてから分類する」という規則で運用するとしておくと、手作業でその分類をすることで、忘れずに返信するということもできるでしょう。

自動的にメールを分類する

いちいち手作業でメールを分類するのも面倒だというときには、自動的に分類させるようにします。以下のよいうにして設定を行えばよいでしょう。

→メールを自動的に分類する設定を行う

複数アカウントを利用する場合

Becky!では「ツール」メニューの「設定」を選択して、「アカウント」のタブで作業します。すでに複数のメールアカウントを記録できるようになっていて、一番上のドロップダウリストから選択することで、複数のメールアカウントを記録することができます。

「送受信」の作業は、それぞれのメールアカウントに対して行えます。

複数のパソコンを使う場合

もっとも根本的な解決方法は、IMAP対応のメールサーバーを使うことです。ただ、まだまだIMAPは使える状態ではありません。しかも、サーバー側のことなので、そう簡単にもいきません。

そこで、メインになるパソコンを決めます。たとえば、常に持ち歩いているノートパソコンをメインとします。そのノートパソコンの電子メールソフトでは、サーバーにはメールを残さないようにします。

一方、それ以外のパソコンではメールソフトに設定を行いますが、いずれもサーバーにメールを残すようにしておきます。Becky!だと、「ツール」メニューの「設定」の「アカウント」のタブで、「受信したメールはサーバーから削除」のチェックボックスをオフにしておきます。

こうしておき、極力、メインに使うパソコンでメールを読むようにします。

メインでないパソコンでは読んでも、必ずメインのパソコンでも読むことができます。メインでないパソコンでは単に確認用ということにしておきます。ただし、そのために2重に読むことになりますが、そのことはそれほど不便でもないので、そのままにすればいいでしょう。


補足説明:複数の電子メールアカウントを持っている場合

電子メールのアカウントに対してメールボックスが1つ割り当てられています。学校でも、mita.cc.keio.ac.jpのアドレスと、slis.keio.ac.jpのアドレスの2つを持っている人も多いでしょうけど、さらにインターネットプロバイダやメールサービスをいくつももっていると、複数のアドレスを使い分けることになってしまいます。

もちろん、Becky!は複数のアドレスの管理ができて、それぞれのアドレスに対してメールの送受信ができるようになっています。こうしたメールソフトが使えて、そうした設定ができるのであれば、それはそれで使い分けることができます。

しかしながら、送受信はかならずしもできるとは限りません。たとえば、メールの送信は一般には制限されており、プロバイダのアドレスの場合、そのプロバイダに接続した状態でないとメールの送信ができないなど、制約があります。これは「SPAMメール」という、一種のいたずらメール送信の足がかりにされないようにする措置です。たとえば、slisのメールサーバーは、外部のネットワークからメールの送信はできません。つまり、プロバイダに接続したとき、slisのメールサーバーを使ってメールを送付することができないというわけです。そこで、次のような設定を行うと良いでしょう。

方法(1)

プロバイダにPPPで接続して,SLISのサーバからslis宛のメールを読み,発信については加入しているプロバイダのサーバを使用する方法

この方法は,SLISのメールアドレスを主に使用している人に有効です。 ただし,プロバイダによってはこの方法が取れない場合があります。もし送信のみのトラブルが発生してどうしようもない場合には,加入しているプロバイダに「SMTPサーバを別のメールアドレスからの発信に使ってもよいかどうか」という問い合わせをして確認してみてください。 この方法の場合,単純にメールソフトの LAN環境設定に相当する部分を以下のように指定してください。 

POP3サーバ名 : mail.slis.keio.ac.jp 
SMTPサーバ名 : 自分の加入しているプロバイダの提供する SMTPサーバ (各自で確認してください) 

卒業時には,登録すれば別のアドレスに対して転送することを行いますので,この方法でも大きな問題はないかと思います。自宅から発信する場合には,Cc:に自分のアドレスを記入しておき,振り分けでそれらを送信簿に分けられるようにしておけば,自分の送信記録も大学と自宅で間違うことはありません。

一方、複数のアドレスを登録しておいた場合、各サーバーいちいちチェックするというので、場合によっては時間がかかってしまうこともあります。

そこで、メインに使う1つのアドレスを決めておき、そのアドレスにメールを転送するという方法を使うと便利なこともあります。状況に応じてこうした使い方もできるようになっておきましょう。

方法(2)

各自が所属しているプロバイダやパソコン通信の提供するメールアドレスに対してSLISに届いたメールを転送する

方法としては,.forward という名前のファイルを、メール処理を行うサーバの各自のホームディレクトリに作成し,その中身を 

\hoge,hogehoge@mix.ne.jp

のように指定すればよい。最初のhogeはアカウント名だけを入力し、カンマで区切って転送するメールアドレスを記述する。最初の\は循環しないようにするための設定で、いちおう付けておくように。この方法だと、slisのメールボックスにはメッセージは残る。

さらに、.forwardの中身を、単に転送メールアドレスだけにすると、slisのメールボックスにメールを残さずに、別のメールアドレスに転送するには、単にそのアドレスだけを記載すればいい。

ただし,作成時にcr, lf, Ctrl+Zがはいらないようにして注意させてください。 この方法は,SLISのメールアドレスではなく各自の加入しているプロバイダのメールアドレスを主に使用している人に有効です。

もし,SLISのアドレスを主に使用する人でこの方法を取る人は,メールソフトのReply-To:の設定にslisのアドレスを指定してください。 ただし,その他のメール受信数に制限があったり転送エラーが頻発するプロバイダやパソコン通信ネットワークに対して転送設定がされていた場合,エラーの発生状況によっては予告なしに転送を中止することがありますので注意してください。

この方法のややこしいところは、「ホームディレクトリに.forwardという名前のファイルを作る」というのをどうすればいいかということです。もちろん、いろいろな方法がありますが、次のような方法が手軽かと思います。

  1. telnetでサーバーにログインする(ここで、カレントディレクトリはホームディレクトリのルートになっているはず)
  2. echo '\hoge,hogehoge@mix.ne.jp' >.forward」とコマンド入力して、Enterキーを押す。これで、.forwardファイルが作られる。(メールアドレスは、半角のシングルクォーテーションで囲む)
  3. 「cat .forward」とコマンド入力してenterキーを押し、.forwardファイルの内容を確認する

間違えたら、再度、echo…を実行すれば、書き直すことができます。ほかに、テキストファイルを作ってftpで転送するなどの方法がありますが、たぶん、telnetが使えれば、上記の方法がいちばん手軽です。この方法は、UNIXサーバーでないと有効ではなく、設定を変えていたりするとだめかもしれませんが、たいがいは大丈夫です。

なお、\hogeの部分がなく、単に転送メールアドレスだけを指定するなら、'  ' で囲う必要はありません。つまり、

echo hogehoge@mix.ne.jp >.forward

とすれば、かまいません。


メーリングリスト

メーリングリストとは、電子メールを複数のアカウントに配信する機能のことを指します。配信先は、もちろん、同一のサーバーでもかまわないのですが、インターネット上のまったく異なるサーバーでもかまいません。模式的に図に示せば、次のようになります(ちょっと簡単すぎる図でが)。

通常のメールは、あるアドレスに送付すると、そのアドレスの人のメールボックスに蓄積されます。一方、メーリングリストは後で説明するやや複雑な手順を経て、1つのメールアドレスに送付したにもかかわらず、複数のアドレスに同報されます。こうした機能を利用して、次のような用途に使えます。

メーリングリストの原理

まず、どういった原理なのかを説明しましょう。メーリングリストのポイントになるのは、サーバーで機能するsendmailなどのMTAです。MTAには単にメールを配信するという機能のほかに、ある設定を行うと、複数のアカウントに配信するという機能も持っています。普通は蓄積するのだけど、このメーリングリストの機能を使うと、リレーをして、さらにいろいろなところに配信できると考えてください。配信先は、たとえばファイルなどに記録しておき、そのファイルの内容を参照して、あちらこちらにメールを送るということを行います。一般には、メールを送った人へも配信されます。

あちらこちらのメールアカウントに送付し、その送付先のサーバーで蓄積されます。それをPOPなどのプロトコルを用いてMDAがクライアントに配信することはすでに説明したとおりです。

リストサーバーとは

このように、MTAには「メーリングリスト」を構築する機能がすでに存在しているので、それを使えばメーリングリストを構築することが可能です。しかしながら、たとえば、送付先を増やしたいとなると、いちいち手作業で、サーバーにある送付先リストのファイルに追加するということを行わないといけなくなります。また、リストから削除する場合も同様に面倒な手間がかかります。数人程度ならこうした手作業でもいいのですが、少し規模が大きくなるようなメーリングリストでは管理が大変になります。

そこで、メーリングリストの管理機能をサーバーに追加する「リストサーバー」というソフトウエアが利用されています。リストサーバーの代表的なものは、UNIXでは、Majordomo、fmlというソフトがあります。こうしたリストサーバーは次のような機能を提供し、メーリングリストを、管理者だけでなく参加者にもより使いやすくします。

まず、登録や抹消の管理が自動化されるというのが大きな効率化になります。こうした機能を利用すると、不特定多数が参加するメーリングリストを作りやすくなります。つまり、リストの参加者が勝手に参加するということができるという具合です。

上記2つ目について詳しく説明しましょう。リストサーバーを使わないメーリングリストの場合、送信された目セージをそのまま複数ユーザーに配信します。そのメッセージに「返答」を行うと、メーリングリストの全員に配信するつもりが、送付した人にだけしか返信されないことになります。注意していればいいとは言え、こうしたミスはリストサーバーを使わないあるいは適切に運用されていない場合には頻繁に起こります。そこで、メーリングリストで配信されるメッセージに手を加えて、送付先で「返信」を行うと、送信先がメーリングリストのアドレスになるように細工をします。

また、メーリングリストのメッセージであることが分かるように、メールメッセージの題目(Subject)に文字列を不可するということも、リストサーバーで行えます。たとえば、「ワープロが分かりません」という題目だった場合、「[MailinList-0012]ワープロが分かりません」のようなタイトルに変換して、リストの全員に配信するということを行います。一般には、[ ] で囲むのがよく利用される形式ですが、機能的にはそれにこだわりません。また、メッセージに連番を自動的に付けるということも行われます。

ほかには送付できなかったメールの返信先を管理者に一括させるなど、メッセージそのものにある程度手を加えて、メーリングリストでのやりとりがよりスムーズになるようにするというのがリストサーバーの大変重要な機能になっています。

リストサーバーの実際

つい、1年ほど前までは、リストサーバーを利用するには、いろいろ制限がありました。概ね、次のようにまとめられるでしょう。

1999年ごろから、メーリングリストをタダで開設してくれるサービスが各地にできました。単にメーリングリストを利用したいだけなのなら、こうしたサービスを使う方が楽です。サーバは用意されていますし、日々のサーバの動作に気を配る必要もありません。

一方、デメリットとしては、1つはメールに勝手に広告が入ったり、あるいは広告メールが送られてくるなどということがあります。ただ、それをデメリットと見るかどうかは個人次第でしょうし、最近では「タダだから仕方ない」というのが一般的な線だと思われます。また、サービスをやめてしまったり、会社がつぶれるなどのリスクもあります。しかしながら、それは個人でサーバを運用していても同様です。


本日の課題

メーリングリストを作る

昨年はサーバーにメーリングリストを用意しましたが、今年はフリーのサービスを利用することにします。これを機会に、個人でメーリングリストをばんばん作ってくれてもかまいません。

誰か、代表の人に、メーリングリストを作ってもらいます。(立候補大歓迎、授業の後半で募ります)

メーリングリストに参加する

参考:最近のメーリングリストでは、勝手にリストに登録されることを防ぐため、確認のメールが来ます。確認のメールには、ランダムな番号が記載されており、その番号を含む決められた文面をサーバーにメールすることで、初めて登録されるという仕組みになっています。そうすれば、いたずらで登録申し込みをしても、登録前にふせぐことができます。また、退会も同様に、確認のプロセスが入り、勝手に退会処理リクエストを誰かに送られた場合でも、処理をブロックすることができます。

では、メーリングリストに参加したことを示すために、メッセージを投稿してみてください。

  1. メーリングリストの投稿アドレス宛てに適当なメールを送る。ここでは、何でもいいのでご挨拶メールを送る。
  2. しばらくするとメールが配信される。
  3. 自分にも配信されるが、ほかの人のパソコンを見せてもらって、自分のメッセージが配信されていることを確認しよう。

ということで、メーリングリストで雑談をしまくってください。好きなように話題を振ったり、あるいは返答したりして、メーリングリストというものに慣れてください。

メーリングリストのホームページができています。次のことを確認しましょう。eグループでは、これらメーリングリスト関連の作業を、全部Webブラウザで行うようになっています。メーリングリストによっては、コマンドを指定のアドレスに送付して、結果をメールで受け取るというようなことを行う場合もあります。

なお、メーリングリストを、電子メールソフトで新たに作った分類フォルダに自動的に分類されるように、各自で設定を行ってください。そこまでをいちいちチェックするのは不可能なので、各自、自分の使っているマシンで設定を行ってください。もしうまくいかないとか、何か問題があれば、メーリングリストでたずねてみるのもいいかもしれません。

ファイルを受け取り加工してメールで提出する

課題をメーリングリストで流します。授業の最後にでも流します。(ただし、メーリングリストのトラブルがあるかもしれないので、後からこのページに課題を掲載しておきます。)

  1. メーリングリストで課題の素材を受け取ってください。
  2. 素材は圧縮したファイルを、メールに添付します。
  3. もちろん、圧縮したファイルを解凍して、必要なファイルを取り出します。
  4. その素材をもとに、Excelで作業をして文書を作成します。それほど面倒ではないようなものです。
  5. 作成したExcelのファイルを圧縮します。
  6. そのファイルを課題提出ページにアップロードしてください。

期限は、次の授業までとします。

メールで送ったファイルの解説文書

_

メールで送ったファイル


←「情報処理技術」のホームページへ