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