to answer your first question...
its a bit more involved than you would want it to be, but really its quite simple when you break it up.
First, you need some sort of database to keep your subscribers.
It could be as simple as a text file which you add to every time a user subscribes. This would be done using the filesystem functions.
Or you could use a real database. Some examples include access, oracle, SQL Server, and mySQL.
if you have ms office, you probably already have access (if not installed, then on the CD)... Oracle and SQL Server will burn a large hole in your pocket... mySQL is open-source and free!
Get it here
and best of all, some nice people at phpMyAdmin.net created a very nice way to administer mySQL databases, also for free. The great thing about it is that even if you don't know any SQL scripting, every time you edit or access the database, they show you the exact SQL script they used to do what you did.
once you have those two things installed, you simply have to make a form which takes their name and email (and any other info you want) and submits it to a page that runs a script that adds that info into the database.
Then, every time you want to send the newsletter, you simply run a script that gets everybody's email from the database and mails the newsletter to them using the mail() function in php.
It sounds complicated, but if you do it step by step, you'll find its really quite simple.