summaryrefslogtreecommitdiff
path: root/public/app/extends/Send_mail.php
diff options
context:
space:
mode:
Diffstat (limited to 'public/app/extends/Send_mail.php')
-rw-r--r--public/app/extends/Send_mail.php212
1 files changed, 0 insertions, 212 deletions
diff --git a/public/app/extends/Send_mail.php b/public/app/extends/Send_mail.php
deleted file mode 100644
index 52eab53..0000000
--- a/public/app/extends/Send_mail.php
+++ /dev/null
@@ -1,212 +0,0 @@
-<?php
-namespace app\extends;
-
-use PHPMailer\PHPMailer\PHPMailer;
-use PHPMailer\PHPMailer\SMTP;
-use PHPMailer\PHPMailer\Exception;
-
-
-class Send_mail
-{
- /** send_activation_code
- *
- * construct the envelope = [
- * email => user email
- * name => user full name
- * subject => subject
- * body => email message body
- * ]
- *
- * then send the email;
- *
- * @param $activator (array): [
- * email => user email,
- * name => user full name,
- * code => activation code
- * ]
- *
- * @return success_starus (boolean)
- *
- * TODO:
- * check for email templating:
- * + https://stackoverflow.com/questions/2391171/how-to-get-output-from-local-script-in-php
- * + https://stackoverflow.com/questions/171318/how-do-i-capture-php-output-into-a-variable
- */
- public static function send_activation_code($activator)
- {
- $activation_url = SITE_URL ."/account/activate?ticket=". $activator['code'];
- $envelope = [
- 'email' => $activator['email'],
- 'name' => $activator['name'],
- 'subject' => 'Εγγραφή στο Classroom',
- 'body' => "Χαίρετε,<br>
- το παρόν αυτοποιημένο email σάς έχει σταλεί
- γιατί έχει γίνει αίτημα εγγραφής σας στο Classroom.<br>
- <br>
- Όνομα επαφής: <b>". $activator['name'] ."</b><br>
- Email : <b>". $activator['email'] ."</b><br>
- <br>
- Για να ενεργοποιήσετε την πρόσβασή σας στο site
- θα πρέπει ακολουθήσετε τον παρακάτω σύνδεσμο:
- <a href=\"". $activation_url ."\">". $activation_url ."</a>.
- <br>
- <br>
- Μετά την ενεργοποίηση θα έχετε πρόσσβαση
- στο περιεχόμενο του site.<br>
- Μην απαντήσετε στο email,
- δεν υπάρχει φυσική επαφή η οποία να λαμβάνει τυχόν replies."
- ];
-
- switch (DEFAULT_MAIL_SERVICE) {
- case 'mailjet':
- $reply = self::send_mailjet($envelope);
- break;
-
- case 'phpMailer':
- $reply = self::send_phpMailer($envelope);
- break;
- }
-
- return $reply;
-
- }
-
-
- /** send phpMailer
- *
- * send email using phpMailer class;
- * optional SMTP server configuration;
- *
- * @param $envelope
- * @return success_starus (boolean)
- */
- public static function send_phpMailer($envelope)
- {
- $mail = new PHPMailer();
-
- # // setup smpt
- $mail->SMTPDebug = 3;
- $mail->IsSMTP();
- $mail->Host = MAIL_HOST;
- # $mail->SMPTAuth = false;
- $mail->SMTPSecure = MAIL_ENCRYPTION;
- # // $mail->Protocol = 'mail';
-
- $mail->Mailer = MAIL_MAILER;
- $mail->Port = MAIL_PORT;
- $mail->Username = MAIL_USERNAME;
- $mail->Password = MAIL_PASSWORD;
-
- // setup format
- $mail->CharSet = 'utf-8';
- $mail->IsHTML(true);
-
- // setup THE mail
- // --- -- -- - - -
- // It's important not to use the submitter's address as the from address
- // as it's forgery, which will cause your messages to fail SPF checks.
- // Use an address in your own domain as the from address;
- // put the submitter's address in a reply-to
-
- $mail->setFrom(NO_REPLY_EMAIL, MAIL_FROM_NAME);
- $mail->addAddress($envelope['email'], $envelope['name']);
- $mail->addReplyTo(REPLY_TO_EMAIL, MAIL_FROM_NAME);
- $mail->Subject = $envelope['subject'];
- $mail->Body = $envelope['body'];
-
- return (!$mail->send()) ? false : true;
-
- }
-
-
- /** send_mailjet
- *
- * send email using CURL mail-relay of Mailjet
- *
- * @param $envelope
- * @return success_starus (boolean)
- */
- public static function send_mailjet($envelope)
- {
- $body = [
- 'Messages' => [
- [
- 'From' => [
- 'Email' => REPLY_TO_EMAIL,
- 'Name' => MAIL_FROM_NAME
- ],
- 'To' => [
- [
- 'Email' => $envelope['email'],
- 'Name' => $envelope['name']
- ]
- ],
- 'Subject' => $envelope['subject'],
- 'HTMLPart' => $envelope['body']
- ]
- ]
- ];
-
- $ch = curl_init();
-
- curl_setopt($ch, CURLOPT_URL, "https://api.mailjet.com/v3.1/send");
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body));
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_HTTPHEADER, array(
- 'Content-Type: application/json')
- );
- curl_setopt(
- $ch,
- CURLOPT_USERPWD,
- MAILJET_APIKEY. ':'. MAILJET_SECRET
- );
- $server_output = curl_exec($ch);
- curl_close ($ch);
-
- $response = json_decode($server_output);
-
- return ($response->Messages[0]->Status == 'success');
-
- }
-
-
-
-}
-
-
-
-
-
-/** NOTE:
- * -----------------------------------------------------------------------------
- * (brainstorming)
- *
-
-Optimization per concept alternative technologies
---- -- -- - - -
-
-## Session
-File Session
-Database Session
-Redis Session
-Memcached Session
-
----
-
-## Cache
-File Cache
-Database Cache
-Redis Cache
-Memcashed Cache
-
----
-
-## Log
-File Log
-Database Log
-Log event to Slack
-Log event to Email
-
- * -----------------------------------------------------------------------------
- */