Vielen Dank für die Erklärungen! Ich habe nun folgenden Code erstellt und der Versand der jeweiligen Mails scheint auch pünktlich geplant zu werden.
$tage = (int)value('RG01', 'label');
$uhrzeit = strtotime(value('IT01'));
// Einladungsmails
// T1
for ($i=0; $i<$tage; $i++) {
mailSchedule(false, $i+3, strtotime('+'.($i+1).' days'.$uhrzeit));
}
// T2
mailSchedule(false, 17, strtotime('+'.($tage+1).' days'.$uhrzeit));
mailSchedule(false, 18, strtotime('+'.($tage+2).' days'.$uhrzeit));
mailSchedule(false, 19, strtotime('+'.($tage+3).' days'.$uhrzeit));
mailSchedule(false, 20, strtotime('+'.($tage+4).' days'.$uhrzeit));
mailSchedule(false, 21, strtotime('+'.($tage+5).' days'.$uhrzeit));
mailSchedule(false, 22, strtotime('+'.($tage+6).' days'.$uhrzeit));
mailSchedule(false, 23, strtotime('+'.($tage+7).' days'.$uhrzeit));
mailSchedule(false, 24, strtotime('+'.($tage+8).' days'.$uhrzeit));
mailSchedule(false, 25, strtotime('+'.($tage+9).' days'.$uhrzeit));
mailSchedule(false, 26, strtotime('+'.($tage+10).' days'.$uhrzeit));
// T3
for ($i= 0; $i<14; $i++) {
mailSchedule(false, $i+27, strtotime('+'.($tage + $i + 11).' days '.$uhrzeit));
}
// T4
mailSchedule(false, 41, strtotime('+'.($tage+25).' days'.$uhrzeit));
// Erinnerungsmails (z.B. nach einer und zwei Stunden)
// T1
for ($i=0; $i<$tage; $i++) {
mailSchedule(false, $i+42, strtotime('+'.($i+1).' days + 1 hours'), ['status' => 'no-response']);
}
for ($i= 0; $i<$tage; $i++) {
mailSchedule(false, $i+56, strtotime('+'.($i+1).' days + 2 hours'), ['status' => 'no-response']);
}
// T2
mailSchedule(false, 70, strtotime('+'.($tage+1).' days + 1 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 71, strtotime('+'.($tage+2).' days + 1 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 72, strtotime('+'.($tage+3).' days + 1 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 73, strtotime('+'.($tage+4).' days + 1 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 74, strtotime('+'.($tage+5).' days + 1 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 75, strtotime('+'.($tage+6).' days + 1 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 76, strtotime('+'.($tage+7).' days + 1 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 77, strtotime('+'.($tage+8).' days + 1 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 78, strtotime('+'.($tage+9).' days + 1 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 79, strtotime('+'.($tage+10).' days + 1 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 80, strtotime('+'.($tage+1).' days + 2 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 81, strtotime('+'.($tage+2).' days + 2 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 82, strtotime('+'.($tage+3).' days + 2 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 83, strtotime('+'.($tage+4).' days + 2 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 84, strtotime('+'.($tage+5).' days + 2 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 85, strtotime('+'.($tage+6).' days + 2 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 86, strtotime('+'.($tage+7).' days + 2 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 87, strtotime('+'.($tage+8).' days + 2 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 88, strtotime('+'.($tage+9).' days + 2 hours'.$uhrzeit), ['status' => 'no-response']);
mailSchedule(false, 89, strtotime('+'.($tage+10).' days + 2 hours'.$uhrzeit), ['status' => 'no-response']);
// T3
for ($i= 0; $i<14; $i++) {
mailSchedule(false, $i+90, strtotime('+'.($tage + $i + 11).' days + 1 hours'), ['status' => 'no-response']);
}
for ($i= 0; $i<14; $i++) {
mailSchedule(false, $i+104, strtotime('+'.($tage + $i + 11).' days + 2 hours'), ['status' => 'no-response']);
}
// T4
mailSchedule(false, 118, strtotime('+'.($tage+25).' days + 1 hours'), ['status' => 'no-response']);
mailSchedule(false, 119, strtotime('+'.($tage+25).' days + 2 hours'), ['status' => 'no-response']);
Allerdings werden die Mails jeweils zur Uhrzeit des Aufrufs bzw. eine/ zwei Stunden später (Erinnerung) versandt. Die Angabe der individuellen Uhrzeit scheint noch nicht zu funktionieren.
Zur Erfassung der individuell gewünschten Uhrzeit habe ich eine Dropdown-Auswahl mit den Antwortoptionen 10:00, 15:00, 18:00 und 20:00 mit der Kennung IT01 erstellt. Das scheint allerdings noch nicht zu funktionieren. Haben Sie eine Idee, woran das liegen könnte?
Vielen Dank im Voraus für die Hilfe und viele Grüße.