Gián tiếp qua máy chủ của bạn - Gọi API bên thứ 3 - an toàn và được đề xuất
Máy chủ của bạn có thể gọi API của bên thứ 3 sau khi xác thực và ủy quyền thích hợp. Khóa API không được hiển thị cho khách hàng.
node.js - https://www.npmjs.org/package/node-mandrill
var mandrill = require('node-mandrill')('<your API Key>');
function sendEmail ( _name, _email, _subject, _message) {
mandrill('/messages/send', {
message: {
to: [{email: _email , name: _name}],
from_email: 'noreply@yourdomain.com',
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){
var _name = req.body.name;
var _email = req.body.email;
var _subject = req.body.subject;
var _messsage = req.body.message;
//implement your spam protection or checks.
sendEmail ( _name, _email, _subject, _message );
});
và sau đó sử dụng $ .ajax trên máy khách để gọi API email của bạn.
Trực tiếp từ khách hàng - Gọi API của bên thứ 3 - không được đề xuất
Gửi email chỉ sử dụng JavaScript
in short:
1. register for Mandrill to get an API key
2. load jQuery
3. use $.ajax to send an email
Như thế này -
function sendMail() {
$.ajax({
type: 'POST',
url: 'https://mandrillapp.com/api/1.0/messages/send.json',
data: {
'key': 'YOUR API KEY HERE',
'message': {
'from_email': 'YOUR@EMAIL.HERE',
'to': [
{
'email': 'RECIPIENT@EMAIL.HERE',
'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
Lưu ý: Hãy nhớ rằng khóa API của bạn hiển thị cho bất kỳ ai, vì vậy bất kỳ người dùng độc hại nào cũng có thể sử dụng khóa của bạn để gửi email có thể ăn hết hạn ngạch của bạn.