only hashes stuff before @tu-dresden or @mailbox.tu-dresden to avoid double vote in case of aliases. $mailHash = hash('ripemd160', strtolower(explode("+",explode("@",$empfaenger)[0])[0])); $sem = sem_get(123, 1, 0666, 1); if (sem_acquire($sem)) { //critical section to avoid double vote in case of high demands if(strpos($empfaenger, "mail.") === false and strpos($empfaenger, "@mailbox.tu-dresden.de") != false and !strpos(file_get_contents('../../.hMail.txt'), $mailHash)){ //nicht bereits abgesendet (kein hash match) und eine @mailbox addr. $betreff = 'Formular: Lehrpreise'; $nachricht = "Hallo.\nHier ist die Umfrage für die Lehrpreis Wahl: https://bildungsportal.sachsen.de/umfragen/limesurvey/index.php/146778?newtest=Y&lang=de&authkey=".$token."\nVielen Dank für deine Beteiligung!\n\nHi.\nHere is the Link for the teaching award voting: https://bildungsportal.sachsen.de/umfragen/limesurvey/index.php/146778?newtest=Y&lang=en&authkey=".$token."\nThanks alot for your participation!"; $nachricht = wordwrap($nachricht, 80, "\r\n"); $header = 'From: fsr@ifsr.de' . "\r\n" . 'Reply-To: fsr@ifsr.de' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); //mail senden mail($empfaenger, $betreff, $nachricht, $header); //hash speichern file_put_contents("../../.hMail.txt", $mailHash."\n", FILE_APPEND); sem_release($sem); //Erfolgsmeldung echo "

Success, please check your mail.

Mail erfolgreich versendet."; } else{ if(strpos($empfaenger, "@tu-dresden.de") != false or strpos($empfaenger, "@ifsr.de") != false){ echo "

Request/Nachfrage

Da deine Mail Adresse keine @mailbox Adresse ist, würden wir gerne überprüfen, ob du noch studierst.
Wenn du mit der Überprüfung einverstanden bist, bestätige das bitte unten.
Wir werden das mittels der ZiH Datenbank abgleichen und - solltest du Student:in sein, dir den Umfragelink zusenden.
Auch trotz dieser Überprüfung wird nicht abgespeichert, welches Umfrageergebnis zu welcher E-mail Adresse gehört.

Since your email address is not an @mailbox address, we would like to check if you are still a student.
If you agree with the verification, please confirm below.
We will check this against the ZiH database and - if you are a student - send you the survey link.
Even with this check, we will not save which survey result belongs to which email address.
Ich stimme der Überprüfung zu./I do agree with the check.
"; }else{ echo "

Falsche Mail Adresse oder bereits abgestimmt

Mail Adress wrong or missing or allready voted.

Bitte gebe deine TU Email Adresse an!
Please enter your University Mail adress!"; } } }else{ //semaphore could not be set. die("Internal Error. If this happens too often, please write fsr@ifsr.de

Sorry

"); } ?>