Indirecto a través de su servidor: llamada a API de terceros: seguro y recomendado
Su servidor puede llamar a la API de terceros después de la autenticación y autorización adecuadas. Las claves de API no están expuestas al cliente.
node.js – https://www.npmjs.org/package/node-mandrill
const mandrill = require('node-mandrill')('<your API Key>');
function sendEmail ( _name, _email, _subject, _message) {
mandrill('/messages/send', {
message: {
to: [{email: _email , name: _name}],
from_email: '[email protected]',
subject: _subject,
text: _message
}
}, function(error, response){
if (error) console.log( error );
else console.log(response);
});
}
// define your own email api which points to your server.
app.post( '/api/sendemail/', function(req, res){
let _name = req.body.name;
let _email = req.body.email;
let _subject = req.body.subject;
let _messsage = req.body.message;
//implement your spam protection or checks.
sendEmail ( _name, _email, _subject, _message );
});
y luego use use $ .ajax en el cliente para llamar a su API de correo electrónico.
Directamente desde el cliente – Llamando a API de terceros – no recomendado
Envíe un correo electrónico utilizando solo JavaScript
en breve:
- registrarse en Mandrill para obtener una clave API
- cargar jQuery
- use $ .ajax para enviar un correo electrónico
Como esto –
function sendMail() {
$.ajax({
type: 'POST',
url: 'https://mandrillapp.com/api/1.0/messages/send.json',
data: {
'key': 'YOUR API KEY HERE',
'message': {
'from_email': '[email protected]',
'to': [
{
'email': '[email protected]',
'name': 'RECIPIENT NAME (OPTIONAL)',
'type': 'to'
}
],
'autotext': 'true',
'subject': 'YOUR SUBJECT HERE!',
'html': 'YOUR EMAIL CONTENT HERE! YOU CAN USE HTML!'
}
}
}).done(function(response) {
console.log(response); // if you're into that sorta thing
});
}
https://medium.com/design-startups/b53319616782
Nota: tenga en cuenta que su clave API es visible para cualquier persona, por lo que cualquier usuario malintencionado puede usar su clave para enviar correos electrónicos que pueden consumir su cuota.