YiiMail
は、smtp の有無にかかわらずメールを送信するための利用可能な拡張機能です。これは、ラップする電子メール拡張機能ですSwiftMailer
。この拡張機能を使用すると、ビュー ファイルから電子メールを作成することもできます。ここからダウンロード
構成ファイルのコンポーネント セクションに以下のコードを含めます。
'mail' => array(
'class' => 'application.extensions.yii-mail.YiiMail',
'transportType'=>'smtp',
'transportOptions'=>array(
'host'=>'smtp.googlemail.com',
'username'=>'test@gmail.com',//
'password'=>'passwd',
'port'=>'465',
'encryption'=>'ssl',
),
'viewPath' => 'application.views.mail',
'logging' => true,
'dryRun' => false
),
そして、コントローラーアクションセクションでは、以下のようなものを使用します
$message = new YiiMailMessage;
$message->view = 'registrationFollowup';
//userModel is passed to the view
$message->setBody(array('userModel'=>$userModel), 'text/html');
$message->addTo($userModel->email);
$message->addBcc('someone@gmail.com');
$message->from = Yii::app()->params['adminEmail'];
Yii::app()->mail->send($message);
ビューregistrationFollowup
はビュー フォルダー内のメール フォルダーにあり、ビュー パスは構成ファイルから理解されます ( 'viewPath' => 'application.views.mail'
)