Connect to your existing MailChimp account and have subscription forms automatically created for your mailing lists including custom fields. Just enter your API key and place the snippet on your site, then with another simple snippet allow your users to view an archive of previous newsletters that you've sent.
When it comes to custom fields, just define the fields you need within MailChimp and then let this module do the work and convert a simple snippet to a full newsletter subscription form with your custom fields available. Need to allow your users to update their information or unsubscribe? Then simply add the appropriate snippet to have the unsubscribe forms automatically created for you.