履歴
1.2
■2013.11.26|送信メール 本文中に「.」ドットのみの行がある場合のトラブル。 MailMakerPop+ Send Library Ver.1.2 問題: メール本文中の本文中に「.」ドットのみの行があった場合、受信側でそれ以降のデータを受信出来ない。 メール本文中の行頭に「.」ドットが合った場合、「.」ドットが削除される。 メール本文中の行頭の「.」ドットは、「..」にする必要があるが、 「.NET Framework 2.0/3.0/3.5/4.0」の環境下では、「.」ドットがエスケープされない。 「.NET Framework 4.5」では、改善されエスケープされる。 この問題は、「.NET FrameworkのAlternateViewクラス」で本文を追加した場合に起こります。 MailMakerPop+は、送信処理に「.NET FrameworkのAlternateViewクラス」を利用しています。 解決策: ・解決策[1] .NET Framework 4.0の場合、行頭の「.」ドットを2つ「..」にする。 iill_SMTP_setBody_Add( "plain" ; Substitute ( simpleExample_send::body_text ; "¶." ; "¶.." ) ) iill_SMTP_setBody_Add( "html" ; Substitute ( simpleExample_send::body_html ; "¶." ; "¶.." ) ) ・解決策[2] 送信処理を行うPCを.NET Framework 4.5にする。 この場合、スクリプトの書き換えは、不要です。 ・解決策[3] .NET Framework 4.0|4.5 混在の場合、 iill_SMTP_setBody_Add( "plain" ; Substitute ( simpleExample_send::body_text ; "¶." ; "¶ ." ) ) iill_SMTP_setBody_Add( "html" ; Substitute ( simpleExample_send::body_html ; "¶." ; "¶ ." ) ) ※但し、この方法の場合、行頭にドットがあった場合、受信側で「スペース+ドット」になってしまいます。 ・行頭にトットを「スペース+ドット」に置換で対応。 ファイル:MMPSLib(.fp7|.fmp12) スクリプト:lib_Set_Body 変更前: #plain text 変数を設定 [$er; 値:iill_SMTP_setBody_Add( "plain" ; MailSTemp::bodyText )/*plain,html*/] If [$er ≠ 0] フィールド設定 [MMPSLib::gER; MMPSLib::gER & "¶" & $er] End If #html If [ not IsEmpty ( MailSTemp::bodyHTML )] 変数を設定 [$er; 値:iill_SMTP_setBody_Add( "html" ; MailSTemp::bodyHTML )/*plain,html*/] End If If [$er ≠ 0] フィールド設定 [MMPSLib::gER; MMPSLib::gER & If ( IsEmpty ( MMPSLib::gER ) ; "" ; "¶" ) & Get ( スクリプト名 ) & "|" & $er] End If 変更後: #plain text 変数を設定 [$text; 値:Let([Body=MailSTemp::bodyText;Body=¶ & Body;Body=Substitute ( Body ; "¶." ; "¶ ." )];Replace ( Body ; 1 ; 1 ; "" ))] 変数を設定 [$er; 値:iill_SMTP_setBody_Add( "plain" ; $text )/*plain,html*/] If [$er ≠ 0] フィールド設定 [MMPSLib::gER; MMPSLib::gER & "¶" & $er] End If #html If [ not IsEmpty ( MailSTemp::bodyHTML )] 変数を設定 [$html; 値:Let([Body=MailSTemp::bodyHTML;Body=¶ & Body;Body=Substitute ( Body ; "¶." ; "¶ ." )];Replace ( Body ; 1 ; 1 ; "" ))] 変数を設定 [$er; 値:iill_SMTP_setBody_Add( "html" ; $html )/*plain,html*/] End If If [$er ≠ 0] フィールド設定 [MMPSLib::gER; MMPSLib::gER & If ( IsEmpty ( MMPSLib::gER ) ; "" ; "¶" ) & Get ( スクリプト名 ) & "|" & $er] End If |
1.1
2013/11/12|MMPSLib Ver.1.1 ■MMPSLib::smtp_SSLが空欄の場合、送信エラーとなるため、 空欄の時に「0」を設定するように修正。 ファイル:MMPSLib.fp7(.fmp12) スクリプト名:Set_SmtpSetting(account,password,server,port,ssl) 修正前 フィールド設定 [MMPSLib::smtp_SSL; $ssl] 修正後 フィールド設定 [MMPSLib::smtp_SSL; If ( IsEmpty ( $ssl ) or $ssl = 0 ; 0 ; 1 )] ■Ccの処理が出来ていなかったので追加。 ファイル:MMPSLib.fp7(.fmp12) スクリプト名:lib_Set_Cc スクリプト名:Send に スクリプト実行 [「lib_Set_Cc」] を追加。 |
1-2 of 2