• []
  • []
  •  
  • del.icio.us 
  •  
  • Yahoo!֥åޡϿ 

PRADO メール送信

PHP 求人 募集 Symfony CakePHP Smarty Ruby on Rails

PRADO メール送信 概要

私にとっても意外ではあったが、
PRADOにはまだメール送信機能が実装されていない。
(3.1.1現在)
5月頃のコミュニティでまだ実装どうするという議論がされているようで、
搭載されるのは当分先だと思われる。

以前、PRADOのコミュニティにてコンポーネントリポジトリというのが提案されました。
http://www.pradosoft.com/forum/index.php/topic,7938.0.html
今後コンポーネントはどんどん登録されていくと思いますが、
そこにあるSMailerモジュールを利用することでメール送信が可能になります。

PRADO SMailerインストール

リポジトリは以下の場所
http://svn.pradosoft.com/repos/components/Mail/SEmailer/

保存する場所をApplication.lib.SEmailerとすると、

 $ mkdir protected/emails
 $ cd protected/lib
 $ svn checkout http://svn.pradosoft.com/repos/components/Mail/SEmailer/trunk/src
 $ mv src SEmailer

メールのテンプレートを保管する場所のデフォルトがApplication.emailsなのでディレクトリを作っておく。

PRADO SMailerモジュール登録

application.xmlにモジュールを登録する。
/application.xml

<modules>
  <!-- ・・・・・ -->
  <module id="emailer" class="Application.lib.SEmailer.SEmailer"
   Type="Mail" CharSet="ISO-2022-JP" />
</modules>

PRADO SMailerサンプル

/protected/emails/Sample.tpl

<prop:Subject>メールテスト</prop:Subject>
 
<prop:EmailAddresses>
  <com:SEmailAddress Field="Sender"
    Address="sender@matrix.jp" Name="dozo" />
</prop:EmailAddresses>
 
<prop:HtmlContent>
  <body>
  <head><TITLE></TITLE></head>
  <body>
  HTMLメール本文
  </body>
  </html>
</prop:HtmlContent>
 
<prop:TextContent>
  テキストメール本文
</prop:TextContent>

/protected/pages/Mail.php

<?
 
class Mail extends TPage{
  public function onLoad( $param ){
    parent::onLoad( $param );
 
    $emailer = $this->appObj->getModule('emailer');
    $email = $emailer->createNewEmail('Sample');
    $email->getEmailAddresses()->add('Reciever', 'dozo@matrix.jp', 'dozo');
    $this->appObj->getModule('emailer')->send( $email );
 
  }
}

framework/prado/email.txt · 最終更新: 2007/08/06 08:28 by dozo