it-swarm.com.de

Ist es möglich, einen HTML-Link in den Hauptteil eines MAILTO-Links einzufügen?

Ich hatte nicht viel mit Mailto-Links zu tun. Allerdings muss ich jetzt einen Link in den Body eines Mailto einfügen, wenn es möglich ist.

Gibt es eine Möglichkeit, einen Link hinzuzufügen oder die geöffnete E-Mail in eine HTML-E-Mail im Vergleich zu einer Text-E-Mail zu ändern?

So etwas wie:

<a href="mailto:[email protected]?body=The message's first paragraph.%0A%0aSecond paragraph.%0A%0AThird Paragraph.%0A%0ALink goes here">Link text goes here</a>
106
StubbornMule

Abschnitt 2 von RFC 2368 besagt, dass das body -Feld im text/plain -Format sein soll, sodass Sie kein HTML ausführen können.

Selbst wenn Sie nur Text verwenden, ist es jedoch möglich, dass einige moderne E-Mail-Clients eine URL ohnehin als anklickbaren Link rendern.

108
Alnitak

Fügen Sie den vollständigen Link hinzu, mit:

 "http://"

an den Anfang einer Zeile, und die meisten anständigen E-Mail-Clients verknüpfen sie automatisch entweder vor dem Senden oder am anderen Ende beim Empfangen.

Bei sehr langen URLs, die wahrscheinlich aufgrund aller Parameter umgebrochen werden, müssen Sie den Link in ein kleiner/größer als-Symbol einbinden. Dies weist den E-Mail-Client an, nicht die URL zu umbrechen.

z.B.

  <http://www.example.com/foo.php?this=a&really=long&url=with&lots=and&lots=and&lots=of&prameters=on_it>
31
scunliffe

Soweit ich das beurteilen kann, ist dies nicht möglich, da ein Link HTML benötigt und mailto-Links keine HTML-E-Mail erstellen.

Dies dient wahrscheinlich der Sicherheit, da Sie diesem Link JavaScript oder Iframes hinzufügen können und der E-Mail-Client den Endbenutzer möglicherweise für Sicherheitslücken öffnet.

6
GavinCattell

Bitte überprüfen Sie unten Javascript in IE. Ich weiß nicht, ob ein anderer moderner Browser funktioniert oder nicht.

<html>
    <head>
        <script type="text/javascript">
            function OpenOutlookDoc(){
                try {

                    var outlookApp = new ActiveXObject("Outlook.Application");
                    var nameSpace = outlookApp.getNameSpace("MAPI");
                    mailFolder = nameSpace.getDefaultFolder(6);
                    mailItem = mailFolder.Items.add('IPM.Note.FormA');
                    mailItem.Subject="a subject test";
                    mailItem.To = "[email protected]";
                    mailItem.HTMLBody = "<b>bold</b>";
                    mailItem.display (0); 
                }
                catch(e){
                    alert(e);
                    // act on any error that you get
                }
            }
        </script>
    </head>
    <body>
        <a href="javascript:OpenOutlookDoc()">Click</a>
    </body>
</html>
6
chanchal1987

Folgendes habe ich zusammengestellt: Es funktioniert auf dem ausgewählten Mobilgerät, für das ich es benötigt habe, aber ich bin nicht sicher, wie universell die Lösung ist

<a href="mailto:[email protected]?subject=Me&body=%3Chtml%20xmlns%3D%22http:%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%3E%3C%2Fhead%3E%3Cbody%3EPlease%20%3Ca%20href%3D%22http:%2F%2Fwww.w3.org%22%3Eclick%3C%2Fa%3E%20me%3C%2Fbody%3E%3C%2Fhtml%3E">
1
Mike

Ich habe folgendes implementiert, das für iOS-Geräte funktioniert, aber es ist auf Android Geräten fehlgeschlagen

<a  href="mailto:?subject=Your mate might be interested...&body=<div style='padding: 0;'><div style='padding: 0;'><p>I found this on the site I think you might find it interesting.  <a href='@(Request.Url.ToString())' >Click here </a></p></div></div>">Share This</a>
1
Kamlesh

Die Spezifikation für 'mailto' body lautet:

Der Hauptteil einer Nachricht besteht einfach aus Zeilen mit US-ASCII-Zeichen. Die einzigen zwei Einschränkungen für den Körper sind wie folgt:

  • CR und LF DÜRFEN nur zusammen als CRLF vorkommen; sie DÜRFEN NICHT unabhängig voneinander im Körper vorkommen.
  • Zeilen mit Zeichen im Hauptteil MÜSSEN auf 998 Zeichen und mit Ausnahme der CRLF auf 78 Zeichen begrenzt sein.

https://tools.ietf.org/html/rfc5322#section-2.

Im Allgemeinen können heutzutage die meisten E-Mail-Clients gut automatisch verlinken, aber aus Sicherheitsgründen tun dies nicht alle. Möglicherweise finden Sie einige Problemumgehungen, die jedoch nicht unbedingt universell funktionieren.

1
hazmatzo