public function email($params, $formId, $data, $fields) { $mailer = new \PHPMailer\PHPMailer\PHPMailer(); $mailer->isSMTP(); $mailer->Host = $params['smtpServer']; $mailer->Port = $params['smtpPort']; $mailer->SMTPSecure = $params['ssl']; $mailer->SMTPAuth = true; $mailer->Username = $params['user']; $mailer->Password = $params['password']; $mailer->Subject = $params['subject']; $mailer->CharSet = "UTF-8"; $mailer->setFrom($params['from']); foreach ($params['to'] as $address) { $mailer->addAddress($address); } $msg = '<p>Message from form: ' . $formId . '</p>'; foreach ($data as $k => $v) { $label = !empty($fields[$k]['label']) ? $fields[$k]['label'] : $k; $msg .= '<p><b>' . $label . '</b>: ' . $v . '</p>'; } $mailer->msgHTML($msg); $mailer->send(); }
<?php $errors = []; if (isset($_POST['text'], $_POST['subject'], $_POST['email'])) { if (!is_string($_POST['text']) || empty($_POST['text'])) { $errors[] = '<p class="help-block">Вы не ввели текст</p>'; } if (!is_string($_POST['subject']) || empty($_POST['subject'])) { $errors[] = '<p class="help-block">Вы не ввели текст темы</p>'; } if (!is_string($_POST['email']) || empty($_POST['mail']) || !preg_match('#^[a-z-_.0-9]+@([a-z-_]+\\.)+[a-z]{2,6}$#i', $_POST['email'])) { $errors[] = '<p class="help-block">Вы ввели не корректный E-mail</p>'; } if (!count($errors)) { require_once 'vendor/autoload.php'; $class = new \PHPMailer\PHPMailer\PHPMailer(); $class->addAddress(Config::$adminMail, 'Inpost'); $class->setFrom($_POST['email'], 'Default'); $class->addReplyTo($_POST['email'], 'Default'); $class->Subject = $_POST['subject']; $class->Body = $_POST['text']; $class->send(); } }