I don't want to use mailto: because I personally find it annoying when it opens outlook which I never use.
<a href="mailto:firstname.lastname@example.org">Email Homer</a>
Should I have the button open a new page with just the email address in it? Is there a way to have it automatically copy?
you have two options basically. Use mailto which will use the user's defined email application (could be outlook, yahoo, gmail, whatever). This is the fastest to program since you don't do a thing, just add the link and be done.
The other is to create your own email page. The cons to this is that it's more work from you. The pros is that you can specify more fields that give you more info (for example, order #, phone, etc). This would use your email server though, not the client's, so make sure the client adds his email address in the form as mandatory (and maybe verification too)
I'd also give the user a choice to simply copy/paste:
<a href="mailto:email@example.com">Email Homer</a> (firstname.lastname@example.org)
I would create a separated web page (like Contact us) where I'd place a contact form (sender's name, email, subject and message). At this page you could also publish your email address with a link/button "Copy to clipboard".