Ob es stimmt, kommt auf den Kontext an. Damit der Code funktioniert, muss die E-Mail-Adresse vorher bereits bestätigt worden sein. Der Code muss also in dem Fragebogen stehen, der nach der Bestätigung aufgerufen wird.
Sie sollten es auf alle Fälle unbedingt vorab testen :)
Reduzieren Sie zum Testen die Zeiträume:
$datum = strtotime(value('PD15_01'));
mailSchedule(false, 2, strtotime('+1 day', $datum));
mailSchedule(false, 3, strtotime('+2 days', $datum));
Klar, dass Sie dann bei PD15_01 am besten mal das Datum des nächsten Tages eintragen.
In der Debug-Information sollten Sie sehen, für wann der Versand eingeplant wurde, und wenn Sie die Serienmails zum Versand anklicken, sollten Sie die geplanten Zeitpunkte ebenfalls sehen.
Eventuell möchten sie übrigens noch eine Zeit ergänzen.
mailSchedule(false, 2, strtotime('+2 weeks 08:00:00', $datum));
mailSchedule(false, 3, strtotime('+3 months 08:00:00', $datum));