É possível definir o assunto / conteúdo do email quando eu uso mailto :?
É possível definir o assunto / conteúdo do email quando eu uso mailto :?
Respostas:
Sim, consulte todas as dicas e truques com mailto: http://www.angelfire.com/dc/html-webmaster/mailto.htm
mailto exemplo de assunto:
<a href="mailto:no-one@snai1mai1.com?subject=free chocolate">example</a>
mailto com conteúdo:
<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>
Como mencionado nos comentários, ambos subject
e body
devem ser escapados corretamente. Use encodeURIComponent(subject)
em cada um deles, em vez de codificar manualmente para casos específicos.
Como Hoody mencionado nos comentários, você pode adicionar quebras de linha adicionando a seguinte sequência codificada na sequência:
%0D%0A // one line break
<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>
você pode usar esse código para definir assunto, corpo, cc, cco
O mailto:
esquema de URL é definido na RFC 2368 . Além disso, a convenção para codificar informações em URLs e URIs é definida na RFC 1738 e depois na RFC 3986 . Eles prescrevem como incluir os cabeçalhos body
e subject
em um URL (URI):
mailto:infobot@example.com?subject=current-issue&body=send%20current-issue
Especificamente, você deve codificar em porcentagem o endereço de email, assunto e corpo e colocá-los no formato acima. O texto codificado em porcentagem é legal para uso em HTML, no entanto, este URL deve ser codificado por entidade para uso em um href
atributo, de acordo com o padrão HTML4 :
<a href="mailto:infobot@example.com?subject=current-issue&body=send%20current-issue">Send email</a>
E, geralmente, aqui está um script PHP simples que codifica de acordo com o acima.
<?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>";
?>
$uri = ...
: The &
na frente de subject
deve ser um?
Você pode adicionar um assunto adicionado ao comando mailto usando uma das seguintes maneiras. Adicionar? Assunto mailto à tag mailto.
<a href="mailto:test@example.com?subject=testing out mailto">First Example</a>
Também podemos adicionar texto ao corpo da mensagem adicionando & body ao final da tag, como mostrado no exemplo abaixo.
<a href="mailto:test@example.com?subject=testing out mailto&body=Just testing">Second Example</a>
Além do corpo, um usuário também pode digitar & cc ou & bcc para preencher os campos CC e 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>
Eu criei uma ferramenta de código aberto para facilitar isso. Digite as seqüências desejadas e você obterá instantaneamente mailto
:
Template️ Modelo de emails completos em um mailto
Divido-o em linhas separadas para torná-lo um pouco mais legível.
<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>
aqui está o truque http://neworganizing.com/content/blog/tip-prepopulate-mailto-links-with-subject-body-text
<a href="mailto:tips@neworganizing.com?subject=Your+tip+on+mailto+links&body=Thanks+for+this+tip">tell a friend</a>
Sim:
Use isso para experimentar elementos de formulário mailto e codificação de links.
Você pode inserir assunto, corpo (ou seja, conteúdo) etc. no formulário, clicar no botão e ver o link mailto html que pode colar em sua página.
Você pode até especificar elementos que raramente são conhecidos e usados: cc, cco, a partir de e-mails.
[Test Zõne]
torna - se %5BTest%20Z%C3%B5ne%5D
, isso pode evitar alguns bots de spam).
&#x
(evitando alguns bots de spam).
Sim, você pode assim:
mailto: email@host.com?subject=something
Observe que não é possível usar HTML no corpo da mensagem, de acordo com a RFC 2368 :
O hname especial "corpo" indica que o hvalue associado é o corpo da mensagem. O nome do "corpo" deve conter o conteúdo da primeira parte do texto / corpo sem formatação da mensagem. O URL mailto destina-se principalmente à geração de mensagens curtas de texto que são realmente o conteúdo do processamento automático (como mensagens de "inscrição" para listas de discussão), não corpos MIME gerais.
Aqui está um trecho executável para ajudá-lo a gerar links mailto: com assunto e corpo opcionais.
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>
Se você deseja adicionar conteúdo html ao seu e-mail, codifique seu código html para o corpo da mensagem e inclua-o no código do link mailto, mas o problema é que você não pode definir o tipo de e-mail desse link de texto sem formatação para html, o cliente que usa o link precisa do cliente de email para enviar emails em HTML por padrão. Caso você queira testar aqui, está o código de um link mailto simples, com uma imagem agrupada em um link (URLs de estilo angular adicionados para visibilidade):
<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">
As tags html são codificadas por URL.