ทางอ้อมผ่านเซิร์ฟเวอร์ของคุณ - เรียกบุคคลที่สาม API - ปลอดภัยและแนะนำ
เซิร์ฟเวอร์ของคุณสามารถเรียก API บุคคลที่สามหลังจากการตรวจสอบและการอนุญาตที่เหมาะสม คีย์ API จะไม่เปิดเผยต่อลูกค้า
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 );
});
จากนั้นใช้ใช้ $ .ajax ที่ไคลเอ็นต์เพื่อโทรหา API อีเมลของคุณ
โดยตรงจากลูกค้า - การโทร API ของบุคคลที่สาม - ไม่แนะนำให้ใช้
ส่งอีเมลโดยใช้ JavaScript เท่านั้น
in short:
1. register for Mandrill to get an API key
2. load jQuery
3. use $.ajax to send an email
แบบนี้ -
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
หมายเหตุ: โปรดทราบว่าทุกคนสามารถเห็นคีย์ API ของคุณได้ดังนั้นผู้ใช้ที่เป็นอันตรายอาจใช้รหัสของคุณเพื่อส่งอีเมลที่ทำให้โควต้าของคุณหมดไป