que esté o no en un bucle no importa para que algo se ejecute...
te recuerdo, que siempre leas el manual
http://php.net/mail
ya que PHP no envía correos... solo con la función
mail() hace la pasarela hacía el servidor local SMTP, si no tienes uno es normal que no haga envío alguno...