Ich muss den Standard-E-Mail-Client eines Benutzers automatisch öffnen, wenn er Inhalte auf einer Seite speichert. Ich muss den E-Mail-Betreff ausfüllen, adressieren und Inhalte in den E-Mail-Text einfügen.
Was ist die beste Option, um dies zu erreichen?
Ich kenne das mailto:
Attribut, aber der Benutzer muss darauf klicken und ich bin nicht sicher, ob Sie damit das Thema und den Inhalt angeben können.
javascript
mailto
Thomas Buckley
quelle
quelle
Antworten:
Wie beschrieben von RFC 6068 , mailto können Sie angeben , Betreff und Körper sowie cc Felder aus . Zum Beispiel:
mailto:[email protected]?subject=Subject&body=message%20goes%20here
Der Benutzer muss nicht auf einen Link klicken, wenn Sie das Öffnen mit JavaScript erzwingen möchten
window.location.href = "mailto:[email protected]?subject=Subject&body=message%20goes%20here";
Beachten Sie, dass es keine einheitliche Standardmethode gibt, mit der Browser / E-Mail-Clients Mailto-Links verarbeiten (z. B. können Betreff- und Textfelder ohne Warnung verworfen werden). Außerdem besteht das Risiko, dass Popup- und Werbeblocker, Antivirensoftware usw. das erzwungene Öffnen von Mailto-Links stillschweigend blockieren.
quelle
JQuery:
$(function () { $('.SendEmail').click(function (event) { var email = '[email protected]'; var subject = 'Test'; var emailBody = 'Hi Sample,'; var attach = 'path'; document.location = "mailto:"+email+"?subject="+subject+"&body="+emailBody+ "?attach="+attach; }); });
HTML:
<button class="SendEmail">Send Email</button>
quelle
Auf diese Weise implementiert, ohne Jquery zu verwenden:
<button class="emailReplyButton" onClick="sendEmail(message)">Reply</button> sendEmail(message) { var email = message.emailId; var subject = message.subject; var emailBody = 'Hi '+message.from; document.location = "mailto:"+email+"?subject="+subject+"&body="+emailBody; }
quelle
Versuchen Sie Folgendes: Die Standardmail wird direkt geöffnet.
<a href="mailto:[email protected]"><img src="ICON2.png"></a>
quelle