En las FAQ's tienes ejemplos de envio de e-mail en HTML y por supuesto en la documentación oficial sobre mail() de PHP:
www.php.net/mail
Pero, tienes también algunas classes como "PHP Mailer" que mejoran mail() original de PHP para algunas taréas como la de enviar datos adjuntos por ejemplo entre otras cosas.
http://phpmailer.sourceforge.net
El tema concreto de que se envien esos e-mails de forma "masiva" tan sólo es hacer tu consulta SQL habitual a tu BD .. obtener el e-mail de cada registro y componer mail() o la función que uses para enviar el e-mail en el bucle que uses para obtener esos registros de tu consulta SQL.
Cuando mencionas "fotos" en tu BD no sé si guardas la ruta de la imagen o bien tienes en formato binario la imagen. En tal caso a la hora de componer el cuerpo del mensaje en HTML con tus imagenes deberás decidirte si tus imagenes van a ser referenciadas en tu e-mail de forma absoluta (
http://www.tuservidor.tal/imagenes/imagen.tal ) o las quieres enviar de forma adjunta (incrustradas) en el própio e-mail. Ambas técnicas tienes sus beneficios y sus desventajas (sobre todo en el peso del e-mail o en lo complejo que sea diseñar ese e-mail HTML)
Un saludo,