Isso é um pouco confuso de explicar, então tenha paciência comigo aqui ...
Quero configurar um sistema em que um usuário possa enviar e-mails com modelo através do meu site, exceto que não é realmente enviado pelo meu servidor - em vez disso, ele apenas abre seu próprio cliente de e-mail local com um e-mail pronto para ser enviado. O aplicativo preencheria o corpo do e-mail com variáveis predefinidas, para evitar que o usuário tivesse que digitá-lo. Eles podem então editar a mensagem conforme desejado, caso não seja exatamente adequada a seus propósitos.
Há vários motivos pelos quais eu quero que ele vá através do cliente de e-mail local do usuário, então fazer com que o servidor envie o e-mail não é uma opção: tem que ser 100% do lado do cliente.
Já tenho uma solução praticamente funcionando em execução e postarei os detalhes disso como uma resposta, estou me perguntando se há alguma maneira melhor?
fonte
Respostas:
O que estou fazendo agora é basicamente assim:
O HTML:
O Javascript:
Isso, surpreendentemente, funciona muito bem. O único problema é que se o corpo for particularmente longo (algo com mais de 2.000 caracteres), ele apenas abre um novo e-mail, mas não há nenhuma informação nele. Suspeito que tenha a ver com o comprimento máximo do URL sendo excedido.
fonte
Esta é a maneira de fazer isso usando jQuery e um "elemento" para clicar:
Em seguida, você pode obter seu conteúdo alimentando-o de campos de entrada (ou seja, usando
$('#input1').val()
ou por um script do lado do servidor com$.get('...')
. Divirta-sefonte
Você não precisa de nenhum javascript, você só precisa que seu href seja codificado assim:
fonte
href
valor quando os endereços forem escolhidos. Se uma postagem for necessária para obter os endereços de e-mail no momento em que ocorre o clique, isso provavelmente não funcionaria.Que tal ter uma validação ao vivo na caixa de texto e, quando ultrapassar 2.000 (ou qualquer que seja o limite máximo), exibir 'Este e-mail é muito longo para ser preenchido no navegador, por favor
<span class="launchEmailClientLink">launch what you have in your email client</span>
'Para o qual eu teria
e jQuery isso em seu onDomReady
fonte
Você pode usar este serviço gratuito: https://www.smtpjs.com
<script src="https://smtpjs.com/v2/smtp.js"></script>
fonte
Se isso só vai abrir o cliente do usuário para enviar o e-mail, por que não permitir que ele também o redija lá. Você perde a capacidade de rastrear o que eles estão enviando, mas se isso não for importante, basta coletar os endereços e o assunto e abrir o cliente para permitir que o usuário preencha o corpo.
fonte
O problema da própria ideia é que o usuário precisa ter um cliente de e-mail, o que não é o caso se ele depende de webmails, que é o caso de muitos usuários. (pelo menos não houve como redirecionar para este webmail quando investiguei o problema há 12 anos).
É por isso que a solução normal é contar com php mail () para enviar e-mails (servidor, então).
Mas se hoje em dia o "cliente de email" está sempre configurado, automaticamente, potencialmente para um cliente de webmail, ficarei feliz em saber.
fonte
Envie uma solicitação para mandrillapp.com :
fonte