< | >

近寄りがたい文字化け問題はMbakerにお任せ
  • (2012-09-01 11:57:04)
なぜだか仕組みはわからないが、当社の場合はメールフォームから長文のテキストを送信すると、テキスト途中から文字化けしているということがある。

このソフトが助かる:

http://www.geocities.jp/belden_dr/ToolMBaker.html






< | >

Becky! メールアドレス抽出方法
  • (2012-09-01 05:53:12)
Becky!あるアカウント宛の全メールからメールアドレスだけを抽出する。

抽出ソフトはあまり出回っていない



こういう需要は多そうだが、検索してみてもフリーのソフトやアプリは見つからなかった。

抽出サイトは存在する



メルアドを抽出してくれるサイトはあった。

メールアドレスが含まれるテキスト文を挿入し実行ボタンを押すと抽出結果が出る模様。しかし、誰が何の目的で運営しているのか不明のサイトに、第三者のメルアドが含まれるデータを送ることはリスクが高いので近づかなかった。

(1)Becky!のデータをエクスポートする



エクスポートによって、ヘッダーもメール本文も含まれる平のテキスト文になる。文字コードは「JIS」のようだ。

このごちゃ混ぜのテキスト文からメルアド抽出。

(2)メールアドレスを正規表現で抽出する問題点



秀丸マクロや簡単なプログラムで抽出することができる。

ポイントはメールアドレスの正規表現。下記の表現では行単位だが、概ね抽出される。

.+@.+\..+

問題点は「@」が含まれる文字列には何にでも反応するので、無関係な文字列や特にシステム用のメールアドレスも抽出してしまうこと。かなりゴミが含まれることになる。

(3)ヘッダーの「From: 」文字列で検索・抽出



「From: 」の後にはメールアドレスがくるので、これを検索しながら追加コピーしていく方法。

(秀丸マクロ)

gofiletop;

//disabledraw;

//最初のメルアドを探してクリップボードにコピー(行単位)。

searchdown "^From: ",regular;

if(result!){

goto endmacro;

}else{

selectline;

copyline;

down;

}

//その後のメルアドを探してクリップボードに追加コピーしていく(行単位)。

while(1){

searchdown "^From: ",regular;

if(result!){

goto endmacro;

}else{

selectline;

appendcopy;

down;

}

}

endmacro:

//enabledraw;

message "終了";

endmacro;

(4)本文中のメルアド項目で検索・抽出



たとえば本文中に「●メール:」のような項目があってメールアドレスがあるのなら、それを検索しながら追加コピーしていく方法。

(秀丸マクロ)

上記マクロの「^From: 」を「^●メール:」に変更。改行がある場合は1つdown;を入れて改行の上、コピーを繰り返す。

gofiletop;

//disabledraw;

//最初のメルアドを探してクリップボードにコピー(行単位)。

searchdown "^●メール:\n",regular;

if(result!){

goto endmacro;

}else{

down;

selectline;

copyline;

down;

}

//その後のメルアドを探してクリップボードに追加コピーしていく(行単位)。

while(1){

searchdown "^●メール:\n",regular;

if(result!){

goto endmacro;

}else{

down;

selectline;

appendcopy;

down;

}

}

endmacro:

//enabledraw;

message "終了";

endmacro;

(5)重複メアドの削除



Excel → メニュー → 「データ」 → 「フィルタ」 →

「フィルタオプションの設定」 → 「重複するデータは無視する」 →

その部分をコピーすると重複なしのデータ

(6)複数の方法で抽出し、手作業で選別する



今回は上記(3)と(4)の方法で抽出し、Excel上で「=exact(A1,B1)」のような関数で比較しながらメールアドレスの精度を高める。

今回のトライアルでは「^From: 」での検索・抽出がもっとも精度のよい抽出方法だった。






< | >

写真を添付できるフォームメールclipmail
  • (2012-08-30 17:32:48)
写真た画像を添付して送信できるフォームメールが必要になった。はたと気づくと今まで使ったことがない。

ファイル添付フォームメールと普通のフォームメールは違う



画像はたしかメールで送られる場合、テキスト化する必要があるので、デコード用のモジュールが組み込まれたフォームメールが必要になる。

というわけで通常のフォームメールでは送信できないだろう。

検索では「ファイル添付フォームメール」で出てきた。

Clipmail



老舗のKENT-WEBさん、CLIP-MAIL(添付式フォームメール)を試す。

※設定方法・・・init.cgiを編集。基本的にShift-JISにて(utf-8でも動作するらしい)。写真のファイルサイズ制限は $cf{maxdata} = 2048000; #約2MB。プロバイダーの添付ファイルサイズ制限内にて。

※設定方法・・・理由は不明だが、htmlファイルとcgiファイルは同じフォルダー内に。

※トラブル・・・ファイルのパーミッションはマニュアルに比較的忠実に従う。理由は不明だが、わからないので「777」にしてもうまく動作せず。

※トラブル・・・なぜか cgi-bin の下では動作せず。

※トラブル・・・下記のエラーメッセージ表示。

「Software error:MIME::Base64 object version 3.07 does not match bootstrap parameter 3.13 at ・・・」

何が起きているか、わからない。検索すると同じ人がたくさんいて、とにかく「clipmail/lib/MIME/Base64.pm」を削除することと書かれている。「MIME」フォルダーを削除することという記事もある。

わからないがやってみたら動作した。






< | >

Access メルアドの字数50字から100字へのプロパティ変更
  • (2012-08-22 11:04:58)


メルアドの字数制限



「おてがる通販」(旧)の最初にメールを取り込むテーブル(「05受信メールデータ」「07メール履歴データ」など)ではメールアドレスの字数を100字でフィールドが切られているが、解析後の格納テーブル「01受信データ」「03顧客情報データ」ではメールアドレスの字数を50字以内に設定されている(これははるか以前、自分で設定した可能性がある)。

それで、半角50字以上のメールアドレスがくるとエラーとなって全体が落ちるトラブルが発生する。

100字以上なら、取り込みもダメで、50字以上100字以下なら、取り込みOKで、解析でエラーとなると推測される。

このエラーは以前からメールアドレスの字数制限に起因することはわかっていたが、フィールドサイズを変更するとAccessが肥大化することは懸念されるため今まで無視してきた。

そもそも50バイトを超えるメルアドの人など千人に一人もいないので、それほど問題は表面化しない。

本日、このトラブルでついにサイズ変更を実施。

「01受信データ」「03顧客情報データ」のメールアドレス50字 → 100字

Accessテーブル プロパティ変更のエラー



メルアドのフィールド字数を50 → 100で「ディスクの空き領域またはメモリが不足しています」となってエラー。

検索するとレジストリで「maxlocksperfile」サイズを上げよという教えが。意味不明ながら「9500」 → 「20,000」にしてみた。 → OK

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet4.0

肥大化しなかったフィールドのサイズ変更



メルアドのフィールドは4カ所程度。30万件以上のレコードに適応された。

全部変更して50MBくらい大きくなった。

しかし、最適化をかけるともとに戻った。つまり、データベースの肥大化は発生しなかった。

理論的に正しいのかな?予想外だった。早くやればよかった。






< | >

システムディスクのSSD化でPC高速化
  • (2012-08-19 11:43:42)
繁忙期を迎えるにまえに、PC(HP dx7300)の高速化を計画。

できる対策は下記部品の入れ替え

・高速HDD

・高速CPU

・高速メモリ

検討案



・HDD交換:回転数が高くキャッシュサイズ64MBなど・・・それほど期待できないだろうな。それよりSSDを導入するか。

・CPUのオーバークロック:HPのPCは基本的にBIOSから電圧やクロック数設定の項目が抜かれているのでできない。

・CPU交換:Core 2 Duo E6300 1.8Ghz 1Mキャッシュ→ E6600 2.4Gz 4Mキャッシュ・・・それほど期待できないだろうな。CPUはイメージほどには体感速度に影響しないことが多い。

・メモリ交換:DDR2 → DDR3・・・体感できるほどではないだろう。そもそも私のPCはDDR3に対応していないはず。

実施



起動HDDをSSD(120GB)に変更してデータベースなど重いものを起動HDDに乗せる。

SSDインストールでトラブル



・Intel SSDをAmazonで購入。8千円。安くなったものだ。

・EASEUS Disk Copyで現行HDDのイメージデータをそのまま乗せ換え(HDDを丸ごとコピーするEASEUS)ても良いが、今回はXPのクリーンインストールを行う。

・XP Pro SP1 → インストールの途中で止まり前に進まない。2回行い2回とも止まったのでトラブルの再現性確認。しかし、その時点で原電を切って入れ直すとインストールを継続するのでなんとかインスト完了。

・XP SP3(WindowsXP-KB936929-SP3-x86-JPN.exe)をMicrosoft社からダウンロード。これをまず入れないとMicrosoft社は相手してくれない。SP3インスト後、更新プログラム100個以上をインスト。

結果



・XPの起動は劇的に改善。

・データベースの動作・・・起動が早いし、全体として速い。

・通常のアプリケーション・・・起動が早いし、全体として速い。

通常のアプリケーションプログラムも普通はメモリーにロードして行うので、アプリそのものの動作速度は理論的に変化ないはずだが、アプリの起動が速いし、データの読み書きも速いので、全体として高速感を味わえる。

SSDインストールの注意点



・SSDは書き換え可能な回数に制限があるので、あまりtempファイルなどを作成しない方がよいといている人が多い →

(1)仮想メモリ止める

(2)OSのtempファイルをHDDへ

(3)メールをHDDへ

(4)ブラウザのキャッシュをHDDへ

(5)その他キャッシュをHDDへ

(6)デフラグをしない

(7)インデックスを付けない

・・・その他、SSDへの書き込みが頻繁に起こりそうなモノをすべて止めるか、HDDディスクへ流すかなどの設定をしておく。

SSDの書き換え寿命が気になる人はHDDのままで



要はせっかくSSDを導入しても別途HDDは取り付けておきたいということ。はっきりいって使えないな。SSDの書き換え寿命など気にする人はSSDにしない方がよいと言うことだろう。






search
layout
admin

[▲page top]