To process double opt in you need to add an extra field to the database record you create when they first sign up and generate a random code to place in that field.
Next you send them a confirmation email to the address that they signed up with that asks them to confirm that it was them that signed up by clicking on a link at the bottom of the email. That link should call a script passing it the email address and the random code. If the random code matches that in the record you saved in the first place then this script should delete the value from that field to indicate that the double optin is complete.
You should then only send out the newsletter where that code field has been blanked out by the person clicking the link in the first email you sent them when they signed up.