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(); }
$mailer = new PHPMailer\PHPMailer\PHPMailer(); $mailer->IsSMTP(); $mailer->Host = "smtp.mail.ru"; //todo insert your host $mailer->SMTPAuth = true; $mailer->SMTPSecure = "ssl"; $mailer->Port = 465; $mailer->CharSet = 'UTF-8'; $mailer->Username = ""; //todo insert your e-mail address $mailer->Password = ""; // todo insert your password $mailer->SetFrom('mail@', 'Робот'); //todo insert your data $mailer->Subject = $subject; $mailer->msgHTML($mes); $mailer->addAddress($email, ''); if ($mailer->send()) { $FileName = 'logs/success.csv'; $csv = fopen($FileName, 'a'); $record = array($letter['id'], 'письмо с указанным id отправлено, дата отправки:', date('Y-m-d H:i:s')); fputcsv($csv, $record, ';'); fclose($csv); } else { $FileName = 'logs/failed.csv'; $csv = fopen($FileName, 'a'); $record = array($letter['id'], 'письмо с указанным id не отправлено, сбой произошел:', date('Y-m-d H:i:s')); fputcsv($csv, $record, ';'); fclose($csv); } }
<?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(); } }