+ Fix mail sender

This commit is contained in:
Djery-Tom 2020-05-18 15:51:32 +01:00
parent 7a98382fac
commit 700947619e
5 changed files with 90 additions and 34 deletions

View File

@ -1,4 +1,7 @@
{ {
"name": "ilink/backend", "name": "ilink/backend",
"require": {} "require": {
"phpmailer/phpmailer": "^6.1",
"twilio/sdk": "^6.4"
}
} }

View File

@ -264,7 +264,7 @@ class Requester
$headers = "From:" . $from; $headers = "From:" . $from;
$name = "ilink"; $name = "ilink";
$this->messenger->setMail($user['email']); $this->messenger->setReceiverMail($user['email']);
$this->messenger->setContact($user['phone']); $this->messenger->setContact($user['phone']);
$this->messenger->setMessage($user['category']=='super'?$message2:$message1); $this->messenger->setMessage($user['category']=='super'?$message2:$message1);
$this->messenger->setSubject($subject); $this->messenger->setSubject($subject);
@ -413,7 +413,7 @@ class Requester
$this->messenger->setHeader($headers); $this->messenger->setHeader($headers);
$this->messenger->setContact($phone); $this->messenger->setContact($phone);
$this->messenger->setMessage($message); $this->messenger->setMessage($message);
$this->messenger->setMail($email); $this->messenger->setReceiverMail($email);
$this->messenger->setSubject($subject); $this->messenger->setSubject($subject);
$this->messenger->sendMail(); $this->messenger->sendMail();
try { 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; $headers = "From:" . $from;
$name = "ilink"; $name = "ilink";
$this->messenger->setMail($user['email']); $this->messenger->setReceiverMail($user['email']);
$this->messenger->setContact($user['phone']); $this->messenger->setContact($user['phone']);
$this->messenger->setMessage($message1); $this->messenger->setMessage($message1);
$this->messenger->setSubject($subject); $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; $headers = "From:" . $from;
$name = "ilink"; $name = "ilink";
$this->messenger->setMail($user['email']); $this->messenger->setReceiverMail($user['email']);
$this->messenger->setContact($user['phone']); $this->messenger->setContact($user['phone']);
$this->messenger->setMessage($message1); $this->messenger->setMessage($message1);
$this->messenger->setSubject($subject); $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->setContact($phone1);
$this->messenger->setMessage($message1); $this->messenger->setMessage($message1);
$this->messenger->setSubject($subject); $this->messenger->setSubject($subject);
$this->messenger->setMail($agent['email']); $this->messenger->setReceiverMail($agent['email']);
if ($sms = $this->messenger->sendSms()) { if ($sms = $this->messenger->sendSms()) {
$user['message'] = $sms; $user['message'] = $sms;

View File

@ -69,8 +69,12 @@ class Requester
$this->messenger->setHeader($headers); $this->messenger->setHeader($headers);
$this->messenger->setMessage($message); $this->messenger->setMessage($message);
$this->messenger->setContact($number); $this->messenger->setContact($number);
$this->messenger->setMail($mail['email']); $this->messenger->setReceiverMail($mail['email']);
$this->messenger->sendMail(); 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->setHeader($headers);
$this->messenger->setMessage($message); $this->messenger->setMessage($message);
$this->messenger->setContact($number); $this->messenger->setContact($number);
$this->messenger->setMail($mail['email']); $this->messenger->setReceiverMail($mail['email']);
$this->messenger->sendMail(); try{
$this->messenger->sendMail();
}catch (Exception $e){
return json_encode(error_get_last());
}
$this->messenger->sendSms(); $this->messenger->sendSms();
// Stop Sending SMS // Stop Sending SMS
@ -257,8 +265,12 @@ class Requester
$this->messenger->setHeader($headers); $this->messenger->setHeader($headers);
$this->messenger->setMessage($message); $this->messenger->setMessage($message);
$this->messenger->setContact($number); $this->messenger->setContact($number);
$this->messenger->setMail( $mail["email"]); $this->messenger->setReceiverMail( $mail["email"]);
$this->messenger->sendMail(); try{
$this->messenger->sendMail();
}catch (Exception $e){
return json_encode(error_get_last());
}
//$this->messenger->sendSms(); //$this->messenger->sendSms();
// Stop Sending SMS // Stop Sending SMS
@ -409,14 +421,16 @@ class Requester
$headers = "From:" . $from; $headers = "From:" . $from;
$name = "ilink"; $name = "ilink";
$this->messenger->setMail($user['email']); $this->messenger->setReceiverMail($user['email']);
$this->messenger->setContact($user['phone']); $this->messenger->setContact($user['phone']);
$this->messenger->setMessage($user['category']=='super'?$message2:$message1); $this->messenger->setMessage($user['category']=='super'?$message2:$message1);
$this->messenger->setSubject($subject); $this->messenger->setSubject($subject);
$this->messenger->setHeader($headers); $this->messenger->setHeader($headers);
if (!$this->messenger->sendMail()) { try{
$this->messenger->sendMail();
}catch (Exception $e){
return json_encode(error_get_last()); return json_encode(error_get_last());
}; }
$sms = $this->messenger->sendSms(); $sms = $this->messenger->sendSms();
@ -439,8 +453,6 @@ class Requester
} }
} }
} }
/** /**
@ -599,9 +611,13 @@ class Requester
$this->messenger->setHeader($headers); $this->messenger->setHeader($headers);
$this->messenger->setContact($phone); $this->messenger->setContact($phone);
$this->messenger->setMessage($message); $this->messenger->setMessage($message);
$this->messenger->setMail($email); $this->messenger->setReceiverMail($email);
$this->messenger->setSubject($subject); $this->messenger->setSubject($subject);
$this->messenger->sendMail(); try{
$this->messenger->sendMail();
}catch (Exception $e){
return json_encode(error_get_last());
}
try { try {
$this->messenger->sendSms(); $this->messenger->sendSms();
}catch (Exception $e){ }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; $headers = "From:" . $from;
$name = "ilink"; $name = "ilink";
$this->messenger->setMail($user['email']); $this->messenger->setReceiverMail($user['email']);
$this->messenger->setContact($user['phone']); $this->messenger->setContact($user['phone']);
$this->messenger->setMessage($message1); $this->messenger->setMessage($message1);
$this->messenger->setSubject($subject); $this->messenger->setSubject($subject);
$this->messenger->setHeader($headers); $this->messenger->setHeader($headers);
if (!$this->messenger->sendMail()) { try{
$this->messenger->sendMail();
}catch (Exception $e){
return json_encode(error_get_last()); return json_encode(error_get_last());
}; }
$sms = $this->messenger->sendSms(); $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; $headers = "From:" . $from;
$name = "ilink"; $name = "ilink";
$this->messenger->setMail($user['email']); $this->messenger->setReceiverMail($user['email']);
$this->messenger->setContact($user['phone']); $this->messenger->setContact($user['phone']);
$this->messenger->setMessage($message1); $this->messenger->setMessage($message1);
$this->messenger->setSubject($subject); $this->messenger->setSubject($subject);
$this->messenger->setHeader($headers); $this->messenger->setHeader($headers);
if (!$this->messenger->sendMail()) { try{
$this->messenger->sendMail();
}catch (Exception $e){
return json_encode(error_get_last()); return json_encode(error_get_last());
}; }
$sms = $this->messenger->sendSms(); $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->setContact($phone1);
$this->messenger->setMessage($message1); $this->messenger->setMessage($message1);
$this->messenger->setSubject($subject); $this->messenger->setSubject($subject);
$this->messenger->setMail($agent['email']); $this->messenger->setReceiverMail($agent['email']);
if ($sms = $this->messenger->sendSms()) { if ($sms = $this->messenger->sendSms()) {
$user['message'] = $sms; $user['message'] = $sms;

View File

@ -8,9 +8,17 @@
error_reporting(E_ALL); error_reporting(E_ALL);
ini_set('display_errors', 1); ini_set('display_errors', 1);
include "../../vendor/autoload.php"; //include "../../vendor/autoload.php";
use Twilio\Rest\Client; 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 class Messenger
@ -21,6 +29,7 @@ class Messenger
private $subject; private $subject;
private $client; private $client;
private $header; private $header;
private $receiverMail;
const AccountSid = "ACacdb9c9601741af001ebbc7eca4969cd"; const AccountSid = "ACacdb9c9601741af001ebbc7eca4969cd";
const AuthToken = "e0e2f1176c09b3980c9ecf967187191b"; const AuthToken = "e0e2f1176c09b3980c9ecf967187191b";
const sender_name = "iLink World"; const sender_name = "iLink World";
@ -36,8 +45,21 @@ class Messenger
{ {
$this->contact = $contact; $this->contact = $contact;
$this->message = $message; $this->message = $message;
$this->mail = $mail; // Instantiation and passing `true` enables exceptions
$this->mail = new PHPMailer(true);
// $this->mail = $mail;
$this->subject = $subject; $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 { try {
$this->client = new Client(Messenger::AccountSid,Messenger::AuthToken); $this->client = new Client(Messenger::AccountSid,Messenger::AuthToken);
}catch (Exception $e){ }catch (Exception $e){
@ -66,7 +88,17 @@ class Messenger
} }
} }
public function sendMail(){ 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 * @return null
*/ */
public function getMail() public function getReceiverMail()
{ {
return $this->mail; return $this->receiverMail;
} }
/** /**
* @param null $mail * @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; $this->subject = $subject;
} }
public function checkPhoneExist($phone) public function checkPhoneExist($phone)
{ {
try { try {

View File

@ -25,7 +25,7 @@ header('Content-type: application/json');
// following the instructions to install it with Composer. // following the instructions to install it with Composer.
error_reporting(E_ALL); error_reporting(E_ALL);
ini_set('display_errors', 1); ini_set('display_errors', 1);
require_once "../../vendor/autoload.php"; require '../vendor/autoload.php';
use Twilio\Rest\Client; use Twilio\Rest\Client;
// Step 2: set our AccountSid and AuthToken from https://twilio.com/console // Step 2: set our AccountSid and AuthToken from https://twilio.com/console