Parece que sua função de envio de e-mail está fora do loop e é seguida por uma instrução de saída ou pelo final do script.
Você pode apenas colocar a função de envio de e-mail dentro do loop? Você provavelmente precisará adicionar um contador que estabelecerá uma suspensão baseada no tempo ou na repetição para que ele não receba imediatamente um loop de reenvie e-mails, mas isso não é muito difícil.
Se você fizer isso, o script não sairá do loop: ele será enviado, enviado por e-mail e retornará à verificação do arquivo.