CakePHP::Simple SMTP Mailer ja(メール送信+日本語対応)

7月 10th, 2007 admin Posted in CakePHP, PHP |

CakePHPでのメール送信のコンポーネントを探してみたんだけど無いので今日もthe Bakeryから適当なソースを探してきた。

メール送信についてはSwiftMailer Componentってやつのほうが有名っぽいんですが、どちらかというとmail()関数のラッパーを探しているだけなのでSimple SMTP Mailerというコンポーネントを使い、かつ日本語にも対応してみた。というかCakePHP1.2以降では標準でメール送信の仕組みがあるらしい。1.2にしようかな・・・

ダウンロード

SwiftMailer Component の日本語版
mailer.zip

変更箇所

  • ヘッダ・本文を日本語用にJISにエンコード

使用方法

1.ファイルを配置します。(/app/controllers/components/mailer.php)
2.mailer.php内の$fromと$fromnameを自分用に書き換えます
3.コントローラーで読み込み、送信します。
users_controller.php

class UsersController extends AppController {
    var $components = array("Mailer");
    function mypage(){
        $this->Mailer->AddAddress("日本タロウ","tarou@example.com");   //送り先1
        $this->Mailer->AddAddress("日本ハナコ","hanako@example.com");//送り先2

        $this->Mailer->Subject = "日本語のタイトル";
        $this->Mailer->Message = "日本語の本文";
        $this->Mailer->socketmail(); 	//送信
	}

}

以上でOK。メール本文の雛形をビューからもってくるか、DBからもってくるか、テキストからもってくるか悩み中。どうするのが多いんだろうか。

Leave a Reply