Skip to content

Instantly share code, notes, and snippets.

@pierot
Created October 24, 2013 11:28
Show Gist options
  • Save pierot/7135528 to your computer and use it in GitHub Desktop.
Save pierot/7135528 to your computer and use it in GitHub Desktop.
Mandrill usage
class Domain_Emailer
{
public static function registration($user, $with_coupon = false, $send = true) {
$lang = $user->language->lang;
self::set_language($lang);
Lang::load('email-registration.yml');
$data = array();
$data['lang'] = Session::get('language');
$data['subject'] = __('subject');
$data['email_token'] = $user->email_token;
$data['user'] = $user;
$view = \View::forge("emails/registration", $data, false);
if(!$send) {
return $view;
}
return self::send_email($user->email, $user->name(), $view, $data['subject'], $lang);
}
private static function send_email($to_email, $to_name, $view, $subject, $lang) {
$from_email = Config::get("email.from-email-$lang");
$from_name = Config::get('email.from-name');
$recipients = array(array('email' => $to_email, 'name' => $to_name));
try {
$result = MandrillMailer::send($from_email, $from_name, $recipients, $subject, $view->render());
Log::info('Email sent');
return true;
} catch(\MandrillMailerError $e) {
Log::error("Email sending failed [$to_email]" . $e->getMessage());
}
return false;
}
private static function set_language($lang) {
Session::set('language', $lang);
Config::set('language', $lang);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment