2007/02/23

DNSサーバにて送信ドメイン認証SPF[Sender Policy Framework]レコードに対応



Ezwebへメールを送信した際に、以下のような返信メールを受け取った。(でもちゃんとメールは送信されていました・・・)

次のあて先へのメッセージはエラーのため送信できませんでした。

送信先メールアドレスが見つからないか、
送信先メールサーバの事由により送信できませんでした。
メールアドレスをご確認の上、再送信してください。

Each of the following recipients was rejected by a remote mail server.
--------------------------------------------------------------
Received-SPF: None (lsean.ezweb.ne.jp: 210.251.95.9 is neither permitted nor denied by domain of xxx.cc) client-ip=210.251.95.9;



調べてみるとなんだかSPFがどうのこうの・・・。

KDDI au: EZwebへメール送信する際の注意事項 > 送信ドメイン認証SPFレコードについて



というわけで、MTA/AntiSPAM/Sender ID を導入してみる - Pocketstudio.jp Linux Wikiを参考にDNSをSPF対応にしました。(Sender IDはまたの機会に・・・汗)


DNSの設定ファイルに以下のレコードを追加

                IN      TXT     "v=spf1 ip4:210.251.95.8/29 ~all"



check-auth@verifier.port25.comでのチェックもPASSした模様です。

※このアドレスに空メールを送信すると、チェック結果を返してくれます。

==========================================================
Summary of Results
==========================================================

mail-from check: pass
PRA check: pass
DomainKeys check: neutral (message not signed)


2007/02/16

ZABBIXでユーザーのMail設定はどこにある?



以前に、GIGAZINのフリーのサーバ、ネットワークなどの総合監視ソフト「ZABBIX」日本語版という記事をみて、「これはすごい」と思って早速社内サーバの監視に使用しています。

グラフ作成、各ノードの情報収集、異常検知、障害/復旧通知、詳細なアラート通知機能がZABBIX一本でできてしまうので非常に魅力的です。



障害等の通知はメールで通知したいのですが、なかなかその設定場所が発見できませんでした。

で、やっと設定場所を発見したのでメモしておきます。



設定[Configuration] > ユーザー[Users] で、設定するユーザ行/アクション列の「メディア」をクリック!

たったこれだけなのですが、この「メディア」という文字が通常のテキストと同じ黒文字だったため、クリックするという行為まで及ばなかったのです・・・「これはひどい」。



ユーザビリティって大切ですねぇ(笑)



参考:

ZABBIX Forums - Where to set an email address


2007/02/14

file_column and capistrano

Railsで画像ファイルをアップロードする場合、file_columnというプラグインがとても使えます。

このpluginは、画像のアップロード、保存、サムネイル作成といった面倒な処理を劇的に簡略化してくれます。


データベースにファイル名を保存するカラムを追加し、

add_column :entry, :image, :string


モデルで、file_column pluginを指定します。

class Entry < ActiveRecord::Base
file_column :image
end



この場合の保存先は、

public/[model_name]/[attribute_name]/[id]/[file_name].jpg

になります。


サムネイルを作成する場合は、次のようにします。

class Entry < ActiveRecord::Base
file_column :image,
:magick => {
:versions => {
:thumb => "50x50",
:midle => "100x100",
:large => "800x600"
}
}
end



この場合はそれぞれ、

public/[model_name]/[attribute_name]/[id]/[file_name].jpg

public/[model_name]/[attribute_name]/[id]/thumb/[file_name].jpg

public/[model_name]/[attribute_name]/[id]/midle/[file_name].jpg

public/[model_name]/[attribute_name]/[id]/large/[file_name].jpg

に保存されます。


ファイルをアップロードするには以下のhelperを使用します。

<%= file_column_field "entry", "image" %>


アップロードした画像を表示するには、以下のhelperを使用します。

<%= url_for_file_column "entry", "image" %>



サムネイルを表示するには、

<%= url_for_file_column "entry", "image", "thumb" %>




上記のように簡単に、非常に簡単に画像処理を扱えるようになるわけですが、capistranoでデプロイしている場合、画像の保存先がデフォルトのままだと、デプロイするたびに画像ファイルをコピーしなければなりません。

これではあんまりですが、ちゃんと回避策がありました。

file_columnのオプションに、root_pathというのがありまして、デフォルトの保存先を変更できます。

以下のように、capistranoが自動でリンクしてくれるsystemディレクトリに画像を保存するように指定すれば、いちいちコピーしなくてもよさそうです。

class Entry < ActiveRecord::Base
file_column :image,
:magick => {
:versions => {
:thumb => "50x50",
:midle => "100x100",
:large => "800x600"
}
},
:web_root => "system/files/",
:root_path => File.join(RAILS_ROOT, "public", "system", "files")
end




参考:

HowToUseFileColumn

2007/02/06

ExcelVBAでRoundUp、RoundDown


Excelでは、切り捨て、切り上げ、そして四捨五入といったことを、それぞれ、=ROUNDUP()、=ROUNDDOWN()、=ROUND()といった関数を利用して簡単にできます。

これらの関数は非常に便利で、よく利用します。


しかし、VBAでRoundUp(切り上げ)や、RoundDown(切り捨て)をする場合、VBAの標準関数にはこれらの関数はありません。


ですので、Excelのワークシート関数をVBAから呼び出して利用すると良いです。


Application.WorksheetFunction.RoundUp(y, -1)

注:ROUND(四捨五入)関数については、ワークシート関数とVBAとで、動作が異なるようです。

詳しくは、[XL2000]VBA の Round とワークシート関数 Round の違いをご覧下さい。