If you wish to add users to your mailing list, then you will need to do an email confirmation, or "double opt-in" process at some point… And the sooner you get it out of the way, the better!
Doing it during initial registration is good for at least two reasons:
- Your prospective users have no reason to dislike you yet 😉
- By combining the registration/confirmation process in a single coherent double opt-in, you are legally covered… While still valid, splitting up the process over time can potentially leave an opening for some form of litigation, or more likely being labelled a spammer by block lists.
Of course, having a valid email address also provides numerous other benefits:
- reducing (a bit, anyway) the volume of fake user accounts, especially important for community/social/dating sites
- allowing for lost username/password requests to be fulfilled via the email address
- being able to notify all users simultaneously to outages, issues, and upgrades
I'd agree with the idea that, if your service can be "tested" by consumers without giving a valid email address, that allowing users to kick the tires in a limited way will probably be a good thing, that helps push them towards the full signup.
Finally, I'd also say that despite all the positives, email is still an incredibly unreliable "identity token" as far as it goes… This is probably the number one strength of Facebook and Facebook Connect – because people use their real names (mostly), and a valid email address is required to sign up, then whenever you register users via Facebook Connect, you have:
- an "effective Double opt-in" – users click to register via FB Connect, and then confirm with Facebook that they want your site to have access to various pieces of data (including, presumably, email),
- a smoother/easier process for them that can fill out most, if not all of the registration fields automatically, and
- access to a working email address that is likely to be "primary for that user", and remain working for the foreseeable future.
Regardless of how you work your registration/signup page, just also make absolutely sure you provide similarly easy ways to unsubscribe/cancel accounts, the number one requested feature by users, across all sites with a registration process, that is still lacking in a lot of fairly reputable site (Starbucks, for example, requires a phone call to cancel their "SB Rewards" accounts… Absolutely no way to do it online).