I don't think there is a right way or a wrong way, just which way works best for the target audience / layout of the site.
On mobile, it can be a bit of a pain to copy text; so I'd use a mailto:
On desktop, you may find users don't use a program to check their email (I still go directly to gmail.google.com) so clicking a mailto: might open the default mail app which might not be configured.
If the layout allows (ie: you can have a contact us page) just use a form. The backend can store it in a DB or just send an email to whoever - either way, this reduces bots scraping your site for email addresses and allows the user to stay on the page and just fill in a short form to contact you.