今日は、プロデルでGmailの受信メーラーを作ってみます。
筆者は普段Gmailを常用していないのですが、最近は企業や学校のアカウントがGmailベースのサービスとなっているケースが多く、Gmailメールアドレスを持っていなくても否応なく使っているケースがあるかと思います。
プロデルには、メール機能が用意されていますのでデスクトップアプリのメーラーを作れます。デスクトップアプリならいちいちWebブラウザを開いてからブックマークをクリックしてログインしたりする必要なく、気軽にメールをチェックできます。
また、プロデルでプログラミングすれば、メールの受信方法をプログラミングで好きに変えることができます。今回のメール受信プログラムを改造して、自分好みの専用メーラーを作ることができます。
アカウントの設定変更
Gmailは、Webベースのサービスですが、アカウントの設定次第でIMAPやPOP3でメールを受信することもできます。受信に必要な設定は次の2つです。
- IMAPの有効化
- 安全性の低いアプリのアクセスの有効化
Gmailの設定でIMAPを有効化する
IMAPは、メールを受信する通信手段の一つです。既定値ではオンになっていないので有効化します。
プロデルのメール機能は、OAuth2.0の認証方法に未対応ですので、そのままではGmailのメールを受信できません。受信するには、Googleアカウントの設定で「安全性の低いアプリのアクセス」をオンにして、平文パスワードの認証を有効化する必要があります。パスワードが漏れなければ問題ありませんが、常用する場合には、パスワードを十分に長く、意味のないランダムな文字列に設定するといった対策が必要です。
Googleアカウントのセキュリティ設定で「安全性の低いアプリのアクセス」をオンにする
以上の2つの設定を有効化することで、プロデルからもGmailのメールを受信できます。
プロデルのメール機能
プロデルのメール機能は、次のページで説明しています。
今回はメールを受信するだけですので、次の種類を使います。
プロデルはオブジェクト指向日本語プログラミング言語ですので、メーラーの画面の一つ一つの要素がオブジェクトとして定義されています。これらのオブジェクトを操作してプログラミングしていきます。
完成したプログラム
今回は、受信トレイの一覧画面(メイン画面)と、選んだメールの内容を表示する画面(メールウィンドウ)の2つのウィンドウを作りました。
プログラムの冒頭で、メールアカウントを設定します。これは、Outlookなどのメーラーで指定する情報と同じ内容を設定します。
メイン画面の「受信する」手順で、設定したアカウントとしてGmailに接続し、最新の10件のメールを取得します。また[受信]ボタンで、最新の受信メールを取得できます。
リストビューからメールを選択してダブルクリックすると、そのメールの内容が別ウィンドウに表示されます。
動作環境:プロデル1.9.1164
//メーラー
マイアカウントというアカウントを作る
マイアカウントのプロトコルは、「IMAP」
マイアカウントの受信サーバのサーバ名は、「imap.gmail.com」
マイアカウントの受信サーバのポート番号は、993
マイアカウントの受信サーバのユーザ名は、「」
マイアカウントの受信サーバのパスワードは、「」
マイアカウントの受信サーバの暗号化方式は、SSL
メイン画面を表示する
待機する
メイン画面とは
ウィンドウを継承する
はじめの手順
初期化する
ーー貼り付けた部品に対する操作をここに書きます
終わり
初期化する手順
ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
この実質大きさを{601,394}に変える
この内容を「メーラー」に変える
初期化開始する
受信リストビューというリストビューを作る
その位置と大きさを{0,32,601,362}に変える
その表示方法を「詳細」に変える
その全列選択を○に変える
その見出し一覧を{「件名」,「差出人」,「送信日時」}に変える
その見出し幅を{318,132,123}に変える
その移動順を2に変える
そのドッキング方向を「全体」に変える
ツールバー1というツールバーを作る
その位置と大きさを{0,0,601,32}に変える
その内容を「ツールバー1」に変える
その移動順を1に変える
受信ボタン部品というボタン部品をツールバー1へ作る
その内容を「受信」に変える
その表示を○に変える
その大きさを{52,29}に変える
その表示位置を「Text」に変える
その説明を「受信」に変える
初期化終了する
この設計スケール比率を{144,144}に変える
終わり
受信する手順
マイアカウントの受信サーバへ接続する
マイアカウントから受信してメイン受信トレイとする
メール件数は、メイン受信トレイの件数
受信件数は、メール件数
//新しい順番に最大10件のメールを取得する
もしメール件数が10より大きいなら受信件数は、10
受信リストビューをクリアする
受信リストビューを更新開始する
番号を0から受信件数-1まで増やしながら繰り返す
メールは、メイン受信トレイの(メール件数-番号)番目
受信リストビューにメールの件名を追加する
その詳細を{メールの差出人, メールの送信日}に変える
そのタグをメールに変える
繰り返し終わり
受信リストビューを更新終了する
マイアカウントの受信サーバから切断する
終わり
開いた時の手順
受信する
終わり
受信リストビューがダブルクリックされた時の手順
メールは、受信リストビューの選択項目のタグ
メール画面というメールウィンドウを作る
メール画面にメールを読み込む
メール画面を表示する
終わり
受信ボタン部品がクリックされた時の手順
受信する
終わり
終わり
メールウィンドウとは
ウィンドウを継承する
はじめの手順
初期化する
ーー貼り付けた部品に対する操作をここに書きます
終わり
初期化する手順
ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
この実質大きさを{693,394}に変える
この内容を「メールウィンドウ」に変える
初期化開始する
本文テキスト領域というテキスト領域を作る
その位置と大きさを{0,94,693,300}に変える
そのドッキング方向を「全体」に変える
パネル1というパネルを作る
その位置と大きさを{0,0,693,94}に変える
その移動順を1に変える
そのドッキング方向を「上」に変える
ヘッダテキスト領域というテキスト領域をパネル1へ作る
その位置と大きさを{0,0,693,94}に変える
そのドッキング方向を「全体」に変える
初期化終了する
この設計スケール比率を{144,144}に変える
終わり
自分に【メール】を読み込む手順
自分の内容は、メールの件名
宛先は、メールの宛先
ヘッダテキスト領域の内容は、「宛先:[宛先(1)]
差出人:[メールの差出人]」
本文テキスト領域の内容は、メールの本文
終わり
終わり
動作画面
まとめ
今回は、とてもシンプルなメーラーをプロデルで作りました。
より作りこんで自分にぴったりなメーラーを作ってみるのも楽しいかと思います。