Windows Live Mailはサポート切れ~MailStore HomeでOutlookに移行する方法を紹介

Windows Live Mailは無償で使用出来るWindows版メーラーとして、過去のOutlook Express等の流れから多くのユーザーに使われてきたアプリですが、マイクロソフト社がサポートを終了してから結構な日数が経過してしまいました。

私がサポートしているユーザーは、未だにWindows Live Mailを使用しているケースが多く存在しますが、ここ数ヶ月で謎の不具合(トラブル)が続出しており、ネットで検索してみると同種のトラブル事例は沢山上がっている様です。もはやWindows Live Mailは使うべきでは無いアプリだと言い切って良いと思います。多くのメールをアーカイブする用途のメーラーとしてはもはや使えないアプリです。

移行先メーラーは?

Windows Live Mailを使用しているというからには、WindowsプラットフォームでPCを使用している人と言い切って良いと思います。それを大前提として話を進めます。

WindowsプラットフォームでPCを使用している人の多くは、マイクロソフト社のOfficeを使用していると思います。特に日本製のPCを使っている場合は、購入時からプレインストール版のOfficeがインストールされていたと思います。日本で展開されているOfficeの最下位ランク「Office Personal」にもOutlookはパッケージングされていますので、移行先をOutlookにすることを前提とします。

ちなみに私はMozilla Thunderbirdを使っています。この方法はWindows Live MailからThunderbirdに移行する場合にも応用できます。

続きを読む

EC-CUBEからカラーミーへ引っ越し~商品ページをRewriteEngineで転送

EC-CUBEを使用しているクライアントより、カラーミーへの移転相談がありました。これを機会に全ページSSL対応させたいとのことです。ECサイトにとってはSSL化は急務なのかも知れません。

まずはそれぞれのECサイト用エンジンの違いについて把握しておく必要があります。

  • EC-CUBEの商品ページURL

http://example.com/products/detail.php?product_id=100

  • カラーミーのURL

https://example.shop-pro.jp/?pid=100000001

調べた限りでは、カラーミーへの商品登録時には商品IDは自動採番されるらしく、任意の番号を付与することが出来無さそうです。面倒ですが商品個別のリダイレクトを定義して、適切なページに転送させる必要がありそうです。

確実な方法としてApache modrewriteを使って301リダイレクトを行う検証をしてみました。既にこのEC-CUBEのサイトは運用年数も長くそれなりのSEO評価を得ているので、適切にリダイレクトしてやればその評価を継承できます。

幸い.htaccessによるmod_rewriteエンジンが使用出来ることは確認済みです。

EC-CUBE側のサイトで、productsディレクトリに.htaccessファイルを配置していくつかの転送指示を記してみました。今回はQUERY_STRINGを使いました。

EC-CUBE側の商品アドレスにアクセスすると、カラーミー側の新商品ページに転送されることが確認出来たので手応えとしては良さそうです。

上の例ではEC-CUBE側でproduct_idが134、140、199の3商品のみを転送する例ですが、商品数が50以上あるので、それぞれについての転送を記述しなくてはならず、それだけこの.htaccessのサイズ肥大が気がかりではあります。

続きを読む

当サイトをSSL(HTTPS)対応~Let’s Encryptで証明書代金はかからず

昨今のWebサイトはセキュリティ意識のことからSSLが標準化されて来ていることもあり、重い腰を上げて本日(2016年11月24日)HTTPSでこのサイトを公開できるように修正しました。

やってみれば結果的にはもっと早くすればよかったと思えるものです。コンテンツ内のリンクがHTTPで張られているものは、SQLの置換で一気に修正出来ましたので、WordPressはこういう時に便利だとURL変更の度に実感しています。。

肝心の、SSL証明書はドメイン認証で十分ですし、S-Factoryとしての活動は休止していることもあり、無料で認証して頂けるLet’s Encryptを使用してみる事にしました。Let’s Encryptによる認証は証明書の有効期限が90日という制限があるので、期限切れになる前に更新しなくてはなりませんが、比較的簡単ですし、自動化も出来るので、サーバーを自分でいじれる人ならさほどハードルは高く無いと思います。

要点としては

  • サブドメインも個別に証明書が必要(一緒に更新出来る)
  • 同一ドメイン(サブドメイン)内のコンテンツに、非SSLコンテンツ(画像とか)が含まれていると「https」と「http」が混在となるので安全な接続とはみなして貰えない。
  • 当然ながら外部リンク先はhttpでも可

これくらいでしょうか。

Webサーバ-のSSL対策後は「Qualys SSL Labs」でチェックさせて頂きA+の結果を得られました。

sss-report

続きを読む

大量のtiff画像のプリントアウト

大量のTIFF画像をプリントアウトする処理で、PCがハングアップする問題に遭遇した。JPEGなら問題無く100枚以上の画像をプリントアウト出来るのに、TIFF画像はPCに異常な負荷がかかるらしい。

いちいち手作業で印刷を実行してられないので、バッチ処理(自動)で済ませたい。
画像系アプリ経由でプリントアウトする方法を手っ取り早く調べてみたところ、IrFanViewというアプリがコマンドからの指定でプリントアウト出来ることが分かった。

“C:\Program Files\IrfanView\i_view64.exe” 1-00101-01.tif /print=”Printer Name”

IrFanViewのPATHと、対象ファイル名、プリンター名の指定のみ。

テスト的にPC上で検証してみたかったので、DocuWorks Printerを指定してみたら1ページずつになるが思い通りに印刷処理が出来ることを確認した。

べた打ちのBATファイルだとこんな感じ

“C:\Program Files\IrfanView\i_view64.exe” 1-00101-01.tif /print=”DocuWorks Printer”
“C:\Program Files\IrfanView\i_view64.exe” 1-00101-02.tif /print=”DocuWorks Printer”
“C:\Program Files\IrfanView\i_view64.exe” 1-00101-03.tif /print=”DocuWorks Printer”

対象画像ファイル名をリストにして、外部リストを読み込むようにBATファイルを作っても良いかも知れない。

for /f “delims=” %%a in (list.txt) do (
“C:\Program Files\IrfanView\i_view64.exe” %%a /print=”DocuWorks Printer”
)

DocuWorksは印刷直前のお膳立てをするのに非常に便利。
とりあえずこれで目的は達成出来たので備忘録。

IPアドレスからホスト名を調べたい~BATファイルを実行してもらう

遠隔地の拠点でネットワークトラブルがあり、ログを収集したところIPアドレスは記録されている事が分かった。しかしIPアドレスの割当はDHCPで行っており、また複数の会社で共同利用しているネットワークなので、接続されているPCを把握出来ていない。

ログの収集と同じタイミングで、NBTSTATコマンドを実行して調査をすれば当該IPアドレスのホスト名を突き止めることが出来るが、拠点のユーザーにはあまり手間をかけさせたくないので、BATファイルを作ることにした。

実行するコマンドを記したBATファイル

対象とするIPアドレスをリスト

この2つのファイルを、デスクトップに置いて、BATファイル(load-list.bat)を実行してもらう。するとデスクトップに「logfile.txt」というコマンドの実行結果が得られる。

BATファイルの置き場所(PATH)を自動的に認識させる方法もあったと思うが、面倒なので「デスクトップ」に置いて実行という条件のもとに簡単に作成した。

処理的には一切複雑な事をせず、洗練されていないのでコマンドを実行した結果がログファイルに記されるだけ。それでも遠隔地で(リモート操作は制限されているので不可)実行したいコマンドを簡単に処理させてもらえるので、ユーザーにも指示(依頼)しやすく、こちらとしても知りたい結果が得られる。

実行(収集)結果は電子メールに添付して送り返して貰った。

BATファイルで別ファイル(リスト)を読み込む手法は、応用が利くので利便性は高いと思われる。カンマ区切りにも対応出来るので、詳しくはbatファイル内でfor文を使う事例を検索すると良いでしょう。

私はプログラマーでは無いので複雑な事よりも、手早く結果がえられるシンプルさを優先します。リストからIPアドレスを一行ずつ読み込んで変数に取り込んで実行するだけのループ処理でも十分使えると思っています。