From 700947619e16d4798edd6399ee001716f29617c1 Mon Sep 17 00:00:00 2001 From: Djery-Tom Date: Mon, 18 May 2020 15:51:32 +0100 Subject: [PATCH] + Fix mail sender --- composer.json | 5 +++- database.old/Requester.php | 10 +++---- database/Requester.php | 60 +++++++++++++++++++++++++------------- interacted/Messenger.php | 47 ++++++++++++++++++++++++----- interacted/testSMS.php | 2 +- 5 files changed, 90 insertions(+), 34 deletions(-) diff --git a/composer.json b/composer.json index fc44700..33def63 100644 --- a/composer.json +++ b/composer.json @@ -1,4 +1,7 @@ { "name": "ilink/backend", - "require": {} + "require": { + "phpmailer/phpmailer": "^6.1", + "twilio/sdk": "^6.4" + } } diff --git a/database.old/Requester.php b/database.old/Requester.php index 4fe32ce..9735e60 100644 --- a/database.old/Requester.php +++ b/database.old/Requester.php @@ -264,7 +264,7 @@ class Requester $headers = "From:" . $from; $name = "ilink"; - $this->messenger->setMail($user['email']); + $this->messenger->setReceiverMail($user['email']); $this->messenger->setContact($user['phone']); $this->messenger->setMessage($user['category']=='super'?$message2:$message1); $this->messenger->setSubject($subject); @@ -413,7 +413,7 @@ class Requester $this->messenger->setHeader($headers); $this->messenger->setContact($phone); $this->messenger->setMessage($message); - $this->messenger->setMail($email); + $this->messenger->setReceiverMail($email); $this->messenger->setSubject($subject); $this->messenger->sendMail(); try { @@ -618,7 +618,7 @@ na.id as agent_id,ds.id as demande_id FROM agents ag INNER JOIN networks_agents $headers = "From:" . $from; $name = "ilink"; - $this->messenger->setMail($user['email']); + $this->messenger->setReceiverMail($user['email']); $this->messenger->setContact($user['phone']); $this->messenger->setMessage($message1); $this->messenger->setSubject($subject); @@ -667,7 +667,7 @@ na.id as agent_id,ds.id as demande_id FROM agents ag INNER JOIN networks_agents $headers = "From:" . $from; $name = "ilink"; - $this->messenger->setMail($user['email']); + $this->messenger->setReceiverMail($user['email']); $this->messenger->setContact($user['phone']); $this->messenger->setMessage($message1); $this->messenger->setSubject($subject); @@ -747,7 +747,7 @@ na.id as agent_id,ds.id as demande_id FROM agents ag INNER JOIN networks_agents $this->messenger->setContact($phone1); $this->messenger->setMessage($message1); $this->messenger->setSubject($subject); - $this->messenger->setMail($agent['email']); + $this->messenger->setReceiverMail($agent['email']); if ($sms = $this->messenger->sendSms()) { $user['message'] = $sms; diff --git a/database/Requester.php b/database/Requester.php index 85fe81e..317f024 100644 --- a/database/Requester.php +++ b/database/Requester.php @@ -69,8 +69,12 @@ class Requester $this->messenger->setHeader($headers); $this->messenger->setMessage($message); $this->messenger->setContact($number); - $this->messenger->setMail($mail['email']); - $this->messenger->sendMail(); + $this->messenger->setReceiverMail($mail['email']); + try{ + $this->messenger->sendMail(); + }catch (Exception $e){ + return json_encode(error_get_last()); + } } } @@ -207,8 +211,12 @@ class Requester $this->messenger->setHeader($headers); $this->messenger->setMessage($message); $this->messenger->setContact($number); - $this->messenger->setMail($mail['email']); - $this->messenger->sendMail(); + $this->messenger->setReceiverMail($mail['email']); + try{ + $this->messenger->sendMail(); + }catch (Exception $e){ + return json_encode(error_get_last()); + } $this->messenger->sendSms(); // Stop Sending SMS @@ -257,8 +265,12 @@ class Requester $this->messenger->setHeader($headers); $this->messenger->setMessage($message); $this->messenger->setContact($number); - $this->messenger->setMail( $mail["email"]); - $this->messenger->sendMail(); + $this->messenger->setReceiverMail( $mail["email"]); + try{ + $this->messenger->sendMail(); + }catch (Exception $e){ + return json_encode(error_get_last()); + } //$this->messenger->sendSms(); // Stop Sending SMS @@ -409,14 +421,16 @@ class Requester $headers = "From:" . $from; $name = "ilink"; - $this->messenger->setMail($user['email']); + $this->messenger->setReceiverMail($user['email']); $this->messenger->setContact($user['phone']); $this->messenger->setMessage($user['category']=='super'?$message2:$message1); $this->messenger->setSubject($subject); $this->messenger->setHeader($headers); - if (!$this->messenger->sendMail()) { + try{ + $this->messenger->sendMail(); + }catch (Exception $e){ return json_encode(error_get_last()); - }; + } $sms = $this->messenger->sendSms(); @@ -439,8 +453,6 @@ class Requester } } - - } /** @@ -599,9 +611,13 @@ class Requester $this->messenger->setHeader($headers); $this->messenger->setContact($phone); $this->messenger->setMessage($message); - $this->messenger->setMail($email); + $this->messenger->setReceiverMail($email); $this->messenger->setSubject($subject); - $this->messenger->sendMail(); + try{ + $this->messenger->sendMail(); + }catch (Exception $e){ + return json_encode(error_get_last()); + } try { $this->messenger->sendSms(); }catch (Exception $e){ @@ -836,14 +852,16 @@ na.id as agent_id,ds.id,cg.code_membre as code_membre ,ds.id as demande_id FROM $headers = "From:" . $from; $name = "ilink"; - $this->messenger->setMail($user['email']); + $this->messenger->setReceiverMail($user['email']); $this->messenger->setContact($user['phone']); $this->messenger->setMessage($message1); $this->messenger->setSubject($subject); $this->messenger->setHeader($headers); - if (!$this->messenger->sendMail()) { + try{ + $this->messenger->sendMail(); + }catch (Exception $e){ return json_encode(error_get_last()); - }; + } $sms = $this->messenger->sendSms(); @@ -890,14 +908,16 @@ na.id as agent_id,ds.id,cg.code_membre as code_membre ,ds.id as demande_id FROM $headers = "From:" . $from; $name = "ilink"; - $this->messenger->setMail($user['email']); + $this->messenger->setReceiverMail($user['email']); $this->messenger->setContact($user['phone']); $this->messenger->setMessage($message1); $this->messenger->setSubject($subject); $this->messenger->setHeader($headers); - if (!$this->messenger->sendMail()) { + try{ + $this->messenger->sendMail(); + }catch (Exception $e){ return json_encode(error_get_last()); - }; + } $sms = $this->messenger->sendSms(); @@ -985,7 +1005,7 @@ na.id as agent_id,ds.id,cg.code_membre as code_membre ,ds.id as demande_id FROM $this->messenger->setContact($phone1); $this->messenger->setMessage($message1); $this->messenger->setSubject($subject); - $this->messenger->setMail($agent['email']); + $this->messenger->setReceiverMail($agent['email']); if ($sms = $this->messenger->sendSms()) { $user['message'] = $sms; diff --git a/interacted/Messenger.php b/interacted/Messenger.php index e5f6396..53e328a 100644 --- a/interacted/Messenger.php +++ b/interacted/Messenger.php @@ -8,9 +8,17 @@ error_reporting(E_ALL); ini_set('display_errors', 1); -include "../../vendor/autoload.php"; +//include "../../vendor/autoload.php"; use Twilio\Rest\Client; +// Import PHPMailer classes into the global namespace +// These must be at the top of your script, not inside a function +use PHPMailer\PHPMailer\PHPMailer; +use PHPMailer\PHPMailer\SMTP; +use PHPMailer\PHPMailer\Exception; + +// Load Composer's autoloader +require '../vendor/autoload.php'; class Messenger @@ -21,6 +29,7 @@ class Messenger private $subject; private $client; private $header; + private $receiverMail; const AccountSid = "ACacdb9c9601741af001ebbc7eca4969cd"; const AuthToken = "e0e2f1176c09b3980c9ecf967187191b"; const sender_name = "iLink World"; @@ -36,8 +45,21 @@ class Messenger { $this->contact = $contact; $this->message = $message; - $this->mail = $mail; + // Instantiation and passing `true` enables exceptions + $this->mail = new PHPMailer(true); +// $this->mail = $mail; $this->subject = $subject; + + //Server settings +// $mail->SMTPDebug = SMTP::DEBUG_SERVER; // Enable verbose debug output + $this->mail->isSMTP(); // Send using SMTP + $this->mail->Host = 'mail.ilink-app.com'; // Set the SMTP server to send through + $this->mail->SMTPAuth = true; // Enable SMTP authentication + $this->mail->Username = 'noreply@ilink-app.com'; // SMTP username + $this->mail->Password = 'ilink2017GA'; // SMTP password + $this->mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged + $this->mail->Port = 587; + try { $this->client = new Client(Messenger::AccountSid,Messenger::AuthToken); }catch (Exception $e){ @@ -66,7 +88,17 @@ class Messenger } } public function sendMail(){ - return mail($this->getMail(),$this->getSubject(),$this->getMessage(),$this->getHeader()); + //Recipients + $this->mail->setFrom('noreply@ilink-app.com', 'Ilink World'); + $this->mail->addAddress($this->getReceiverMail()); // Add a recipient + // Content +// $this->mail->isHTML(true); // Set email format to HTML + $this->mail->Subject = $this->getSubject(); + $this->mail->Body = $this->getMessage(); +// $this->mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; + + $this->mail->send(); +// return mail($this->getMail(),$this->getSubject(),$this->getMessage(),$this->getHeader()); } /** @@ -121,17 +153,17 @@ class Messenger /** * @return null */ - public function getMail() + public function getReceiverMail() { - return $this->mail; + return $this->receiverMail; } /** * @param null $mail */ - public function setMail($mail) + public function setReceiverMail($mail) { - $this->mail = $mail; + $this->receiverMail = $mail; } /** @@ -150,6 +182,7 @@ class Messenger $this->subject = $subject; } + public function checkPhoneExist($phone) { try { diff --git a/interacted/testSMS.php b/interacted/testSMS.php index c0d8d94..794ab91 100644 --- a/interacted/testSMS.php +++ b/interacted/testSMS.php @@ -25,7 +25,7 @@ header('Content-type: application/json'); // following the instructions to install it with Composer. error_reporting(E_ALL); ini_set('display_errors', 1); -require_once "../../vendor/autoload.php"; +require '../vendor/autoload.php'; use Twilio\Rest\Client; // Step 2: set our AccountSid and AuthToken from https://twilio.com/console