553 Invalid RFC821 mailbox specification

Mercury/32 で送信エラー

553 Invalid RFC821 mailbox specification

原因

宛先の書式が不完全でした。

ログをよ~く見てください。
ログ:553 Invalid RFC821 mailbox specification. to info@nusoft.jp localhost …
< と > で囲われていません。

対策

メールアドレスを囲ってあげます。
$mailto = “<” .  inputMailaddress .  “>”;

送信できました。

…他のMTAで怒られたことはないんだけどなぁ。

ActiveX コンポーネントはオブジェクトを作成できません。

Microsoft VBScript 実行時エラー エラー ‘800a01ad’
ActiveX コンポーネントはオブジェクトを作成できません。

従来のasp で、Server.CreateObject() できない。

原因

64ビット環境で、32ビットDLLを呼び出そうとした。

対策

IISの設定→該当アプリケーションプール→詳細設定

「32ビットアプリケーションの有効化」(デフォルトFalse) をTrueに!

メディア ファミリが正しい形式ではありません。SQL Server はこのメディア ファミリを処理できません・・・

SQLServerのバージョン番号

 
SQL Server 2000 539
SQL Server 2005 611
SQL Server 2008 655
SQL Server 2008 R2 661

下位バージョンでは、バックアップファイルをリストアできません。

エラーメッセージ例

  • メディア ファミリが正しい形式ではありません。SQL Server はこのメディア ファミリを処理できません・・・
  • バックアップされたデータベースのディスク上の構造はバージョン661のものです・・・このデータベースの復元またはアップグレードは実行できません。

 

SQLスクリプトを書き出して置いたほうが扱いやすいかも。2008以降に添付のManagement Studio であれば、「データスクリプトを作成」というオプションがあります。MySQLとかで作成するようなダンプファイルを一撃で作成することができますので、Management Studioだけでもインストールしておいたほうがいいです。

Windows7 でApache が起動できない場合 PID=4 System …

ほとんどの原因が、既に80番ポートを使用している場合だと思います。で、犯人のほとんどは Skype であるはず。ところが、原因がわからず困ってしまった場合...

apache_start.bat を実行するとこんなエラーが出ます。

make_sock: could not bind to address 0.0.0.0:80

コマンドプロンプトで

netstat -oan

とすると、80番ポートを使用しているPIDが分かります。
タスクマネージャーを起動し、該当のプログラムを確認し犯人を特定、停止する。(PIDが表示されていない場合は、表示メニューからPIDを追加)

これが常套手段ですが、今回の場合、PID=4 System 説明:NT Kernel&System ・・・さすがにこれは止められそうにありません。

Google先生にお伺いを立てると、原因の候補は次の通り。

  • Web Deployment Agent Service
  • SQL Server Reporting Service
  • Windows Remote Management
  • BranchCache

使用していないことを確認し、該当サービスを停止。80番ポートが使えるようになりました。

正規表現の文字列否定 例外付きの置換

.net framework 上での文字列置換です。

やりたいこと

| はマッチして欲しいけど、[|] はマッチして欲しくない。

答え

(?<!\[)\|(?!\])

文字列否定は結構厄介と、Google先生もおっしゃっていました。行錯誤の結果たどり着いた答え。.net framework では、ゼロ幅の否定的先読みアサーション、ゼロ幅の否定的後読みアサーション が使えます。このキーワードで検索してみてください。

参考

(?<!  ) 直前にこのパターンが現れないことを確認する
(?!   ) 直後にこのパターンが現れないことを確認する

SQLServer float の怪

SQLServer 2005, 2008 で確認。なんということでしょう!!  🙁

select cast(cast(55 as float) / cast(100 as float) * cast(100 as float) as int)
--> 55
select cast(cast(56 as float) / cast(100 as float) * cast(100 as float) as int)
--> 56
select cast(cast(57 as float) / cast(100 as float) * cast(100 as float) as int)
--> 56 なぬっ!?
select cast(cast(58 as float) / cast(100 as float) * cast(100 as float) as int)
--> 57 なぬっ!? 
select cast(cast(59 as float) / cast(100 as float) * cast(100 as float) as int)
--> 59
select cast(cast(60 as float) / cast(100 as float) * cast(100 as float) as int)
--> 60

最後にcast as int で丸めなければ期待通りの結果です。

結論!丸める可能性がある場合はfloatを使わない。

IEでMT管理画面のメニューが表示されない場合

MovableTypeの管理画面ですが、困ったことにIE9ではドロップダウンが表示されず、ブログの選択や各メニューにアクセスできません。

解決策!。最近のIEはレンダリングモード(IEの下位バージョン)が指定できます。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

この1行を、ヘッダに追加してあげましょう。

管理画面のヘッダーを出力しているファイルは
mt/tmpl/cms/include/header.tmpl
です。