true and false invertion in my script ?!

true and false invertion in my script ?!

In the following script to send emails, the true and false condition seem to work inverted. The emails with "false" condition receive email when "true" is in the script, vice versa. Any explanation ?

CourrielFerme = "info@fermerondine.com";
Demain = zoho.currentdate.addDay(0);
ListeCAL = Calendrier_maitre[Date_Livraison_CAL == Demain].distinct(Courriel_Client_CAL);
ListeRAP = Client[Rappels_par_courriel=true].distinct(Courriel_Client);
PointLivraison = Calendrier_maitre[Date_Livraison_CAL = Demain].Point_de_livraison;
for each  Courriel_Client_CAL in ListeCAL
{
    if(!ListeRAP.contains(Courriel_Client_CAL))
    {
    sendmail
    [
        from :CourrielFerme
        to :Courriel_Client_CAL
        subject :"Livraison de légumes bio DEMAIN"
        message :"Bonjour,<br/><br/>Vos légumes bio seront livrés demain au point de livraison de " + PointLivraison + ".<br/><br/> Suzanne et Sylvain<br/>Ferme de la Rondine"
    ]
    }
}