Acabo de terminar una implemenación rápida de pop-before-smtp en C... lo necesitaba rápidamente, para permitir que mi hermano pudiera enviar mails desde su portátil (con Win*!) desde cualquier sitio sin cambiar mucho de su configuración, y sin dejar un relay abierto :-)
Básicamente, es un quick-and-dirty hack: ejecuta "tail -f /var/log/syslog" para ver líneas que correspondan con los logs del servidor de POP que utilizo (teapop), lee la dirección IP y la guarda en una lista, junto con una caducidad. Cuando cambia alguna dirección IP en la lista, modifica la lista de direcciones IP de las que hace relay el SMTP server (en mi caso, uso qmail con tcpserver, con lo que ejecuta "tcprules").