Hallo,
ich plane eine Befragung mit Serienmailversand, nach Registrierung mittels Opt-in Frage.
Die Befragten werden außerdem um die Angabe eines Datums gebeten (gelöst über Datumseingabe mit Kalender). Ein Tag nach dem vom Probanden angegebenen Datum soll die Serienmail 4 verschickt werden. Sieben Tage danach soll die Serienmail 5 verschickt werden. Ich hätte gerne, dass die Mails zu einem bestimmten Zeitpunkt (in meinem Fall 10 Uhr an dem jeweiligen Tag) versendet werden. Ich habe bereits hier im Forum und fairerweise auch mit ChatGPT (Entschuldigung hierfür) recherchiert und bin zu folgendem Ergebnis gekommen:
$eingabe = strtotime(value('Q006'));
// Basis: Datum von Q006 + feste Uhrzeit 10:00
$basis10 = strtotime(date('Y-m-d', $eingabe) . ' 10:00');
// mehrere Mails relativ zu Q006, jeweils um 10:00 Uhr
mailSchedule(false, 4, strtotime('+1 day', $basis10)); // Folgetag 10:00
mailSchedule(false, 5, strtotime('+7 days', $basis10)); // +7 Tage 10:00
// Testversand
mailSchedule(false, 6, time() + 120); // in 2 Minuten
Leider stimmen die Zeitpunkte für die tatsächliche Befragung nicht ganz.
Ich habe den Test um etwa 16.20 Uhr am 07.01.2026 (Dieses Datum wurde auch ausgewählt) gestartet. Die Testmails kamen zum richtigen Zeitpunkt. Die anderen Serienmails sind jetzt allerdings für den 09.01 und 15.01, jeweils um etwa 1 Uhr geplant.
Das wäre vom Zeitpunkt leider zu spät, ich würde sie, entsprechend des eingegebenen Datums, gerne am 08.01 und 14.01 um 10 Uhr erhalten.
Wo liegt mein Fehler?