[Zend Framework] Zend_Mail: 設定を application.ini にまとめる

Zend_Application のリソースプラグインを利用して、コントローラ内にあるメール送信のための設定情報を
application.ini にまとめます。
ZendFrameworkのバージョンは、1.12.3です。

[markdown]

参考サイトはこちら。

> – [利用できるリソースプラグイン – Zend_Application – Zend Framework](http://framework.zend.com/manual/1.12/ja/zend.application.available-resources.html)
> – [email – zend framework sending mail – Stack Overflow](http://stackoverflow.com/questions/7390332/zend-framework-sending-mail)

このようなコントローラだったとして、

“`php
public function sendmailAction() {
$mail = new Zend_Mail(‘ISO-2022-JP’);
$mail->addTo(‘to@test.com’);
$mail->setFrom(‘info@example.com’);
$mail->setSubject(‘Welcome to example.com’);
$mail->setBodyText(‘test’);
$config = array(‘port’ => 1025);
$smtp = new Zend_Mail_Transport_Smtp(‘127.0.0.1’, $config);
$mail->send();
}
“`

application.ini にリソースプラグインの設定を書き込む。
;のコメントアウトはsmtpサーバ認証が必要な場合に利用する。

追記:2013/06/15
[Zend\_Tool – zf を利用してプロジェクトを作成する | deadwood](https://www.d-wood.com/blog/2013/06/14_3929.html)

“`php:/application/configs/application.ini
;——————————————————————————
;; Email
;——————————————————————————
resources.mail.transport.type = smtp
resources.mail.transport.host = “127.0.0.1”
resources.mail.transport.port = 1025
;resources.mail.transport.auth = login
;resources.mail.transport.username = username
;resources.mail.transport.password = password
;resources.mail.transport.register = true
resources.mail.defaultFrom.email = info@example.com
resources.mail.defaultFrom.name = “My Site Name”
resources.mail.defaultReplyTo.email = info@example.com
resources.mail.defaultReplyTo.name = “My Site Name”
“`

コントローラは

“`php
public function sendmailAction() {
$mail = new Zend_Mail(‘ISO-2022-JP’);
$mail->addTo(‘to@test.com’);
$mail->setSubject(‘Welcome to example.com’);
$mail->setBodyText(‘test’);
$mail->send();
}
“`

スッキリ。

[/markdown]