スクリプト名:_Mailを取得

レイアウト切り替え [「Mail」 (Mail)]
If [IsEmpty ( Get ( スクリプト引数 ) )]
現在のスクリプト終了 []
End If
フィールドへ移動 []
変数を設定 [$mailTXT; 値:iill_GetMailn( Global::index )] /*POPサーバーからメールを取得*/
#[Cancel]ボタンが押された場合、全ての受信を終了
If [$mailTXT =  "+UserCancel"] /*MMPウインドウで[Cancel]ボタンが押された場合、iill_GetMailnの戻り値が"+UserCancel"になります。*/
スクリプト実行 [「ログアウト」]
カスタムダイアログを表示 ["受信キャンセル"]
全スクリプト終了
End If
#
新規レコード/検索条件
フィールド設定 [MailText::メール原文; $mailTXT] /*メールの原文を[MailText::メール原文]フィールドへ設定*/
※メールの原文から情報の再取得をしない場合、保存する必要はありません。
フィールド設定 [Mail::UIDL; Global::UIDL] /*メッセージの重複受信防止の為、UIDLを設定*/
#UIDLとは、POP3サーバーが割り振る、メールメッセージのユニークID
If [Left ( $mailTXT ; 3 ) ≠ "+OK"] /*iill_GetMailn( index )で正常に受信できた場合、先頭の行が"+OK"になります。*/
フィールド設定 [Mail::UIDL; "ERROR:" & Mail::UIDL]
全スクリプト終了
End If
フィールド設定 [Mail::Header; iill_GetHeader] /*メールのHeaderを[Mail::Header]フィールドへ設定*/
#※メールのHeaderから情報の再取得をしない場合、保存する必要はありません。
#Headerから[Header取得項目]フィールドに応じた情報を取得。必要な項目を設定。
変数を設定 [$max; 値:ValueCount ( Global::Header取得項目 )]
 Global::Header取得項目

Subject:
From:
Date:
To:
Delivere-To:
Received:
Return-Path:
Content-Type:
Reply-To:


変数を設定 [$n; 値:1]
フィールドへ移動 [Mail_Header::item]
Loop
Exit Loop If [$n>$max]
ポータル内の行へ移動 [選択; ダイアログなし; $n]
フィールド設定 [Mail_Header::item; GetValue( Global::Header取得項目 ; $n )]
フィールド設定 [Mail_Header::vlue; iill_GetInfo( Mail_Header::item )] /*デコードされた文字列を取得します。*/
変数を設定 [$n; 値:$n+1]
End Loop
#
フィールド設定 [Mail::アイテム数; iill_BodyAnalyzer] /*メールメッセージを解析*/
 「iill_BodyAnalyzer」でメールの解析を実行すると、
以下のように各種情報がPlug-in内に格納されます。

添付ファイルが1つ含まれ、テキスト(text/plain)と、HTML(text/html) を含む場合、
項目番号 0テキストメール(text/plain)。
項目番号 1HTMLメール(text/html)。
項目番号 2添付ファイル


変数を設定 [$n; 値:0]
フィールドへ移動 [Mail_Body::ItemNumber]
Loop
Exit Loop If [Mail::アイテム数 < $n+1]
ポータル内の行へ移動 [ダイアログなし; $n+1]
フィールド設定 [Mail_Body::ItemNumber; $n]
フィールド設定 [Mail_Body::body; iill_GetBodyn( $n )] /*デコードされた文字列を取得します。※添付ファイルの場合、戻り値はファイル名になります。*/
フィールド設定 [Mail_Body::Type; iill_GetMultipartHeaderInfo( $n ; "Content-Type" )] /*各項目のHeaderから情報を取得。*/
フィールド設定 [Mail_Body::添付ファイルチェック; iill_GetMultipartHeaderInfo( $n ; "Content-Disposition:" )]
#添付ファイルの確認[iill_GetMultipartHeaderInfo( $n ; "Content-Disposition:" ) ]の戻り値に"attachment"があるかどうか?
If [PatternCount ( Mail_Body::添付ファイルチェック ; "attachment" )]
フィールド設定 [Mail_Body::添付ファイル; iill_GetAttachedFile_Field( $n )] /*添付ファイルをフィールドに取得*/
End If
#▼Ver2で追加("Content-Disposition:" で"attachment"が無い場合の処理)
If [IsEmpty ( Mail_Body::添付ファイル )]
If [PatternCount ( Mail_Body::Type ; "name") + PatternCount ( Mail_Body::Type ; "filename")]
フィールド設定 [Mail_Body::添付ファイル; iill_GetAttachedFile_Field( $n )]
End If
End If
#▲Ver2で追加
変数を設定 [$n; 値:$n+1]
End Loop
フィールドへ移動 []
Comments