Create a Form in a Block using API that sends captured data to email
Use simple news module which will give you lots of e-newsletter features out of the box.

For new features you can extend above module to suit your specific requirements.