tablas - send email javascript example
¿Puedo usar JavaScript para crear un correo electrónico del lado del cliente? (5)
Quiero crear una página web de creador de correo del lado del cliente. Conozco los problemas de usar la acción mailto en un formulario html (no estándar, no hay una aplicación de correo predeterminada configurada en el cliente). Pero la página web no es muy importante y no les importa demasiado.
El correo creado por la acción mailto tiene la sintaxis:
asunto: sujeto indefinido
cuerpo:param1 = value1
param2 = value2
.
.
.
paramn = valuen
¿Puedo usar JavaScript para formatear el correo de esta manera?
Asunto: XXXXX
Cuerpo: Valor1; Valor2; Valor3 ... ValorN
¿Hay alguna razón por la que no pueda simplemente enviar los datos a una página que maneja el envío del correo? Es bastante fácil enviar un correo electrónico en la mayoría de los idiomas, así que a menos que haya una razón fuerte para llevarlo al lado del cliente, recomendaría esa ruta.
Con javascript solo, no es posible .
Javascript no tiene la intención de hacer tales cosas y está severamente afectado por la forma en que puede interactuar con cualquier cosa que no sea el navegador web en el que vive (¡por una buena razón!).
Piénselo: un spammer que escribe un sitio web con javascript del lado del cliente que enviará automáticamente por correo a miles de direcciones de correo electrónico aleatorias. Si las personas tuvieran que ir a ese sitio, todos estarían participando en una estafa de correo masivo distribuido, con su propia computadora ... ¡no es necesaria la infección o la interacción del usuario!
Más o menos solo tiene dos alternativas al enviar correo a través del navegador.
- hacer una página que tome la entrada del usuario, y les permite enviar el correo a través de su servidor web. Necesitas algún tipo de scripting del lado del servidor para esto.
- use un enlace mailto: para activar la apertura del cliente de correo registrado de los usuarios. Esto tiene las trampas obvias que mencionaste y es menos flexible. Sin embargo, necesita menos trabajo.
Lo que utilizamos en un proyecto es una ventana emergente que abre un enlace mailto: es la única forma en que encontramos redactar un correo dentro del cliente de correo predeterminado que funciona con todos los clientes de correo (al menos todos nuestros clientes lo utilizan).
var addresses = "";//between the speech mark goes the receptient. Seperate addresses with a ;
var body = ""//write the message text between the speech marks or put a variable in the place of the speech marks
var subject = ""//between the speech marks goes the subject of the message
var href = "mailto:" + addresses + "?"
+ "subject=" + subject + "&"
+ "body=" + body;
var wndMail;
wndMail = window.open(href, "_blank", "scrollbars=yes,resizable=yes,width=10,height=10");
if(wndMail)
{
wndMail.close();
}
Puede crear un mailto-link y activarlo usando javascript:
var mail = "mailto:[email protected]?subject=New Mail&body=Mail text body";
var mlink = document.createElement(''a'');
mlink.setAttribute(''href'', mail);
mlink.click();