メールアドレスの収集と一斉送信システムの構築
(開かれた学校づくりを目指して)

1 はじめに

   社会の情報化が進展し,学校においても情報の発信や共有が求められるようになりました。学校によっては外部へ委託し,学校メールマガジンを発行している所もあると思います。しかしながら,有料であったり,不要な広告が掲載されたり,将来に渡って継続的にサービスが提供されるかなどの不安もあると思います。また,学校という大きな規模でなく,クラスの連絡などを考えることもあると思います。そこで今回は,各学校に整備されたパソコンで実現できる,メールアドレスの収集と一斉送信について,研究しました。


2 メールアドレスの収集と登録の準備

   各学校に整備されたパソコンで,メールアドレスの収集や登録を実現するための準備と手順について紹介します。初めに,図1の構成になるように空のフォルダを準備します。ここで,フォルダ「awk」は,説明の都合上Cドライブの直下に作成しています。

   図1 最終的なフォルダの構成 
※フォルダ内のファイルはこの後述順次作成します。
 なおこのシステムは,自動返信機能のあるOutlook Expressをメーラとして使用しました。

   (1) 登録用・管理用・配信用メールアカウントの作成

   以下の3つのアカウントを作成しました。アカウントの発行についてはネットワーク担当者への発行依頼が必要になります。
        touroku@****.jp(登録専用アカウント)
       info@****.jp   (配信専用アカウント)
       kanri@****.jp  (管理用アカウント)
※****.jpは学校サブドメインであり,ユーザ名は重複がなければ自由に設定することが可能です。


   (2) 登録専用メールアカウントのQRコード作成

   利用者が,登録専用アカウントへメールを送信することで利用者のメールアドレスと属性を収集し,登録をします。利用者の属性情報の収集方法として,今回は,メールの件名にカテゴリを選択した数値を入力してもらうことにしました。
 なお,件名と本文ともに空欄で送信された場合は,メールサーバで削除されるので注意が必要です。


   ア 属性カテゴリ表の作成
   学校から情報を送信する対象は,常に同じとは限りません。学年やクラスの生徒であったり,保護者を対象とする場合なども考えられます。そこで今回は利用者の属性を5つのカテゴリで分類をすることとしました。(図2)

図2 カテゴリ表 
※例えば,件名に「32101」と入力されていた場合,「3年 2組 国際ビジネス科 なし 生徒」を表し,後述するグループ化において「学校全体」・「3年生全体」・「3年生国際ビジネス科」・「3年2組」に対して必要なメールを送信することができるようになります。なお,0はカテゴリに該当しないことを示します。

   イ 登録専用メールアドレスのQRコードの作成
   登録情報の処理で,件名に登録したいカテゴリを数値で入力してもらう必要があるため,QRコードを作成し,これを登録希望者が携帯電話のバーコードリーダで読み込むことにより登録専用のメールアカウントと件名を自動的に示すことで,簡単に登録できる工夫をします。また,これにより入力ミスを防ぐことができます。
   QRコードはインターネット上で無料で作成できるサイトやフリーソフトで作成することが可能です。今回は,「QR Code Editor(有限会社 サイテック )」というフリーソフトを利用して作成しました。携帯メーカごとにQRコードの形式が異なるため,各キャリアにあわせた形式で作成することができるため便利です。また,マルチキャリア対応のものを作成することもできます。(図3)
作成の様子
完成したQRコード(DoCoMo用)
バーコードリーダーで読み取り
メール作成
図3 QRコードの作成と完成例

   (3) Outlook Expressによる自動返信の設定


   ア 自動返信用メールの作成
   ここでは,利用者からの登録メールに対して,自動で返信メールを送信する方法を示します。あらかじめメモ帳で作成したテキスト形式の文章を返信メールで利用し,自動で送信させます。これは,Outlook Expressで作成した返信用メールは,「〜.eml」という電子メール形式で保存されます。しかし,これを携帯電話で受信した場合,添付ファイルとして扱われ,自動的に削除されてしまうためです。図4は返信用にメモ帳で作成したメッセージです。
登録完了
登録エラー
図4 返信用メールの作成例


   イ 登録メール振り分けフォルダの作成
   自動返信機能を利用すると,受信トレイにある未読の登録メールに対して,Outlook Expressの起動および送受信ボタンを押すたびに自動返信メールが送信されてしまいます。
 そこで,返信済みの登録メールや登録エラーメールを振り分けるために図5のように「登録完了」および「登録エラー」のフォルダを準備します。

図5 フォルダの作成例 

   ウ 自動返信の設定
   次に,自動返信の設定をします。

まず,メニューバーより,「ツール(T)」→「オプション(O)」→送信タブにある「メッセージを直ちに送信する」にチェックが付いているかを確認します。(図6)

図6 チェックの確認


メニューバーより,「ツール(T)」→「メッセージ ルール(R)」→「メール(M)」の順にクリックします。(図7)

図7 ルールの選択

   (ア) 登録完了の返信設定
 登録メールを正常に受信できた場合に自動返信する設定をします。ここでは,「3年 2組 国際ビジネス科 なし 生徒」のカテゴリーを登録希望した人に対して,登録完了メールの自動返信を行う設定を例にあげます。この場合受信したメールの件名が「32101」であれば,あらかじめ用意されたカテゴリーを表す正常な受信メールであるため,「登録完了」フォルダへ移動し,かつ登録完了メールを送信します。
 「1 ルールの条件を選択してください」で「件名に指定した言葉が含まれる場合」を選び,「2 ルールのアクションを選択してください」で「指定したフォルダに移動する」と「指定したメッセージで返信する」を選びます。「3 ルールの説明」で上記1及び2の詳細設定を行います。ここで,件名と移動先フォルダ及び返信用のメッセージとしてメモ帳で作成した登録完了メッセージを指定します。
 なお,図8の「3 ルールの説明」にあるように,この段階では「このルールは無効」になっています。ルールの適用については後で説明します。

図8 ルールの設定(登録完了)


   (イ) 登録エラーの返信設定
 登録エラーになった場合に自動返信する設定をします。あらかじめ用意していたカテゴリが件名にない場合に,「登録エラー」フォルダへ移動し,かつ登録エラーメールを送信します。ここで,メモ帳で作成した登録エラーメッセージを指定します。ここでも図9のように「このルールは無効」になっています。

図9 ルールの設定(登録エラー)


   (ウ) 返信ループの禁止設定
 登録希望者側のメーラで自動返信が設定されていた場合の対策として返信のループを禁止する設定をします。件名に返信を表す「Re」もしくは「RE」がある場合は,自動返信をせずに,削除をします。(図10)
 また,自動返信により宛先不明で不達メールがサーバから返信されてきた場合の対策もここで実施します。
なお,ここでも「このルールは無効」になっています。

図10 ルールの設定(ループの禁止)


   (エ) ルールの適用順の設定
 すべてのルールにチェックを入れ,上下ボタンでルールの適用順を設定します。(図11)
※上位よりルールが優先的に適用されるため,この場合ループの禁止を一番上位にます。

図11 適用順の確認


   (オ) ルールの適用
 最後に「すべて選択(A)」し,「適用(P)」させます。(図12)

図12 選択と適用

 以上で自動返信の設定は終了です。ルールが適用されると,以下の画面がでます。(図13)

図13 自動返信設定の終了

 実際に自動返信で届いたメールは図のようになります。 (図14)
登録完了
登録エラー
   図14 実際に届いた自動返信メール

3 利用者のメールアドレスの管理

   登録希望者へ登録完了メールを送信した段階では,希望者へのメールアドレスは受信メールのヘッダーにすぎません。
 ここでは,登録メールからメールアドレスを取り出し,利用者のメールアドレスとして管理する方法を示します。Outlook Expressで,受信トレイのデータから利用者のメールアドレスや属性としての件名を取り出そうとすると,データが「受信トレイ.dbx」という独特のファイル形式であり,簡単にはできません。そこで,今回は比較的簡単に必要な文字情報を取り出すことのできる,「gawk(作者: Bruce)」(vector) というフリーソフトを使用します。AWKとは,テキスト処理に優れたスクリプト言語で,ある文字列を特定するためのルールである正規表現で記述した文字列パターンと一致したときに,命令を実行するといったことができます。

   (1) AWKの準備

   サイトからAWKのファイルをダウンロードし,解凍したフォルダ内の「gawk.exe」という実行形式ファイルを「2 メールアドレスの収集と登録の準備」で用意した「awk」フォルダへコピーします。(図1を参照してください)


   次に,システムの環境設定を行ないます。コマンド プロンプトを利用し,AWKを使用するために,パスを通しておく必要があります。
   「マイ コンピュータ」を右クリック→「プロパティ(R)」→「詳細設定」タブ→下部にある「環境変数(N)」の順にクリックします。(図15)

図15 環境設定その1

   「ユーザ環境変数(U)」の「新規(N)」をクリックします。新しいユーザー変数ウインドウの「変数名(N):」に「path」と入力し,「変数値(V):」に「c:\awk」と入力します。(図16)

図16 環境設定その2

   入力が完了すると下図のようにユーザー環境変数にパスが追加されます。(図17)
図17 環境設定の完成


   (2) スクリプトの作成

   スクリプトは,メモ帳で記述(下記)し,拡張子を「〜.awk」とします。今回は「mail.awk」というファイル名にしました。

 スクリプトのダウンロードはこちらをクリックしてください。
 ダウンロードしたスクリプトは「awk」フォルダへ保存してください。(図1を参照してください)

   (3) スクリプトの使用例

   はじめに,Cドライブの「awk」フォルダにに「gawk.exe」と「mail.awk」及び「空のdrag-and-dropフォルダ」があるか確認します。

   ア 登録完了メールの移動
  Outlook Expressの登録完了フォルダからdrag-and-dropフォルダへ登録完了メールをドラッグ&ドロップします。(図18)

図18 受信メールの移動


   イ コマンドプロンプトの起動
    「スタート」→「すべてのプログラム(P)」→「アクセサリ」→「コマンド プロンプト」の順にクリックします。

   ウ AWKの実行
    コマンド プロンプトに「gawk.exe」と入力し,Enterキーを押してAWKを実行します。(図19)

図19 gawkの実行

   AWKの設定が正しくできていれば,下図の画面が表示されます。(図20)

図20 AWK実行画面

   エ スクリプトの実行
   「gawk -f  スクリプトのパス 入力ファイルのパス > 出力ファイルのパス」を入力し,Cドライブ「awk」フォルダにCSV形式で出力結果を出します。
   今回の場合,下図のように「gawk -f c:\awk\mail.awk c:\awk\drag-and-drop\*.eml > c:\awk\mail.csv」となります。(図21)
※なお,「*.eml」はワイルドカードを用いて,拡張子がemlのものをすべて抽出しています。
 
図21 スクリプトの実行
※この場合,図1のフォルダ構成図のようにawkファルダ内にmail.csvファイルができます。
※追記(既にあるmail.csvファイルに書き足す)したい場合は「>> c:\awk\mail.csv」とします。CSV形式のでもデータを加工し,利用することが可能です。その場合は,加工後「 (5) Outlook Expressへインポート」を参照してください。
 また,mail.csvファイルは個人情報を含むため,表計算ソフトウェアなどに取り込んだ後に削除してください。

   (4) マクロによるメールアドレスの加工と出力

   ここでは,先ほど出力したmail.csvを表計算ソフトウェアを利用して,学校からの情報を送信したい利用者の属性ごとにOutlook Expressからインポートするための出力ファイル(CSVファイル)を作成します。ここでは,アドレス管理マクロを使用します。アドレス管理マクロのメイン画面の構成は下図のとおりです。(図22)

図22 メイン画面の構成
※左より,連番・カテゴリA〜E・メール件名・メールアカウント・受付アカウント・受付日時となっています。

上記,アドレス管理マクロファイルのダウンロードはこちらをクリックしてください。
※使用の際は,マクロを有効にしてください。

 また,セキュリティ上,エクセルファイルはパスワードを設定し,暗号化等の対策が必要です。

   ア 環境設定

   はじめに,「環境設定シート」で入力ファイル及び出力先フォルダの指定を行ないます。ここでは,最終的なフォルダの構成に準じて解説します。(図23)

図23 入出力環境の設定

   次に,「カテゴリ設定シート」のカテゴリ表に学校からの情報を送信する際の利用者の属性を考慮して,カテゴリを設定します。5桁の整数で管理していますので,必要なカテゴリを分類し,設定します。(図24)
 ※図2の設定例を参照してください。

図24 カテゴリの設定


   イ メールアドレスの取り込み(ファイル入力)

   mail.csvからメールアドレスを取り込むために,「データ取込シート」の「データ取込」ボタンを押します。前回の取り込みの続きから取り込む場合には「はい」を押します。行を指定して,指定行以降へ読み込む場合には「いいえ」を押します。(図25)
※行を指定する場合は,A列の取り込みたいセルをクリックします。
※マクロは,件名の左端よりカテゴリAとして読み込みをします。

図25 データ取り込み(要求画面)

   正常にデータが取り込まれると,件数が出力されます。(図26)

図26 データ取り込み(完了画面)

   ウ 重複チェック
   登録希望者が2度メールを送信した場合の対応等を考慮し,「重複チェック」ボタンを押すことで,重複の確認をすることができます。(図27)

図27 重複チェック後

   確認が終了し,重複を削除してもよいと判断できた場合は「重複削除」ボタンを押すことで,重複削除をすることができます。(図28)

図28 重複削除後

   エ カテゴリ別メールアドレスファイルの出力
   まず,オートフィルタを使用し,必要なメールアドレスに絞り込みます。次に,「リスト作成」ボタンを押します。
はじめに,名前の入力をします。ここでは学科別グループとして「国際ビジネス科」を入力します。(図29)

図29 名前の入力

続いて,出力したいメールアドレスを指定します。(図30)
「リスト出力範囲確認」ダイアログで,「はい」を選択すると,全メールアドレスが出力されます。
「いいえ」を選択すると,行指定画面(図31)となり,出力したいメールアドレスの先頭行をクリックすることで,以降のアドレスを全て出力します。これは,同様の作業を2回以上実行する場合の対策で,出力アドレスを重複させないためです。
指定した出力先にCSVファイルとして連番とアドレスが保存されます。

図 30 出力選択画面

図 31 行選択画面

   オ 出力ファイルの確認
   出力が終了すると,「mailList」フォルダにCSVファイルが作成されます。(図32)

図32 出力ファイルの確認 

   カ リストの削除
   「リスト削除」ボタンを押すと「mailList」フォルダ内に保存されているCSVファイルが全て削除されます。(図33)
※セキュリティ上,Outlook Expressへインポート後,削除することをお奨めします。

図33 出力先削除画面
 

   (5) Outlook Expressへインポート

   カテゴリごとにOutlook Expressへインポートするための手順を記述します。ここでは,Outlook Expressの配信用アカウントへインポートする必要があるので注意が必要です。


   ア インポート
   Outlook Expressを起動し,「ファイル(F)」→「インポート(I)」→「他のアドレス帳(B)」の順にクリックし,CSV形式を選択します。(図34)

図34 形式の選択

   次に,必要なインポートデ用ータをmailListフォルダより指定します。(図35)

図35 ファイルの選択

   最後に,項目を指定し完了します。(図36)

図36 項目の選択

   インポートが完了すると,次のような画面が出ます。(図37)

図37 インポートの完了

   イ グループ設定
   一斉送信をするためには,グループ設定が必要となります。そのために,まず「ツール(T)」→「アドレス帳(B)」の順に操作し,アドレス帳を開き,「新規作成」→「フォルダの作成(F)」から適宜名前をつけます。(図38)   

   
図38 フォルダ作成

   インポートした直後のアドレスと新規作成したグループは,infoフォルダ直下に登録されるため,次回のインポートに備え上記作成したフォルダにインポートしたアドレスを移動します。(図39)
※グループは移動させないように注意してください。


図39 インポートアドレスの移動後フォルダ
   ※フォルダ名と次の操作で行うグループ名に同一名は使用できないので注意が必要です。

   続いて,グループを作成します。「新規作成」→「新しいグループ(G)」→グループ名の入力→「選択(S)」の順に操作をします。(図40)

図40 グループの作成

   次に,先ほど移動させたメールアドレスのフォルダを指定すると,アドレスの一覧が表示されるので,すべてを選択し,「選択(T)−>」をクリックします。「メンバ(M)」へメールアドレスが設定されます。(図41)

図41 メンバの選択

   「OK」をクリックし,プロパティ画面に戻ります。(図42)

図42 プロパティ画面の確認



   「OK」をクリックすると,グループにメンバが登録されます。(図43)

図43 グループ設定の完了

   ウ 学校からの情報の一斉送信送信
   「メールの作成」→「宛先」もしくは「CC」→「受信者の選択」画面で情報を送信したいグループを選択→「Bcc(B)−>」の順に操作をします。(図44)

図44 受信者の選択

※「メッセージの受信者」の設定は個人情報保護のため必ず「Bcc(B)−>」で設定します。


   上記手順が完了するとメッセージ作成画面に受信者として選択したグループが挿入されます。(図45)

図45 受信者の確認

 必要な情報を記載し,送信します。

 学校からの情報提供の場面としては,クラスの情報や学校行事の様子など,学校でどのようなことが行われているか保護者へ情報提供したり,クラスの生徒へ連絡するなどの利用が考えられます。

4 おわりに

   メールアドレスの収集とメールの一斉送信を研究して残される課題がいくつか考えられました。まず,今回利用したOutlook ExpressはPOPサーバと常時接続しているわけではなく,ソフトウェアを起動した時や,送受信ボタンをクリックした時,あるいは自動送受信の設定をしたタイミングでメールの取得をするため,自動返信にタイムラグが発生します。タイムラグを減らすため,自動送受信設定の間隔を短くすることも可能ではありますが,常にソフトウェアを起動させておく必要があります。したがって,新年度の始まる一週間など登録期間を設けると効率的に運用することができます。
 今回,夏休み中に試験的に使用してみたところ,大変便利で好評でしたが,中には,パソコンからのメールをフィルタリングしていて届かないケースもありました。また,メールアドレスの変更があった場合の修正が難しいようにも感じられました。
 
 今回の研究は,開かれた学校づくりの第一歩として,冒頭にも述べた情報発信の一例でしかないと思いますが,今後も更なる工夫やアイデアを活かし,研究を続けたいと思います。




参考文献・Web