mailto ссылка с телом HTML - PullRequest
       28

mailto ссылка с телом HTML

282 голосов
/ 11 апреля 2011

У меня есть пара mailto ссылок в документе HTML.

<a href="mailto:etc...">

Могу ли я вставить тело в формате HTML в mailto: части href?

<a href="mailto:me@me.com?subject=Me&body=<b>ME</b>">Mail me</a>

Обратите внимание, что (2016) в iOS вполне можно добавить теги <i> и <b> для простого курсивного и жирного форматирования.

Ответы [ 11 ]

0 голосов
/ 11 апреля 2011

Вот как вы все добавляете в ссылку MAILTO:

<a href="mailto:YourName@YourSite.com? cc=someone@YourSite.com&bcc=someoneElse@YourSite.com &subject=Shipping%20Information%20Request&body=Please%20tell%20me%20if%20my%20order%20has%20shipped!">Shipping Request</a>

Каждый компонент отделяется знаком амперсанда (&).Только первый компонент после исходного адреса электронной почты имеет знак вопроса (?), Предшествующий амперсанду.

Кодирование URL - это ключ! Так что для вашего примера тела вместо

href='mailto:me@me.com?subject=Me&body=<b>ME</b>'

... вы можете попробовать:

href='mailto:me@me.com?subject=Me&body=%3cb%3eME%3c%2fb%3e'

Вот еще один маршрут, который вы можете попробовать.Создайте функцию javascript для открытия объекта ActiveX.К сожалению, это ограничивает работу только в IE и Outlook и может привести к тому, что на вашей странице будут отображаться предупреждения activex.Но если вы можете жить с этими предостережениями, это делает работу.Вот рабочий пример, из которого вы можете извлечь:

<html>
    <head>
        <script type='text/javascript' language='javascript'>
            function OpenOutlookNewEmail()
            {
                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 = "Me";
                    mailItem.To = "me@me.com";
                    mailItem.HTMLBody = "<b>ME</b>";
                    mailItem.display(0);
                }
                catch (e)
                {
                    alert(e);
                    // act on any error that you get
                }
            }
        </script>
    </head>
    <body>
        <a href='javascript:OpenOutlookNewEmail()' >email</a>
    </body>
</html>
...