900,000 records? id be surprised if your ISP let that happen? that many records in short time would flag up surely.
anyway, assuming that you can do it, your process is a bit long winded. you dont have to load a form with an address each time, you can pass the email address via code and loop...