ひまわりユーザー プログラム掲示板 バックアップ
注意
ひまわりのススメ  □ ひまわり本家Home  □ 新着記事  □ 新規投稿  □ SEARCH  □ 参考プログラム集
ツリー表示

MESSAGE メールソフト「LynMail0.50」【前半】 /りんくす (02/07/20(Sat) 20:09) [1077]
......MESSAGE メールソフト「LynMail0.50」【後半】 /りんくす (02/07/20(Sat) 20:10) [1078]


親記事 / ▼[ 1078 ]
NO.1077  メールソフト「LynMail0.50」【前半】
□投稿者/ りんくす -(2002/07/20(Sat) 20:09:31)
□U R L/
{---プログラム掲示板投稿フォーム---
【ソフト名】LynMail (バージョン 0.50)
【作 成 者】りんくす (連絡先:toysmoon@geocities.co.jp)
【種  別】フリーソフトウェア
【ひまわりのバージョン】ver.1.54
【転  載】可(転載条件:まさかそんな方はいないと思いますが(笑)メールくださるとうれしいです)
【改変運用】可
【ひまわり本体への梱包】可
【実行時に利用作成するファイル】有(「lynmail.ini」「histry.ini」「syomei.ini」「address.csv」「Memoフォルダ」「PopMailフォルダ」「SmtptMailフォルダ」)
【コメント】マニュアルを見ながら、いろんな方の作品を参考にしながら、試行錯誤して、なんとか動くようにはなりました。もっと効率のよい書き方があるんじゃないかなぁと思いながら、でも、自分が作ったものがちゃんと(?)動くのが嬉しくて、投稿しちゃいます。(笑) ただ、送信済みメールの呼出、書きかけ保存、呼出などのときに、作業フォルダの変更がうまくいかない場合があるんですが、どうしたらいいのかわかりません。どなたか助けてください。(;_;)他のことでも「ここをこうしたほうが」とか、「ここはまずいよ」というアドバイスを頂けたらとても嬉しいです。使い方で不明な点は、ヘルプを読んでくださいませ。
注!!!:長すぎるせいか投稿できなかったので、投稿を【前半】【後半】2つに分けました。

---投稿フォームここまで---}
母艦の、タイトルは、「LynMail」
母艦の、サイズは、(0,0,640,470)。
文字サイズは、10。
灰色で、画面クリア。
終了ラベルに、終了処理設定。

//////// 設定の読み込み ////////
母艦のパス&「lynmail.ini」が、存在するか。
もし、それならば、(
   母艦のパス&「lynmail.ini」の、INIファイル開く。
   『メール送信者名』の、『sname』を、INIファイル読む。
   メール送信者名は、それ。
   『メール送信元』の、『saddress』を、INIファイル読む。
   メール送信元は、それ。
   『メールホスト』の、『shost』を、INIファイル読む。
   送信ホストは、それ。
   『メールホスト』の、『Jhost』を、INIファイル読む。
   受信ホストは、それ。
   『メールID』の、『account』を、INIファイル読む。
   メールIDは、それ。
   『メールパスワード』の、『pass』を、INIファイル読む。
   メールパスワードは、それ。
   『削除設定』の、『frag』を、INIファイル読む。
   削除設定は、それ。
   『自動署名』の、『frag』を、INIファイル読む。
   自動署名は、それ。
INIファイル閉じる。
)
母艦のパス&「syomei.ini」が、存在するか。
   もし、それならば、(   母艦のパス&「syomei.ini」を、読む。   
   署名内容は、それ。)
      違えば、(
      それは、「」
      母艦のパス&「syomei.ini」へ、書く。
      母艦のパス&「syomei.ini」を、読む。
      署名内容は、それ。)
母艦のパス&「address.csv」が、存在するか。
   もし、それならば、(   母艦のパス&「address.csv」を、読む。
   アドレス帳データは、それ。)
   違えば、(
      それは、「名前    ,メールアドレス         \n」
      母艦のパス&「address.csv」へ、書く。
      母艦のパス&「address.csv」を、読む。
      アドレス帳データは、それ。)
母艦のパス&「histry.ini」が、存在するか。
   もし、それならば、(   母艦のパス&「histry.ini」を、読む。
   履歴データは、それ。)
   違えば、(
      それは、「履歴\n」
      母艦のパス&「histry.ini」へ、書く。
      母艦のパス&「histry.ini」を、読む。
      履歴データは、それ。)
母艦のパス&「SmtptMail\\」が、存在するか。
   もし、それが、いいえならば、(母艦のパス&「SmtptMail」へ、フォルダ作成。)
母艦のパス&「PopMail\\」が、存在するか。
   もし、それが、いいえならば、(母艦のパス&「PopMail」へ、フォルダ作成。)
母艦のパス&「Memo\\」が、存在するか。
   もし、それが、いいえならば、(母艦のパス&「Memo」へ、フォルダ作成。)


//////// 部品作成 ////////
//  基本設定フォーム //
基本設定フォームを、フォームとして、作成。
   その、可視は、オフ。
   その、背景色は、灰色。
   その、スタイルは、ダイアログスタイル。
   その、サイズは、(0,0,420,470)
   文字サイズは、9。
   (10,10)へ、移動。

送信者名を、ラベルとして、作成。
   送信者名を、基本設定フォームに、乗せる。
送名前編集エディタを、エディタとして、作成。
   その、テキストは、メール送信者名。
   送名前編集エディタを、基本設定フォームに、乗せる。

送信アドレスを、ラベルとして、作成。
   送信アドレスを、基本設定フォームに、乗せる。
送アドレス編集エディタを、エディタとして、作成。
   その、テキストは、メール送信元。
   送アドレス編集エディタを、基本設定フォームに、乗せる。

送信メールホストを、ラベルとして、作成。
   送信メールホストを、基本設定フォームに、乗せる。
送信ホスト名編集エディタを、エディタとして、作成。
   その、テキストは、送信ホスト。
   送信ホスト名編集エディタを、基本設定フォームに、乗せる。

受信メールホストを、ラベルとして、作成。
   受信メールホストを、基本設定フォームに、乗せる。
受信ホスト名編集エディタを、エディタとして、作成。
   その、テキストは、受信ホスト。
   受信ホスト名編集エディタを、基本設定フォームに、乗せる。

アカウントを、ラベルとして、作成。
   アカウントを、基本設定フォームに、乗せる。
アカウント編集エディタを、エディタとして、作成。
   その、テキストは、メールID。
   アカウント編集エディタを、基本設定フォームに、乗せる。

パスワードを、ラベルとして、作成。
   パスワードを、基本設定フォームに、乗せる。
パスワード編集エディタを、エディタとして、作成。
   その、テキストは、メールパスワード。
   パスワード編集エディタを、基本設定フォームに、乗せる。

署名ラベルを、ラベルとして、作成。
   署名ラベルを、基本設定フォームに、乗せる。
署名編集メモを、メモとして、作成。
   その、幅は、200。
   その、テキストは、署名内容。
   署名編集メモを、基本設定フォームに、乗せる。


保存ボタンを、ボタンとして、作成。
   保存ボタンを、基本設定フォームに、乗せる。
   その、テキストは、「保存」
   その、イベントは、基本設定保存。

受信時サーバー削除チェックを、チェックとして、作成。
   その、サイズは、(210,20,400,40)
   その、テキストは、受信時にサーバーから削除する。
   その、値は、削除設定。
   受信時サーバー削除チェックを、基本設定フォームに、乗せる。

自動署名挿入チェックを、チェックとして、作成。
   その、サイズは(210,50,400,70)
   その、テキストは、自動で署名を挿入。
   その、値は、自動署名。
   自動署名挿入チェックを、基本設定フォームに、乗せる。

// アドレス帳フォーム //
アドレス帳フォームを、フォームとして、作成。
   その、可視は、オフ。
   その、背景色は、灰色。
   その、スタイルは、ダイアログスタイル。
   その、サイズは、(0,0,390,470)

登録アドレス一覧ラベルを、ラベルとして、作成。
   その、サイズは、(10,10,130,25)
   登録アドレス一覧ラベルを、アドレス帳フォームに、乗せる。
めるあどグリッドを、グリッドとして、作成。
   その、サイズは、(10,25,290,400)
   その、編集は、オン。
   その、アイテムを、アドレス帳データに、設定。
   その、ダブルクリックした時は、宛先決定。
   めるあどグリッドを、アドレス帳フォームに、乗せる。

宛先ボタンを、ボタンとして、作成。
   その、サイズは、(295,25,340,45)
   宛先ボタンを、アドレス帳フォームに、乗せる。
   その、テキストは、「宛先」
   その、イベントは、宛先決定。   
CCボタンを、ボタンとして、作成。
   その、サイズは、(295,50,340,70)
   CCボタンを、アドレス帳フォームに、乗せる。
   その、テキストは、「CC」
   その、イベントは、CC宛先決定。   
BCCボタンを、ボタンとして、作成。
   その、サイズは、(295,75,340,95)
   BCCボタンを、アドレス帳フォームに、乗せる。
   その、テキストは、「BCC」
   その、イベントは、BCC宛先決定。   

アドレス削除ボタンを、ボタンとして、作成。
   その、サイズは、(295,355,380,375)
   アドレス削除ボタンを、アドレス帳フォームに、乗せる。
   その、イベントは、めるあど削除。
修正ボタンを、ボタンとして、作成。
   その、サイズは、(295,380,380,400)
   修正ボタンを、アドレス帳フォームに、乗せる。
   その、テキストは、「修正を保存」
   その、イベントは、めるあど修正。

名前ラベルを、ラベルとして、作成。
   その、サイズは、(10,415,40,430)
   名前ラベルを、アドレス帳フォームに、乗せる。
名前エディタを、エディタとして、作成。
   その、サイズは、(10,430,100,445)
   名前エディタを、アドレス帳フォームに、乗せる。
アドレスラベルを、ラベルとして、作成。
   その、サイズは、(100,415,180,430)
   アドレスラベルを、アドレス帳フォームに、乗せる。
アドレスエディタを、エディタとして、作成。
   その、サイズは、(100,430,290,445)
   アドレスエディタを、アドレス帳フォームに、乗せる。
追加ボタンを、ボタンとして、作成。
   その、サイズは、(295,430,340,450)
   追加ボタンを、アドレス帳フォームに、乗せる。
   その、テキストは、「追加」
   その、イベントは、めるあど登録。

// 受信メール表示するフォーム //
受信メールフォームを、フォームとして、作成。
   その、可視は、オフ。
   その、サイズは、(0,0,500,470)
   その、背景色は、灰色。
   その、変更した時は、受信メールメモの、サイズは、(0,30,(受信メールフォームの、幅),(受信メールフォームの、高さ))。
添付ファイルを見るボタンを、ボタンとして、作成。
   その、サイズは、(05,05,140,25)
   その、イベントは、添付ファイルを開く。
   添付ファイルを見るボタンを、受信メールフォームに、乗せる。
受信メールメモを、メモとして、作成。
   その、サイズは、(0,30,(受信メールフォームの、幅),(受信メールフォームの、高さ))。
   その、編集は、オフ。
   その、スクロールバーは、縦。
   受信メールメモを、受信メールフォームに、乗せる。

履歴リストを、リストとして、作成。
   その、可視は、オフ。
   その、アイテムは、履歴データ。
   履歴リストを、受信メールフォームに、乗せる。


// 添付を開く窓 //
添付ビューアフォームを、フォームとして、作成。
   その、可視は、オフ。
   その、位置は、(0,20)
   その、幅は、500
   その、高さは、450
   その、変更した時は、添付リサイズ。
ファイルリストを、リストとして、作成。
   その、サイズは、(0,0,500,30)
   その、イベントは、添付表示。
   ファイルリストを、添付ビューアフォームに、乗せる。
添付ブラウザを、ブラウザとして、作成。
   その、URLは、「about:blank」
   その、サイズは、(0,30,500,450)
   添付ブラウザを、添付ビューアフォームに、乗せる。


// メニュー作成 //
基本設定メニューを、メニュー作成。
   その、イベントは、基本設定編集。

アドレス帳メニューを、メニュー作成。
   その、イベントは、アドレス帳呼び出し。

送信済メールメニューを、メニュー作成。
   その、イベントは、送信済みメール呼び出し。

ヘルプメニューを、メニュー作成
   その、イベントは、ヘルプ表示。

// 母艦の部品作成 //
送信ボタンを、ボタンとして、作成。
   その、サイズは、(10,10,60,40)
   その、イベントは、メール送信実行。

受信ボタンを、ボタンとして、作成。
   その、サイズは、(10,50,60,80)
   その、イベントは、メール受信実行。

送信者ラベルを、ラベルとして、作成。
   その、サイズは、(105,10,140,30)
送信者入力エディタを、エディタとして、作成。
   その、サイズは、(150,10,230,30)
   その、テキストは、メール送信者名。
送信元入力エディタを、エディタとして、作成。
   その、サイズは、(230,10,490,30)
   その、編集は、オフ。
   その、有効は、オフ。
   その、テキストは、メール送信元。

宛先ラベルを、ラベルとして、作成。
   その、サイズは、(105,35,140,55)
   その、クリックした時は、アドレス帳呼び出し。
宛先入力エディタを、エディタとして、作成。
   その、サイズは、(150,35,490,55)

CCラベルを、ラベルとして、作成。
   その、サイズは、(105,60,140,90)
   その、クリックした時は、アドレス帳呼び出し。
CCリストを、リストとして、作成。
   その、サイズは、(150,60,490,90)
   その、ダブルクリックした時は、CCリスト編集。

BCCラベルを、ラベルとして、作成。
   その、サイズは、(105,95,140,125)
   その、クリックした時は、アドレス帳呼び出し。
BCCリストを、リストとして、作成。
   その、サイズは、(150,95,490,125)
   その、ダブルクリックした時は、BCCリスト編集。

添付ラベルを、ラベルとして、作成。
   その、サイズは、(105,130,140,160)
   その、クリックした時は、添付選択。
添付リストを、リストとして、作成。
   その、サイズは、(150,130,490,160)
  その、ファイルドロップは、オン。
   その、ダブルクリックした時は、添付リスト編集。

件名ラベルを、ラベルとして、作成。
   その、サイズは、(10,170,60,200)
件名入力エディタを、エディタとして、作成。
   その、サイズは、(50,170,490,200)

メール本文編集を、メモとして、作成。
   その、サイズは、(5,195,490,445)
   その、スクロールバーは、縦。
   その、ファイルドロップは、オン。
   その、ファイルドロップした時は、メール本文ドロップ。
   もし、(自動署名=1)ならば、メール本文編集の、テキストは、「\n{署名内容}\n」。

文字サイズは、9。
新規作成ボタンを、ボタンとして、作成。
   その、サイズは、(500,300,630,325)
   その、イベントは、新規作成。
署名挿入ボタンを、ボタンとして、作成。
   その、サイズは、(500,330,630,355)
   その、イベントは、署名使用。
   
書きかけ保存ボタンを、ボタンとして、作成。
   その、サイズは、(500,390,630,415)
   その、イベントは、書きかけ保存。
書きかけ呼出ボタンを、ボタンとして、作成。
   その、サイズは、(500,420,630,445)
   その、イベントは、書きかけ呼出。

// 受信メール項目 //
受信メールグリッドを、グリッドとして、作成。
   その、サイズは、(500,10,630,250)
   その、編集は、オン。
   その、ダブルクリックした時は、受信メールを読む。
受信メール呼出設定を、呼ぶ。

返信ボタンを、ボタンとして、作成。
   その、サイズは、(500,260,540,280)
   その、イベントは、受信メール返信。
転送ボタンを、ボタンとして、作成。
   その、サイズは、(545,260,585,280)
   その、イベントは、受信メール転送。
削除ボタンを、ボタンとして、作成。
   その、サイズは、(590,260,630,280)
   その、イベントは、受信メール削除。

母艦浮上。
待機。

//////// ここからイベント設定 ////////
// 受信メール閲覧のイベント //
*受信メールを読む
受信メールフォームの、可視は、オン。
受信メールフォームに、注目。
添付ファイルを見るボタンの、有効は、オン。
受信メールグリッドの、アイテムを、受信データに、得る。
受信メールグリッドの、値を、インデックスに、得る。
読むメールは、(受信データ#4#インデックス)。

もし、読むメール=「」ならば、待機。
違えば、(
   母艦のパス&「PopMail\\{読むメール}」を、読む。
   内容は、それ。
   受信メールメモの、テキストは、内容。
   
   (履歴リストの、アイテム)を、反復(
      履歴は、それ。
      もし、履歴が、読むメールならば(
         (履歴リストの、アイテム)の、(回数-1)行目を、行削除。
         履歴リストの、アイテムは、それ。
         抜ける。
      )
      )
   履歴リストの、アイテムは、(履歴リストの、アイテム)&「{読むメール}\n」。
   受信メール呼出設定を、呼ぶ。
   )
待機。

*受信メール呼出設定
受信データは、「」。
母艦のパス&「PopMail\\」へ、作業フォルダ変更。
『*.txt』の、ファイル列挙。
A=-1
それを、反復(
   対象ファイル=それ。
   A=A+1
  母艦のパス&「PopMail\\{対象ファイル}」を、読む。
   変更データは、それ。
   変更データの、「添付ファイル:」から、「\n」までの、範囲を切り取る。
      それの、「添付ファイル:」を、「」に、置換。
      もし、それ=「」ならば、添付有無は、「」。
      違えば、添付有無は、「o」。
   変更データの、「件名:」から、「\n」までの、範囲を切り取る。
      それの、「件名:」を、「」に、置換。
      表示件名は、それ。
      (履歴リストの、アイテム)で、「\n{対象ファイル}」の、出現回数。
      もし、(それ<1)ならば、表示件名=「(未読){表示件名}」。
   変更データの、「送信者:」から、「\n」までの、範囲を切り取る。
      それの、「送信者:」を、「」に、置換。
      表示送信者は、それ。
   「{対象ファイル}」の、ファイル日時。
      表示日時は、それ。

受信データ#0#A=添付有無
受信データ#1#A=表示件名
受信データ#2#A=表示送信者
受信データ#3#A=表示日時
受信データ#4#A=対象ファイル
)。
受信メールグリッドの、アイテムは、「o,受信メール  ,送信者,受信日時,ファイル\n{受信データ}」。
戻る。

*添付ファイルを開く
添付ビューアフォームの、可視は、オン。
添付ビューアフォームに、注目。
ファイルデータは、「」。
B=0
内容を、反復(
   対象は、それ。
   対象の、「添付ファイル:」から、「\n」までの、範囲を切り取る。
   それの、「添付ファイル:」を、「」に、置き換える。それの、トリム。
   もし、それが、「」ならば、抜ける。
   添ファイルは、母艦のパス&「PopMail\\{それ}」。
   ファイルデータ#B=添ファイル
   B=B+1
)
ファイルリストの、アイテムは、ファイルデータ。
待機。

*添付表示
対応形式=「shtml,txt,css,ini,png,jpg,gif,bmp」
(ファイルリストの、テキスト)から、拡張子を切り出す。
「.」を、「」に、置換。小文字変換。
対応形式の中で、それが、何文字目。
もし、それ>0ならば、添付ブラウザの、URLは、ファイルリストの、テキスト。
違えば、添付ブラウザの、URLは、「about:<EMBED src=\"{ファイルリストの、テキスト}\">」。
待機。

*添付リサイズ
ファイルリストの、サイズは、(0,0,(添付ビューアフォームの、W),30)
添付ブラウザの、サイズは、(0,30,(添付ビューアフォームの、W),(添付ビューアフォームの、H))
戻る。

*受信メール削除
受信メールグリッドの、アイテムを、受信データに、得る。
受信メールグリッドの、値を、インデックスに、得る。
受信メール数=要素数(受信データ)
もし、(受信メール数=<インデックス)ならば、待機。
もし、(受信メール数=1)ならば、待機。
違えば、(
受信データの、インデックス行目を、行削除。
受信メールグリッドの、アイテムは、それ。
削除メールは、(受信データ#4#インデックス)。
母艦のパス&「PopMail\\{削除メール}」を、ファイル削除。
削除メールから、4文字、右端を切り取る。
母艦のパス&「PopMail\\{削除メール}.eml」を、ファイル削除。

(履歴リストの、アイテム)を、反復(
   履歴は、それ。
   もし、履歴が、削除メール&「.txt」ならば(
      (履歴リストの、アイテム)の、(回数-1)行目を、行削除。
      履歴リストの、アイテムは、それ。
      抜ける。
   )
)
受信メール呼出設定を、呼ぶ。
)
待機。



▲[ 1077 ] / 返信無し
NO.1078  メールソフト「LynMail0.50」【後半】
□投稿者/ りんくす -(2002/07/20(Sat) 20:10:30)
□U R L/
// メール送受信イベント //
*メール受信実行
送受信エラーお知らせに、エラー処理設定。
もし、(受信時サーバー削除チェックの、値=1)ならば、メールサーバーから削除は、オン。
もし、(受信時サーバー削除チェックの、値=0)ならば、メールサーバーから削除は、オフ。
メールホストは、受信ホスト。
母艦のパス&「PopMail\\」へ、メール受信。
受信メール呼出設定を、呼ぶ。
「受信完了」と、言う。
待機。

*メール送信実行
送受信エラーお知らせに、エラー処理設定。
メール送信者名は、(送信者入力エディタの、テキスト)。
メール送信先は、(宛先入力エディタの、テキスト)。
メールCCは、(CCリストの、アイテム)。
メールBCCは、(BCCリストの、アイテム)。
メール添付ファイルは、(添付リストの、アイテム)。
メールホストは、送信ホスト。
メールタイトルは、(件名入力エディタの、テキスト)。
メール本文は、(メール本文編集の、テキスト)。

'内容不備の確認
A=「宛先が未記入です。」
B=「件名が未記入です。」
C=「本文が空欄です。」
D=「設定の確認してください。」

もし、(メール送信先=「」)かつ(メールタイトル=「」)かつ(メール本文=「」)
ならば、(「{A}\n{B}\n{C}」と、言う。待機。)
違えば、(
   もし、(メール送信先=「」)かつ(メールタイトル=「」)
   ならば、(「{A}\n{B}」と、言う。待機)
   もし、(メールタイトル=「」)かつ(メール本文=「」)
   ならば、(「{B}\n{C}」と、言う。待機)
   もし、(メール送信先=「」)かつ(メール本文=「」)
   ならば、(「{A}\n{C}」と、言う。待機)
   違えば、(
      もし、メール送信先=「」ならば、(「{A}」と、言う。待機)
      もし、メールタイトル=「」ならば、(「{B}」と、言う。待機)
      もし、メール本文=「」ならば、(「{C}」と、言う。待機)
      違えば、(「{D}」と、言う。待機)
   )
)
メール送信。

日時呼出を、呼ぶ。
メールタイトルを、全角変換。
保存タイトルは、それ。
「<送信者>\n{メール送信者名}\n
<送信元>\n{メール送信元}\n
<送信先>\n{メール送信先}\n
<CC>\n{メールCC}
<BCC>\n{メールBCC}
<添付ファイル>\n{メール添付ファイル}
<件名>\n{メールタイトル}\n
<本文>\n{メール本文}」を、母艦のパス&「SmtptMail\\{保存タイトル}[{日付}{時間}].txt」へ、書く。
「送信完了」と、言う。
待機。


// メール編集 //
*新規作成
宛先入力エディタの、テキストは、「」。
CCリストの、アイテムは、「」。
BCCリストの、アイテムは、「」。
添付リストの、アイテムは、「」。
件名入力エディタの、テキストは、「」。
もし、(自動署名挿入チェックの、値=1)ならば、メール本文編集の、テキストは、「\n{署名内容}\n」。
違えば、メール本文編集の、テキストは、「」。
待機。

*受信メール返信
返信転送設定を、呼ぶ。
   宛先入力エディタの、テキストは、返信先。
   添付リストの、アイテムは、「」。
   件名入力エディタの、テキストは、「Re:{元件名}」。
待機。

*受信メール転送
返信転送設定を、呼ぶ。
   宛先入力エディタの、テキストは、「」。
   件名入力エディタの、テキストは、「Fw:{元件名}」。
   添付リストの、アイテムは、ファイルデータ。
待機。

*返信転送設定
受信メールグリッドの、アイテムを、受信データに、得る。
受信メールグリッドの、値を、インデックスに、得る。
受信メール数=要素数(受信データ)
もし、インデックスが、「」ならば、待機。
もし、(受信メール数=<インデックス)ならば、待機。
もし、(受信メール数=1)ならば、待機。
違えば、(
読むメールは、(受信データ#4#インデックス)。

母艦のパス&「PopMail\\{読むメール}」を、読む。
返信メールデータは、それ。
   C=0
   ファイルデータは、「」。
   返信メールデータを、反復(
      対象は、それ。
      対象の、「添付ファイル:」から、「\n」までの、範囲を切り取る。
      それの、「添付ファイル:」を、「」に、置き換える。それの、トリム。
      もし、それが、「」ならば、抜ける。
      添ファイルは、母艦のパス&「PopMail\\{それ}」。
      ファイルデータ#C=添ファイル
      C=C+1
      )
      添付リストの、アイテムは、ファイルデータ。

      返信メールデータの、「返信先:」から、「\n」までの、範囲を切り取る。
      それの、「返信先:」を、「」に、置き換える。それの、トリム。
      返信先は、それ。
   返信メールデータの、「送信者:」から、「\n」までの、範囲を切り取る。
      それの、「送信者:」を、「」に、置き換える。それの、トリム。
      元送信者は、それ。
   返信メールデータの、「受信者:」から、「\n」までの、範囲を切り取る。
      それの、「受信者:」を、「」に、置き換える。それの、トリム。
      元受信者は、それ。
   返信メールデータの、「日時:」から、「\n」までの、範囲を切り取る。
      それの、「日時:」を、「」に、置き換える。それの、トリム。
      受信日時は、それ。
   返信メールデータの、「件名:」から、「\n」までの、範囲を切り取る。
      それの、「件名:」を、「」に、置き換える。それの、トリム。
      元件名は、それ。
   返信メールデータの、「本文:」を、「」に、置き換える。それの、トリム。
      それの、「\n」を、「\n>」に、置き換える。
      元本文は、それ。

   送信者入力エディタの、テキストは、メール送信者名。
   CCリストの、アイテムは、「」
   BCCリストの、アイテムは、「」。
   もし、(自動署名挿入チェックの、値=1)ならば、(
   メール本文編集の、テキストは、「
\n{署名内容}
----- Original Message -----
From: {元送信者}
To: {元受信者}
Sent: {受信日時}
Subject: {元件名}\n
>{元本文}」。戻る。)
   違えば、(
   メール本文編集の、テキストは、「
----- Original Message -----
From: {元送信者}
To: {元受信者}
Sent: {受信日時}
Subject: {元件名}\n
>{元本文}」。
戻る。)
)

*CCリスト編集
「編集しますか?」を、「削除\n全消去\n修正」の、ボタンで選択。
もし、(それ=「」)ならば、待機。
もし、(それ=削除)ならば、(
   (CCリストの、アイテム)の、(CCリストの、値)行目を、行削除。
   CCリストの、アイテムは、それ。待機。)
もし、(それ=全消去)ならば、(
   CCリストの、アイテムは、「」。待機。)
もし、(それ=修正)ならば、(
   ダイアログ初期値=CCリストの、テキスト。
   「変更?」と、尋ねる。
      もし、それ=「」ならば、待機。
      CCリストの、テキストは、それ。待機。)

*BCCリスト編集
「編集しますか?」を、「削除\n全消去\n修正」の、ボタンで選択。
もし、(それ=「」)ならば、待機。
もし、(それ=削除)ならば、(
   (BCCリストの、アイテム)の、(BCCリストの、値)行目を、行削除。
   BCCリストの、アイテムは、それ。待機。)
もし、(それ=全消去)ならば、(
   BCCリストの、アイテムは、「」。待機。)
もし、(それ=修正)ならば、(
   ダイアログ初期値=BCCリストの、テキスト。
   「変更?」と、尋ねる。
      もし、それ=「」ならば、待機。
      BCCリストの、テキストは、それ。待機。)

*添付選択
マイドキュメントのパスへ、作業フォルダ変更。
「All File|*.*」の、読込ファイル選択。
添付リストの、アイテムは、添付リストの、アイテム&「{それ}\n」。
待機。

*添付リスト編集
「編集しますか?」を、「削除\n全消去\n修正」の、ボタンで選択。
もし、(それ=「」)ならば、待機。
もし、(それ=削除)ならば、(
   (添付リストの、アイテム)の、(添付リストの、値)行目を、行削除。
   添付リストの、アイテムは、それ。待機。)
もし、(それ=全消去)ならば、(
   添付リストの、アイテムは、「」。待機。)
もし、(それ=修正)ならば、(
   ダイアログ初期値=添付リストの、テキスト。
   「変更?」と、尋ねる。
      もし、それ=「」ならば、待機。
      添付リストの、テキストは、それ。待機。)

*メール本文ドロップ
イベントの値を、読む。
メール本文編集の、選択文字列は、それ。
待機。

*署名使用
メール本文編集の、選択文字列は、「\n{署名内容}\n」
待機。


// 作成中保存呼出イベント //
*日時呼出
今日の中で、3から、8つ、切り出す。
日付=それ。
日付の、「/」を、「」に、置換する。
日付=それ。
今の、「:」を、「」に、置換する。
時間=それ。
戻る。

*書きかけ保存
メール送信者名は、(送信者入力エディタの、テキスト)。
メール送信先は、(宛先入力エディタの、テキスト)。
メールCCは、(CCリストの、アイテム)。
メールBCCは、(BCCリストの、アイテム)。
メール添付ファイルは、(添付リストの、アイテム)。
メールタイトルは、(件名入力エディタの、テキスト)。
メール本文は、(メール本文編集の、テキスト)。

日時呼出を、呼ぶ。
メールタイトルを、全角変換。
保存タイトルは、それ。
「{メール送信者名}<<<Lynmail>>>
{メール送信先}<<<Lynmail>>>
{メールCC}<<<Lynmail>>>
{メールBCC}<<<Lynmail>>>
{メール添付ファイル}<<<Lynmail>>>
{メールタイトル}<<<Lynmail>>>
{メール本文}」を、母艦のパス&「Memo\\{保存タイトル}[{日付}{時間}].txt」へ、書く。
「ファイル名: {保存タイトル}[{日付}{時間}].txt\nで、保存しました。」と、言う。
待機。

*書きかけ呼出
母艦のパス&「Memo\\」へ、作業フォルダ変更。
「txt」の、読込ファイル選択。
もし、それが、「」ならば、待機。
呼出メールに、それを、読む。
   呼出メールの、「<<<Lynmail>>>\n」までを、切り取る。
   送信者入力エディタの、テキストは、それ。
呼出メールの、「<<<Lynmail>>>\n」までを、切り取る。
   宛先入力エディタの、テキストは、それ。
呼出メールの、「<<<Lynmail>>>\n」までを、切り取る。
   CCリストの、アイテムは、それ。
呼出メールの、「<<<Lynmail>>>\n」までを、切り取る。
   BCCリストの、アイテムは、それ。
呼出メールの、「<<<Lynmail>>>\n」までを、切り取る。
   添付リストの、アイテムは、それ。
呼出メールの、「<<<Lynmail>>>\n」までを、切り取る。
   件名入力エディタの、テキストは、それ。
メール本文編集の、テキストは、呼出メール。
待機。

// 基本設定メニューのイベント //
*基本設定編集
基本設定フォームの、可視は、オン。
基本設定フォームを、最前面。
待機。

*基本設定保存
母艦のパス&「lynmail.ini」の、INIファイル開く。
   それは、(送名前編集エディタの、テキスト)。
   『メール送信者名』の、『sname』へ、INIファイル書く。
   それは、(送アドレス編集エディタの、テキスト)。
   『メール送信元』の、『saddress』へ、INIファイル書く。
   それは、(送信ホスト名編集エディタの、テキスト)。
   『メールホスト』の、『shost』へ、INIファイル書く。
   それは、(受信ホスト名編集エディタの、テキスト)。
   『メールホスト』の、『Jhost』へ、INIファイル書く。
   それは、(アカウント編集エディタの、テキスト)。
   『メールID』の、『account』へ、INIファイル書く。
   それは、(パスワード編集エディタの、テキスト)。
   『メールパスワード』の、『pass』へ、INIファイル書く。
   それは、受信時サーバー削除チェック。
   『削除設定』の、『frag』へ、INIファイル書く。
   それは、自動署名挿入チェック。
   『自動署名』の、『frag』へ、INIファイル書く。
INIファイル閉じる。

(署名編集メモの、テキスト)を、母艦のパス&「syomei.ini」に、書く。

母艦のパス&「lynmail.ini」の、INIファイル開く。
   『メール送信者名』の、『sname』を、INIファイル読む。
   メール送信者名は、それ。
   『メール送信元』の、『saddress』を、INIファイル読む。
   メール送信元は、それ。
   『メールホスト』の、『shost』を、INIファイル読む。
   送信ホストは、それ。
   『メールホスト』の、『Jhost』を、INIファイル読む。
   受信ホストは、それ。
   『メールID』の、『account』を、INIファイル読む。
   メールIDは、それ。
   『メールパスワード』の、『pass』を、INIファイル読む。
   メールパスワードは、それ。
   『削除設定』の、『frag』を、INIファイル読む。
   削除設定は、それ。
   『自動署名』の、『frag』を、INIファイル読む。
   自動署名は、それ。
INIファイル閉じる。
母艦のパス&「syomei.ini」を、読む。   署名内容は、それ。

基本設定フォームの、可視は、オフ。
待機。

//// メニューのイベント ////
// アドレス帳メニュー //
*アドレス帳呼び出し
アドレス帳フォームの、可視は、オン。
アドレス帳フォームを、最前面。
待機。

*めるあど登録
めるあどグリッドの、アイテムを、めるあどデータに、得る。
   めるあど数=要素数(めるあどデータ)
   めるあどデータ#0#めるあど数=名前エディタ
   めるあどデータ#1#めるあど数=アドレスエディタ
   めるあどグリッドの、アイテムは、めるあどデータ。
それは、めるあどグリッドの、アイテム。
母艦のパス&「Address.csv」へ、保存。
待機。

*めるあど修正
めるあどグリッドの、アイテムを、めるあどデータに、得る。
めるあどグリッドの、アイテムは、めるあどデータ。
それは、めるあどグリッドの、アイテム。
母艦のパス&「Address.csv」へ、保存。
待機。

*めるあど削除
めるあどグリッドの、アイテムを、めるあどデータに、得る。
めるあどグリッドの、値を、インデックスに、得る。
めるあど数=要素数(めるあどデータ)
もし、(めるあど数=1)ならば、待機。
もし、(インデックス=>めるあど数)ならば、待機。
もし、インデックスが、「」ならば、待機。
めるあどデータの、インデックス行目を、行削除。
めるあどグリッドの、アイテムは、それ。
めるあどグリッドの、アイテムを、めるあどデータに、得る。
それは、めるあどグリッドの、アイテム
母艦のパス&「Address.csv」へ、保存。
待機。

*宛先決定
めるあどグリッドの、アイテムを、めるあどデータに、得る。
めるあどグリッドの、値を、インデックスに、得る。
宛先入力エディタの、テキストは、(めるあどデータ#1#インデックス)。
待機。

*CC宛先決定
めるあどグリッドの、アイテムを、めるあどデータに、得る。
めるあどグリッドの、値を、インデックスに、得る。
CC編集は、(めるあどデータ#1#インデックス)。
もし、CC編集が、「」ならば、待機。
CCリストの、アイテムは、CCリストの、アイテム&「{CC編集}\n」。
待機。

*BCC宛先決定
めるあどグリッドの、アイテムを、めるあどデータに、得る。
めるあどグリッドの、値を、インデックスに、得る。
BCC編集は、(めるあどデータ#1#インデックス)。
もし、BCC編集が、「」ならば、待機。
BCCリストの、アイテムは、BCCリストの、アイテム&「{BCC編集}\n」。
待機。

// 送信済みメールメニュー //
*送信済みメール呼び出し
母艦のパス&「SmtptMail\\」へ、作業フォルダ変更。
「txt」の、読込ファイル選択。
もし、それが、「」ならば、待機。
呼出メールに、それを、読む。
   呼出メールの、「<送信元>\n」までを、切り取る。
   それの、「<送信者>\n」を、「」に、置換。
   それの、「<送信元>\n」を、「」に、置換。
   それの、トリム。
   送信者入力エディタの、テキストは、それ。
呼出メールの、「<送信先>\n」までを、切り取る。
呼出メールの、「<CC>\n」までを、切り取る。
   それの、「<CC>\n」を、「」に、置換。
   それの、トリム。
   宛先入力エディタの、テキストは、それ。
呼出メールの、「<BCC>\n」までを、切り取る。
   それの、「<BCC>\n」を、「」に、置換。
   それの、トリム。
   CCリストの、アイテムは、それ。
呼出メールの、「<添付ファイル>\n」までを、切り取る。
   それの、「<添付ファイル>\n」を、「」に、置換。
   それの、トリム。
   BCCリストの、アイテムは、それ。
呼出メールの、「<件名>\n」までを、切り取る。
   それの、「<件名>\n」を、「」に、置換。
   それの、トリム。
   添付リストの、アイテムは、それ。
呼出メールの、「<本文>\n」までを、切り取る。
   それの、「<本文>\n」を、「」に、置換。
   それの、トリム。
   件名入力エディタの、テキストは、それ。
メール本文編集の、テキストは、呼出メール。
待機。

// ヘルプメニュー //
*ヘルプ表示
受信メールフォームの、可視は、オン。
受信メールフォームに、注目。
添付ファイルを見るボタンの、有効は、オフ。
受信メールメモの、テキストは、『++++ メニューについて ++++
○「基本設定」メニュー
各項目の設定をしてください。
 送信者名:送信するメールの差出人に表示される名前。
送信アドレス:自分のメールアドレス。
送信メールホスト:各プロバイダの指示に従ってください。
受信メールホスト:各プロバイダの指示に従ってください。
アカウント:
パスワード:
署名:署名内容の設定をします。(任意)
受信時にサーバーから削除する:受信したメールをサーバーから削除したい場合は
チェック。
自動で署名を挿入:自動で署名を挿入したい場合は、チェック。
 ※最後に必ず保存ボタンを押してください。


○アドレス帳メニュー
アドレス帳の呼出・管理が出来ます。
 ・新規で登録の場合、一番下の「名前」「アドレス」の欄に記入して追加ボタンを
 押してください。
 ・アドレス一覧から直接編集も可能です。その場合、必ず「修正を保存」ボタンを
 押してください。
・アドレス一覧で選択して「アドレス削除」ボタンで削除が出来ます。
・アドレス一覧で選択して「宛先」「CC」「BCC」それぞれのボタンを押すと、メー
 ル作成画面に記入されます。
・アドレス一覧で、ダブルクリックすると、宛先に記入されます。


○送信済みメールメニュー
送信済みのメールが、メール作成画面に呼び出せます。
同じメールを再送したい時などに便利です。


○ヘルプメニュー
この画面が呼び出されます。


++++ メール作成について ++++
○メール作成画面で、一時的に送信者名を変更が可能です。
 (アドレスは基本設定で変えないと変更は出来ません)
○宛先・CC・BCCそれぞれのラベルをクリックすると、アドレス帳が開きます。
○添付ラベルをクリックすると、添付ファイルの選択ができます。
(ドロップでの決定も可能)
○宛先・CC・BCC・添付のリストは、ダブルクリックすると、すでに設定されている内容
 を、削除・全消去・編集が出来ます。
○メール本文欄には、ファイルをドロップすることも可能です。
○新規作成ボタンで、メール作成画面をクリアします。
○署名挿入ボタンでカーソルの位置に署名挿入します。
○書きかけ保存ボタン・書きかけ呼出ボタンで、書きかけのメールの保存・呼出がそれ
 ぞれ出来ます。
○受信メール一覧で、メールを選択して、返信・転送ボタンを押すと、それぞれメール
 作成画面へ引用されたものが用意されます。


++++ メールの送受信 ++++
○メイン画面の左上にある「送信」ボタンで送信、「受信」ボタンで受信が出来ます。
○宛先・件名・本文が空だと、送信時にエラー表示がでます。
○受信メール一覧で、メールをダブルクリックすると、受信メールを見れます。
○受信メール一覧の、項目で「o」の欄に「o」が付いているメールには添付ファイルが
 あります。その場合、受信メール画面で「添付ファイルを見る」をクリックすると、
添付ファイルを開くことが出来ます。
○受信メール一覧で、まだ読んでいないメールのタイトルの頭には「(未読)」が表示さ
 れます。
○受信メール一覧で、メールを選択して、削除ボタンを押すと、受信メールはフォルダ
 から削除されます。


++++ フォルダ・設定ファイルの構成 ++++
○実行ファイルと同じディレクトリに、3つのフォルダが作成されます。
  SmtpMail:送信済みメールを格納するフォルダ
  PopMail:受信したメールを格納するフォルダ
  Memo:書きかけのメールを保存するフォルダ
どんどんファイルがたまっていきますので、定期的にいらないメールは削除するようにしてください。
受信したメールは、受信メール一覧から削除できます。
送信済みメールと書きかけメールについては、直接フォルダから削除するか、呼出時に選択する一覧で右クリックで削除の出来ます。

○実行ファイルと同じディレクトリに、3つのINIファイルと、1つのCSVファイルが作成
 されます。
  lynmail.ini :基本設定の保存ファイル
  histry.ini :受信メールの既読履歴ファイル
  syomei.ini :署名文の設定保存ファイル
  address.csv :メールアドレスの保存ファイル


++++ アンインストールするには ++++
LynMail.exeと、4つの各設定ファイル、3つの各保存フォルダを、削除してください。


待機。

// エラー・終了処理 //
*送受信エラーお知らせ
「処理に失敗しました。」と、言う。
待機。

*終了ラベル
それは、(履歴リストの、アイテム。)
母艦のパス&「histry.ini」へ、書く。
おわり。



- Child Tree -