diff options
Diffstat (limited to 'public/app/extends/Send_mail.php')
| -rw-r--r-- | public/app/extends/Send_mail.php | 212 |
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 - - * ----------------------------------------------------------------------------- - */ |
