+ 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",
"require": {}
"require": {
"phpmailer/phpmailer": "^6.1",
"twilio/sdk": "^6.4"
}
}

View File

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

View File

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

View File

@ -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 {

View File

@ -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