* @copyright 2019 MyAAC * @link https://my-aac.org */ use MyAAC\Models\Account; defined('MYAAC') or die('Direct access not allowed!'); $title = 'Mailer'; csrfProtect(); if (!hasFlag(FLAG_CONTENT_MAILER) && !superAdmin()) { echo 'Access denied.'; return; } if (!setting('core.mail_enabled')) { echo 'Mail support disabled in config.'; return; } $mail_to = isset($_POST['mail_to']) ? stripslashes(trim($_POST['mail_to'])) : null; $mail_subject = isset($_POST['mail_subject']) ? stripslashes($_POST['mail_subject']) : null; $mail_content = isset($_POST['mail_content']) ? stripslashes($_POST['mail_content']) : null; if (isset($_POST['submit'])) { if (empty($mail_subject)) { warning('Please enter subject of the message.'); } if (empty($mail_content)) { warning('Please enter content of the message.'); } } if (!empty($mail_to)) { if(!Validator::email($mail_to)) { warning('E-Mail is invalid.'); } else { if (!empty($mail_content) && !empty($mail_subject)) { if (_mail($mail_to, $mail_subject, $mail_content)) { success("Successfully mailed $mail_to"); } else { error("Error while sending mail to $mail_to. More info can be found in system/logs/mailer-error.log"); } } } } if (!empty($mail_content) && !empty($mail_subject) && empty($mail_to)) { $success = 0; $failed = 0; $add = ''; if (setting('core.account_mail_verify')) { note('Note: Sending only to users with verified E-Mail.'); $add = ' AND `email_verified` = 1'; } $query = Account::where('email', '!=', '')->get(['email']); foreach ($query as $email) { if (_mail($email->email, $mail_subject, $mail_content)) { $success++; } else { $failed++; echo '
'; error('An error occorred while sending email to ' . $email->email . '. For Admin: More info can be found in system/logs/mailer-error.log'); } } success('Mailing finished.'); success("$success emails delivered."); warning("$failed emails failed."); } $twig->display('admin.mailer.html.twig', [ 'mail_to' => $mail_to, 'mail_subject' => $mail_subject, 'mail_content' => $mail_content ]);