Here are two approaches. In the first, I use the actual @
character, but when I write it out, I overlay it with some really tiny white text. Thus, during the copy/paste of the PDF, you get the extra text as part of the copy:
\documentclass{article}
\usepackage{stackengine}
\usepackage{graphicx}
\usepackage{xcolor}
\def\fauxat{\stackinset{c}{}{c}{}{\color{white}\scalebox{.01}{foobar}}{@}}
\parindent 0pt
\begin{document}
Using the actual symbol, @,\\
mailto:name\fauxat domain.tld\\
in the PDF copy/paste, appears as\\
``mailto:name@foobar domain.tld''
\end{document}

In this second approach, I avoid the use of the @
symbol, but that means that I must create something that looks reasonably like an @
symbol by overlaying an italic a
inside a sans-serif O
. That way, when it is copied from the PDF, there is no @
in the copy.
\documentclass{article}
\usepackage{stackengine}
\usepackage{graphicx}
\def\fauxat{\raisebox{-1.4pt}{\stackinset{c}{-.4pt}{c}{}{%
\scalebox{.92}{\itshape{a}}}{\textsf{O}}}}
\parindent 0pt
\begin{document}
mailto:name\fauxat domain.tld
in the PDF copy/paste, appears as\\
``mailto:nameOa domain.tld``
\end{document}
