I have been collecting my own mailing list since I started doing shows over ten years ago. I send an email for every show, and it pays off every time. I consider it one of my essential duties. I have quite a few customers who I recognize and know by name. And lots of others who I don't recognize but they'll tell me "I get your emails" when they are making a purchase.
My list is now over 700 names. At one point it was over 1000 names, but a while ago I stopped sending any paper mailings and switched to email only, so I pruned out all listings where I only had a street address. (I've decided I am too cheap to buy stamps anymore, and don't want to spend a whole afternoon applying labels and stamps.)
Two years ago I started using MailChimp to design my emails and store my list. MailChimp keeps track of who opens my emails, and who clicks on the links inside. So at the end of every year, I can go through and prune out the folks that do not open my emails.
These days I'll also announce my shows on Facebook.
For my Holiday Open House, I put a banner on my front porch "pottery sale this weekend" for the week before. For two years I printed flyers and hoofed it around my neighborhood putting them on doorsteps (I had already been advised that it was illegal to put it in mailboxes). I found that the flyers did nothing ... especially for the amount of work and expense. Just because people live within a few blocks of you, doesn't mean they are interested in pottery. Also, around these parts it's common to get brochures left on your doorstep, mostly from home improvement contractors. I generally consider it junk mail, so I think my flyers were regarded the same way. However, the banner is another story. Every year I meet a few people who came because of the banner. I live in a walkable neighborhood near a subway station. Lots of foot traffic commutes past my house, and the banner seems to be more effective.