レイアウト切り替え [「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取得項目 )]
変数を設定 [$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] /*メールメッセージを解析*/
変数を設定 [$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 フィールドへ移動 [] |