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; } }