Quantcast
Channel: Live News for Yii Framework
Viewing all articles
Browse latest Browse all 3375

[Wiki] Send mail using YiiMail extension

$
0
0

Introduction

Let me show a simpe example to send mail using YiiMail extension in 5 steps. It also includes any template view if required along with the content.

Step1: Download the extension from path 'http://code.google.com/p/yii-mail/downloads/list' .

Step 2: Place the extracted folder inside the extensions folder.

Step 3: Modify the config file main.php like below,

'mail' => array(
                'class' => 'ext.yii-mail.YiiMail',
                'transportType'=>'smtp',
                'transportOptions'=>array(
                        'host'=>'<hostanme>',
                        'username'=>'<username>',
                        'password'=>'<password>',
                        'port'=>'25',                       
                ),
                'viewPath' => 'application.views.mail',             
        ),

Hint: The view path points to '/protected/views/mail'.

Step 4: Import the extension in the main.php file .

'ext.yii-mail.YiiMailMessage',

Step 5: Controller function to send the mail.

public function SendMail()
    {   
        $message            = new YiiMailMessage;
           //this points to the file test.php inside the view path
        $message->view = "test";
        $sid                 = 1;
        $criteria            = new CDbCriteria();
        $criteria->condition = "studentID=".$sid."";            
        $studModel1          = Student::model()->findByPk($sid);        
        $params              = array('myMail'=>$studModel1);
        $message->subject    = 'My TestSubject';
        $message->setBody($params, 'text/html');                
        $message->addTo('yourmail@domain.com');
        $message->from = 'admin@domain .com';   
        Yii::app()->mail->send($message);       
    }
 test.php file
<html>
        <head>
        </head>
        <body>
            Dear <?php 
             echo $myMail->studentName;
             ?>
                <br>This is a test mail.
        </body>
       </html>

That's it. Run the code and mail is sent.


Viewing all articles
Browse latest Browse all 3375

Trending Articles