Po pierwsze, żeby "wysłanie" mail-a "zadziałało" z poziomu html (+ ewentualnie javascript i lub(+ jquery)) - czyli po stronie przeglądarki użytkownik musi mieć zainstalowany program "pocztowy". (link od @ScriptyChris)
E-mail links

co ogranicza funkcje wysyłania mail-i (bo znikoma ilość użytkowników korzysta z dedykowanych programów pocztowych).
[ edit ]
Ten warunek powyżej musi zostać spełniony, żeby można było wysyłać mail-e, po stronie uzytkownika, opis w komentarzach poniżej
[ /edit ]
Jeżeli mimo wszystko, chcemy w ten sposób wysłać mail-a, to możemy tylko ten "mechanizm" wykonać z poziomu linku (atrybut href="") elementu <a> lub <form> (atrybut action="mailto:" + enctype="text/plain")
Kolejna sprawa taki link musi mieć odpowiednią "składnie".
<a href="mailto:nowhere@mozilla.org
?cc=name2@rapidtables.com
&bcc=name3@rapidtables.com
&subject=The%20subject%20of%20the%20email
&body=The%20body%20of%20the%20email">
Send mail with cc, bcc, subject and body
</a>
Dozwolone jest "pomijanie"
<a href="mailto:nowhere@mozilla.org
?subject=The%20subject%20of%20the%20email
&body=The%20body%20of%20the%20email">
Send mail with subject and body
</a>
Wygląd linka jest:
Also, note the use of the question mark (?) to separate the main URL from the field values, and ampersands (&) to separate each field in the mailto: URL. This is standard URL query notation. Read The GET method to understand what URL query notation is more commonly used for.
Pewnie zauważyłeś dziwne znaki w linku, np.: %20
The values of each field must be URL-encoded, that is with non-printing characters (invisible characters like tabs, carriage returns, and page breaks) and spaces percent-escaped
jquery służy do tego funkcja: serialize();
const form = $('#form').serialize();