PHP
(a quick example)
id | bigint(20) PRIMARY name | varchar(255) INDEXED email | varchar(255) UNIQUE
CONNECT TO DATABASE $pdo = new PDO( "mysql:host=HOST;dbname=NAME; charset=utf8mb4", USER, PASSWORD );
TOTAL NUMBER OF SUBSCRIBERS $stmt = $pdo->prepare("SELECT COUNT(*) `c` FROM `newsletter`"); $stmt->execute(); $all = $stmt->fetchColumn();
$each = 5; subscribers each run $pause = 1; secs pause after each run
for ($i=0; $i<$all; $i+=$each) { GET BY BATCH $stmt = $pdo->prepare("SELECT * FROM `newsletter` LIMIT $i, $each"); $stmt->execute(); $subs = $stmt->fetchAll();
SEND & PAUSE foreach ($subs as $s) { mail( $s["email"], "SUBJECT", "TEXT"); } sleep($pause); }
RUN IN TERMINAL php /PATH/TO/SCRIPT.PHP
OR SCHEDULE - Windows Task Schduler - Linux and Mac Crontab