getSettings();
$mailConfig = $settings['email'];
$mail = new PHPMailer();
switch ($body['mail_task']) {
case 'TESTING':
$html = "
Hi! It's Fipamo!
" .
"It's just a test
" .
$body['content'];
$member = Session::get('member');
$mail->addAddress($member['email'], ''); //pull email address from current user
$mail->Subject = 'A test email';
break;
case 'SEND_SECRET':
$html = "Hi! It's Fipamo!
" .
'This is your secret key.
' .
'' .
$body['secret'] .
'
' .
'
Use this key to reset your password.';
$mail->addAddress($body['email'], ''); //pull email address from current user
$mail->Subject = "Shhhh! It's a secret!";
break;
default:
return $result = [
'type' => 'noMailService',
'message' => 'Mail task is undefined. What are you doing??',
];
break;
}
//set values based on current active protocol
switch ($mailConfig['active']) {
case 'option-smtp':
$mail->setFrom($mailConfig['smtp']['email'], 'System Email');
$mail->Host = 'playvicio.us';
$mail->Username = $mailConfig['smtp']['email'];
$mail->Password = $mailConfig['smtp']['password'];
break;
case 'option-mg':
$mail->setFrom($mailConfig['mailgun']['domain'], 'No Reply');
$mail->Host = 'smtp.mailgun.org';
$mail->Username = $mailConfig['mailgun']['domain'];
$mail->Password = $mailConfig['mailgun']['key'];
break;
default:
//no mail service
return $result = [
'type' => 'noMailService',
'message' => 'Mail is not configured. Handle that.',
];
break;
}
$mail->Body = $html;
$mail->IsHTML(true);
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
// Uncomment for debug info
//$mail->SMTPDebug = 4;
/* Finally send the mail. */
try {
$mail->send();
$result = ['type' => 'mailSent', 'message' => 'Message Away!'];
} catch (Exception $e) {
//echo $e->errorMessage();
$result = [
'type' => 'mailNotSent',
'message' => 'Message Not Away!',
'error' => $e->errorMessage(),
];
}
return $result;
}
}