Initial import: Carteasy Shop (Dev-Stand)
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
<?php
|
||||
|
||||
use PHPMailer\PHPMailer\PHPMailer;
|
||||
use PHPMailer\PHPMailer\SMTP;
|
||||
use PHPMailer\PHPMailer\Exception;
|
||||
|
||||
class mail_tools {
|
||||
|
||||
function __construct($base_object)
|
||||
{
|
||||
$this->base_object = $base_object;
|
||||
}
|
||||
|
||||
function send_mail($subject, $message, $recipient = false, $logo = false, $recipients_from_db = false, $reply_to = false, $from_mail = false, $from_name = false, $attachments = false)
|
||||
{
|
||||
require 'phpmailer/Exception.php';
|
||||
require 'phpmailer/PHPMailer.php';
|
||||
require 'phpmailer/SMTP.php';
|
||||
$mail = new PHPMailer(true);
|
||||
|
||||
date_default_timezone_set("Europe/Berlin");
|
||||
$subject = utf8_decode($subject);
|
||||
$from_name = ($from_name) ? mb_encode_mimeheader(utf8_decode($from_name), "UTF-8", "Q") : false;
|
||||
|
||||
$recipients['to'] = ($recipient) ? $recipient : $global_mail_settings['mail_to']['global'];
|
||||
|
||||
$email = $this->base_object->config->shopConfiguration['system_email'];
|
||||
$from_mail = $this->base_object->config->shopConfiguration['system_email'];
|
||||
$host = $this->base_object->config->shopConfiguration['system_email_host'];
|
||||
$user = $this->base_object->config->shopConfiguration['system_email_user'];
|
||||
$pass = $this->base_object->config->shopConfiguration['system_email_password'];
|
||||
$from_name = $this->base_object->config->shopConfiguration['system_email_name'];
|
||||
$reply_to = $this->base_object->config->shopConfiguration['system_email_reply'];
|
||||
|
||||
// read css file
|
||||
$file_name = $this->base_object->layout->template_dir.'/../media/css/mail.css';
|
||||
$css = '';
|
||||
if (file_exists($file_name)) {
|
||||
$handle = fopen($file_name, "r");
|
||||
while (!feof($handle)) {
|
||||
$css .= fgets($handle,2);
|
||||
};
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
try {
|
||||
//Server settings
|
||||
$mail->SMTPDebug = SMTP::DEBUG_SERVER; // OUTPUT DEBUG
|
||||
$mail->SMTPDebug = 3;
|
||||
$mail->isSMTP();
|
||||
$mail->Host = $host;
|
||||
$mail->SMTPAuth = true;
|
||||
$mail->Username = $user;
|
||||
$mail->Password = $pass;
|
||||
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
|
||||
$mail->SMTPOptions = array(
|
||||
'ssl' => array(
|
||||
'verify_peer' => false,
|
||||
'verify_peer_name' => false,
|
||||
'allow_self_signed' => false
|
||||
));
|
||||
$mail->Port = 587;
|
||||
//Recipients
|
||||
$mail->setFrom($from_mail, $from_name);
|
||||
$mail->addAddress($recipients['to']);
|
||||
if ($reply_to)
|
||||
$mail->addReplyTo($reply_to, $from_name);
|
||||
if ($recipients['cc'])
|
||||
$mail->addCC($recipients['cc']);
|
||||
if ($recipients['bcc'])
|
||||
$mail->addBCC($recipients['bcc']);
|
||||
//Attachments
|
||||
if ($attachments != false)
|
||||
foreach ($attachments as $att)
|
||||
$mail->addStringAttachment($att->content, $att->file_name);
|
||||
//Content
|
||||
$mail->isHTML(true);
|
||||
$mail->Subject = $subject;
|
||||
$body = '<html><head><style type="text/css">' . $css . '</style></head><body>' . utf8_decode($message) . '<br /><br />' . utf8_decode($inline_message) . '<br />' . $inline_logo . '</body></html>';
|
||||
$mail->Body = $body;
|
||||
//$mail->AltBody = ;
|
||||
|
||||
//echo "sending mail<br>";
|
||||
$mail->send();
|
||||
//echo "email sent<br>";
|
||||
return true;
|
||||
} catch (Exception $e) {
|
||||
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
|
||||
return false;
|
||||
}
|
||||
|
||||
} // end send_mail
|
||||
|
||||
public function checkmail($email)
|
||||
{
|
||||
$mail_addr = explode(';', $email);
|
||||
$ready_mail = $mail_addr[0];
|
||||
|
||||
$mail_parts = explode('@', $ready_mail);
|
||||
$domain = $mail_parts[1];
|
||||
|
||||
if (!$domain) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (function_exists('checkdnsrr')) {
|
||||
if (checkdnsrr($domain, "MX")) {
|
||||
if (function_exists('getmxrr')) {
|
||||
if (!getmxrr($domain, $mxhosts)) return false;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return $ready_mail;
|
||||
} // end checkmail
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user