IsSMTP(); // 0 = off, 1 = commands, 2 = commands and data, perfect to see SMTP errors $mail->SMTPDebug = 0; // enable SMTP authentication $mail->SMTPAuth = Config::get('EMAIL_SMTP_AUTH'); // encryption if (Config::get('EMAIL_SMTP_ENCRYPTION')) { $mail->SMTPSecure = Config::get('EMAIL_SMTP_ENCRYPTION'); } // set SMTP provider's credentials $mail->Host = Config::get('EMAIL_SMTP_HOST'); $mail->Username = Config::get('EMAIL_SMTP_USERNAME'); $mail->Password = Config::get('EMAIL_SMTP_PASSWORD'); $mail->Port = Config::get('EMAIL_SMTP_PORT'); } else { $mail->IsMail(); } // fill mail with data $mail->From = $from_email; $mail->FromName = $from_name; $mail->AddAddress($user_email); $mail->Subject = $subject; $mail->Body = $body; // try to send mail $mail->Send(); if ($mail) { return true; } else { // if not successful, copy errors into Mail's error property $this->error = $mail->ErrorInfo; return false; } } public function sendMail($user_email, $from_email, $from_name, $subject, $body) { if (Config::get('EMAIL_USED_MAILER') == "phpmailer") { // returns true if successful, false if not return $this->sendMailWithPHPMailer( $user_email, $from_email, $from_name, $subject, $body ); } if (Config::get('EMAIL_USED_MAILER') == "swiftmailer") { return $this->sendMailWithSwiftMailer(); } if (Config::get('EMAIL_USED_MAILER') == "native") { return $this->sendMailWithNativeMailFunction(); } } public function getError() { return $this->error; } }