投稿

ラベル(Office 2011)が付いた投稿を表示しています

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

MacのExcel 2011でCSVを吐く

久々にハマったので… 開発中のシステムのDBを修正するのに、CSVでダウンロード→CSVでアップロードという流れになりました。 そこで、実際にテストを行ってみたものの、どうもおかしい。 なぜかアップロード時に、うまくデータが読めていないようなのだ。 その旨、連絡した所、他の環境では発生しないという。 そこで、こちらがダウンロードしたデータと、EXCELで開いて保存したデータをメールで送る。  ダウンロードしたデータは、システムに喰わせても問題ない。一旦開いて保存したものはエラーになる。  ところが、メールを受け取った仲間の環境では、問題が置きないという。????? こちらの環境の問題か?と思い、先ほどのEXCELで保存したcsvを仮想マシンのWindows上からシステムに喰わせるが、相変わらずエラーになる。  念のため、ブラウザを変更し、chrome/Firefoxなどでも試す。全滅。 Andoroid上のから、試すも同じようなエラーが出る。 ということは、システムの問題か?と疑うが、誰もエラーにならないという。 そこで、向こうで同じ条件でデータを吐き出し、更新可能なデータを送ってもらう。 パッと見は同じ。 diffでチェック とりあえず、こちらから送ったデータと、向こうから来たデータをdiffで確認。 全く同一だ。 バイナリエディタで確認 次は、 $ od -h a.csv > a.txt $ od -h b.csv > b.txt  とコードに置き直して、これでdiffってみる。  明らかに途中から違う。  念のため、od -c a.csv なんかで確認すると・・・。¥r ¥n と書いてある。はっ! 気付けば簡単 もうここまでくれば、明らか。 改行コードが違うのだ。 php側では、¥rのみを改行と認識していないため、次行を継続して読み込む。 当然フォーマットが合わないので、アウト。 なぜ、他の環境でエラーにならないのかを検証。 OS Office csv改行コード Windows7 Excel 2013 CR+LF Mac OS X Yosemite Excel 2011 CR そう、Mac 上のExcelはLegacyな改行コードを吐いてくれる