Friday, July 9, 2010

send user mail from mail table

$message = $this->EmailManager->get('register_mail_to_user');
if(!empty($message))
{
$this->User->id = $this->data['User']['id'];
$from = Configure::read('Site.email');
$to = $this->data['User']['email'];

$subject = $message['EmailManager']['subject'];

/*$url = Router::url(array(
'controller' => 'users',
'action' => 'activate',
$this->User->field('username'),
$this->User->field('activation_key'),
), true);*/

$url = SITE_URL."users/activate/".$this->User->field('username')."/".$this->User->field('activation_key');

//pr($url);
//$url = "Click";
//pr($url);

$massage_tag = array(
"[USERNAME]",
"[ACTIVATIONLINK]",
"[SITENAME]"
);
$massage_tag_value = array(
$this->data['User']['username'],
$url,
Configure::read('Site.title')
);

$body = str_replace($massage_tag,$massage_tag_value,$message['EmailManager']['message']);

//pr($body);
$this->Email->lineLength = 255;
$this->Email->sendAs = 'both';
$send_mail = parent::sendMail($to, $subject, $body , $from,1);
//pr($this->Email);
}

Send Mail Function :Cake

function sendMail($To, $Subject, $msg, $From, $smtp="1")
{
$this->Email->to = $To;
$this->Email->from = $From;
$this->Set("message", $msg);
$this->Email->subject = $Subject;
$this->Email->template = "default";
$this->Email->sendAs = 'both';

if($smtp == 1)
{
$this->Email->smtpOptions = array(
'port'=>'25',
'timeout'=>'30',
'host' => 'relay.airtelbroadband.in',
'username'=>$From,
'password'=>'octal123'
);
$this->Email->delivery = 'smtp';
}
$this->Email->delivery = 'smtp';

if($this->Email->send($msg))
{
return true;
}
else
{
return false;
}
}