ちょいと時間が出来たので、WordPressをアップデートしました。
久々のアップデートということで、機能が大幅アップしてますよ!
以前のバージョンでは苦労した設定が、ちょちょいと設定出来ちゃうんですよね。
これなら、ホント簡単にサイト構築ができるのでWordPressお勧めですよ!
ちょいと時間が出来たので、WordPressをアップデートしました。
久々のアップデートということで、機能が大幅アップしてますよ!
以前のバージョンでは苦労した設定が、ちょちょいと設定出来ちゃうんですよね。
これなら、ホント簡単にサイト構築ができるのでWordPressお勧めですよ!
前回のメール送信の続きです。
ネットで拾ったサンプルコードに『波ダッシュ化け問題』の対応を追加しました。
元コードを変更したのでjp_mailer.rbというファイル名に変更してあります。
ファイル名:#{RAILS_ROOT}/lib/jp_mailer.rb
説明:メールのエンコード・デコード処理
require 'nkf'
class JpMailer
# MIME Encode
def self.mime_encode(str_utf8)
str_iso2022jp = NKF.nkf("-W -j -m0 --cp932'", str_utf8)
str_base64 = [str_iso2022jp].pack('m').chomp
"=?iso-2022-jp?B?#{str_base64}?="
end
# MIME Decode
def self.mime_decode(str_mime)
NKF.nkf('-J -m --utf8', str_mime)
end
# bodyをiso-2022-jpへ変換
def create!(*)
super
@mail.body = NKF.nkf("-W -j --cp932'", @mail.body)
return @mail
end
end
次に、Generatorを使ってモデル名・ビュー名をmailでMailerを生成しました。
以下のファイルが生成されます。
create app/models/mail.rb
create app/views/mail/mail.rhtml
create test/fixtures/mail/mail
create test/unit/mail_test.rb
それぞれのファイルの内容は以下の通りです。
ファイル名:#{RAILS_ROOT}app/views/mail/mail.rhtml
概要説明:送信メールのテンプレートです。下記のモデル内メソッド名def mail()と同名で作成します。
--------------------------------- 受付時刻: < %= @now %> 件 名: < %= @subject %> --------------------------------- テストメール送信です。
ファイル名:#{RAILS_ROOT}/app/models/mail.rb
概要説明:メール送信に関する情報を設定しています。
継承元ActionMailer::BaseをJpMailerに変更します。
class Mail
def mail()
recipients "TOメールアドレス"
from "# {JpMailer.mime_encode('FROM送信者です')}< (Fromメールアドレス)>"
subject JpMailer.mime_encode("テストメ〜ルです。")
body :now=>Time.now, :subject=>subject
end
end
最後に呼び出し方法ですが、コントローラーなどでメールを送信するタイミングで以下のメソッドをコールします。
Mail.deliver_mail()
Windwos版 NetBeans ではコンソール出力が文字化けします。(Ver.6.1 RC1現在)
以下の設定を追加することで文字化けが解消します。
保存してNetBeansIDEを起動すると設定が有効になります。
追記:
Ver.6.1 RC1では、上記設定でも文字化けが発生しました。
最新のVer.6.5であれば、上記設定で文字化けが解消できるようです。
早速、BackgrounDRbを使用してみました。
使用手順は以下の通りです。
※BackgrounDRb Version 1.0.1の設定方法は、HDEラボさんのところで分かりやすく説明してありました。
Rails環境のみ(cronなどを使用しない)で周期的に処理を実行したい。
ざっと調べた感じでは、実装したい内容により次の2つを使い分ければよい感じです。
・periodically_call_remote/Ajaxヘルパー
Ajaxを使って周期的にメ ソッドを実行するようです。
・BackgrounDRb/Railsプラグイン
リクエストとは別のスレッドで処理を行なうプラグ インのようです。
この2つに関しては、引き続き調査したいと思います。
通常セッションデータは、サーバーにファイルで保存されます。
以下の設定を変更する事でDBに保存することが出来ます。
ファイ ル:environment.rb
ファイル内から次の行を探し、コメ ントを外します。
#config.action_controller.session_store = :active_record_store
次に、rake db:sessions:createを実行します。
正常にrakeが完了すると次のファイルが作成されます。
ファ イル:db/migrate/009_add_sessions.rb
(セッションデータ保存テーブル)
あ とは、データーベースマイグレーションで現在のバージョンにする事でDBにセッションデータが保存されるようになります。
※environment.rbを更新していますので、サーバーが起動中であれば設定を有効にする為に再起動します。
Railsでメールを送信するには、以下の設定が必要なようです。
ファイル:environment.rb の最後に以下の内容を記述します。
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.default_charset = "iso-2022-jp"
ActionMailer::Base.smtp_settings = {
:address => "<サーバーアドレス>",
:port => 25,
:domain => "<ドメイン名>",
:authentication => :login,
:user_name => "<ユーザー名>",
:password => "<パスワード>"
}
※備考
ActionMailer::Base.delivery_method = (:smtp or :sendmail or :test)
:smpt smtpを使ってをメール送信する(ActionMailer::Base.smtp_settings が必要)
:sendmail sendmailを使ってをメール送信する
:test test用で実際には送信しない
ActionMailer::Base.perform_deliveries = (true or false)
true メールを送信する
false メールを送信しない
ActionMailer::Base.raise_delivery_errors = (true or false)
true メール送信エラー発生時に例外を発生する
false メール送信エラー発生時に例外を発生しない
ActionMailer::Base.default_charset = (“utf-8″ or “iso-2022-jp” or etc.)
メールで使用するキャラクタセット
WordPress移行に伴い、長らく公開を中止していた「チカチカ」が復旧いたしました。
暇があるときにでも、マウスでプチプチとクリックしてやってください。
「ちょこゲー.TV」でもゴーレムンが公開されました。
「ちょこゲー.TV」とは、Shockwave社が提供しているサイトです。
FlashのコンテンツをWiiやPS3のブラウザで見やすい形式に調整したサ イトです。
私もWiiでゴーレムンをプレイしましたがマウスと違って中々難しかったです。
みなさんも、TVでゴーレムン試してみてくださいね。