Чи можна встановити тему / вміст електронної пошти за допомогою mailto :?


889

Чи можливо встановити тему / вміст електронної пошти, коли я використовую mailto:?



6
Ви можете встановити кожну частину електронного листа. Ось інструмент, який я створив, щоб зробити його мертвим простим: mailto.now.sh
Доусон Б

Відповіді:


1459

Так, подивіться всі поради та рекомендації з mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm

Приклад теми пошти:

<a href="mailto:no-one@snai1mai1.com?subject=free chocolate">example</a>

поштове повідомлення із вмістом:

<a href="mailto:no-one@snai1mai1.com?subject=look at this website&body=Hi,I found this website and thought you might like it http://www.geocities.com/wowhtml/">tell a friend</a>

Як згадується в коментарях, і те, subjectі інше bodyповинно бути належним чином уникнути. Використовуйте encodeURIComponent(subject)для кожного, а не ручне кодування для конкретних випадків.

Як згадував Гуді в коментарях, ви можете додавати розриви рядків, додаючи наступну закодовану послідовність у рядку:

%0D%0A // one line break

29
чи можна використовувати HTML для тіла?
Jiew Meng

18
Це повністю специфічно для клієнта. У загальному випадку - ні.
трійчатка

4
Як довідка: вам не доведеться htmlescape тему
Оскар Перес

17
Зауважте, що W3C вимагає, щоб ви кодували рядок, дотримуючись цих правил: Символи повинні бути представлені в NFC, а пробіли повинні бути виділені як% 20.
gordie

96
Якщо вам хтось цікавиться, ви також можете додати перерив
Hoody

123
<a href="mailto:manish@simplygraphix.com?subject=Feedback for 
webdevelopersnotes.com&body=The Tips and Tricks section is great
&cc=anotheremailaddress@anotherdomain.com
&bcc=onemore@anotherdomain.com">Send me an email</a>

Ви можете використовувати цей код, щоб встановити тему, body, cc, bcc


39

Схема mailto:URL визначена в RFC 2368 . Також умова кодування інформації в URL-адреси та URI визначена в RFC 1738, а потім RFC 3986 . Вони визначають, як включити заголовки bodyта subjectURL-адреси (URI):

mailto:infobot@example.com?subject=current-issue&body=send%20current-issue

Зокрема, ви повинні відсотко кодувати адресу електронної пошти, тему та тіло та ввести їх у формат вище. Текст, кодований у відсотках, є законним для використання в HTML, однак ця URL-адреса повинна бути кодованою для використання в hrefатрибуті відповідно до стандарту HTML4 :

<a href="mailto:infobot@example.com?subject=current-issue&amp;body=send%20current-issue">Send email</a>

І, як правило, тут простий скрипт PHP, який кодує відповідно до вищезазначеного.

<?php
$encodedTo = rawurlencode($message->to);
$encodedSubject = rawurlencode($message->subject);
$encodedBody = rawurlencode($message->body);
$uri = "mailto:$encodedTo?subject=$encodedSubject&body=$encodedBody";
$encodedUri = htmlspecialchars($uri);
echo "<a href=\"$encodedUri\">Send email</a>";
?>

Тут набагато глибше приклад , якщо ваша адреса електронної пошти має URL в ньому , і що URL має матеріал , який повинен бути закодовані: stackoverflow.com/questions/4744888 / ...
Вільям Entriken

1
Я думаю , що є помилка в рядку $uri = ...: &перед subjectповинен бути?
jost21

24

Ви можете додати тему, додану до команди mailto, одним із наступних способів. Додати тему mailto до тегу mailto.

<a href="mailto:test@example.com?subject=testing out mailto">First Example</a>

Ми також можемо додати текст у тіло повідомлення, додавши & body в кінець тегу, як показано в наведеному нижче прикладі.

 <a href="mailto:test@example.com?subject=testing out mailto&body=Just testing">Second Example</a>

Крім тіла, користувач може також ввести & cc або & bcc, щоб заповнити поля CC та BCC.

<a href="mailto:test@example.com?subject=testing out mailto&body=Just testing&cc=test1@example.com&bcc=test1@example.com">Third
    Example</a>

Як додати тему до тегу mailto


13

Я створив інструмент з відкритим кодом для спрощення цього. Введіть потрібні рядки і миттєво отримаєте mailto:

mailto.now.sh

💌⚡️ Шаблон повних електронних листів у поштовому повідомленні

введіть тут опис зображення


12
mailto:joe@company.com?subject=Your+subject

1
Моє subject- це не текст. Це стіл. Як це додати.
Девід

9

Я розділив його на окремі рядки, щоб зробити його трохи читабельнішим.

<a href="

    mailto:johndoe@gmail.com

    ?subject=My+great+email+to+you

    &body=This+is+an+awesome+email

    &cc=janedoe@gmail.com

    &bcc=billybob@yahoo.com

">Click here to send email!</a>

1
на це запитання відповіли 5 років тому
varun aaruru

14
і він все ще використовується сьогодні, коли ви хочете щось
надсилати


7

Так:

Використовуйте це для експерименту з елементами форми mailto та кодуванням посилань.

Ви можете ввести тему, тіло (тобто вміст) тощо у форму, натиснути кнопку та побачити посилання htto html, яке можна вставити на свою сторінку.

Ви навіть можете вказати елементи, які рідко відомі та використовуються: cc, bcc, з електронних листів.


Також дуже корисною особливістю цього композитора href field є можливість кодування всіх символів у шістнадцятковий (наприклад: [Test Zõne]стає %5BTest%20Z%C3%B5ne%5D, це може уникнути деяких спам-ботів).
Armfoot

Я маю на увазі, якщо ви вирішили кодувати всі символи, всі вони перетворюються на позначення HTML &#x(уникаючи деяких спам-ботів).
Armfoot

4
Це посилання мертве.
Брам Ванрой


5

Зауважте, що неможливо використовувати HTML в тілі повідомлення відповідно до RFC 2368 :

Спеціальне найменування "body" вказує на те, що асоційоване hvalue є тілом повідомлення. Ім'я "body" має містити вміст для першої текстової / простої частини тіла повідомлення. URL-адреса mailto призначена в першу чергу для генерації коротких текстових повідомлень, які фактично є вмістом автоматичної обробки (наприклад, "підписатись" на повідомлення для списків розсилки), а не загальними органами MIME.

Кредит: https://stackoverflow.com/a/13415988/1835519


2
Питання полягає в тому, як встановити тему та зміст. Він не згадував про форматування. Незважаючи на те , що це корисна річ записку на відповідь, ви залишили поза трохи про те, що це можливо , і як її досягти. Без цього це коментар, а не відповідь.
Квентін

Джуре, я дуже вдячний, що ти поставив це як відповідь на це запитання, оскільки це ТОЧНО те, що мені потрібно було з’ясувати, і запитав себе. Тому, хоча Квентін вважає, що це не відповідає на питання ОП, він відповідає моєму, що я шукав, що підняв цю посаду. Дякую тобі Джуре!
користувач1567291

3

Ось фрагмент для запуску, який допоможе вам створити mailto: посилання з необов’язковим предметом та тілом.

function generate() {
  var email = $('#email').val();
  var subject = $('#subject').val();
  var body = $('#body').val();

  var mailto = 'mailto:' + email;
  var params = {};
  if (subject) {
    params.subject = subject;
  }
  if (body) {
    params.body = body;
  }
  if (params) {
    mailto += '?' + $.param(params);
  }

  var $output = $('#output');
  $output.val(mailto);
  $output.focus();
  $output.select();
  document.execCommand('copy');
}

$(document).ready(function() {
  $('#generate').on('click', generate);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="email" placeholder="email address" /><br/>
<input type="text" id="subject" placeholder="Subject" /><br/>
<textarea id="body" placeholder="Body"></textarea><br/>
<button type="button" id="generate">Generate & copy to clipboard</button><br/>
<textarea id="output">Output</textarea>


1

Якщо ви хочете додати вміст html до своєї електронної пошти, URL-код кодуйте ваш HTML-код для тіла повідомлення та включіть його у свій код посилання поштового зв’язку, але проблема полягає в тому, що ви не можете встановити тип електронної пошти з цього посилання з простого тексту в HTML, клієнту, який використовує посилання, потрібен їх поштовий клієнт для надсилання html-листів за замовчуванням. Якщо ви хочете протестувати тут, це код для простого поштового посилання із зображенням, загорнутим у посилання (для наочності додано URL-адреси кутового стилю):

<a href="mailto:?body=%3Ca%20href%3D%22{{ scope.url }}%22%3E%3Cimg%20src%3D%22{{ scope.url }}%22%20width%3D%22300%22%20%2F%3E%3C%2Fa%3E">

Теги html закодовані URL-адресою.


Чи можете ви також навести приклад, коли у тілі <a href> просто є href та текст між ним та кінцевим тегом? Дякую
користувач1567291

<a href="<same як вище> "> Це текст посилання </a> @ user1567291
serdarsenay

Це не працює. Клієнт електронної пошти просто покаже всі теги HTML у вигляді тексту, а не обробляє його як документ із багатою текстовою формою.
Ε Г І І І О
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.