Прежде всего, разместив свой API_KEY на стороне клиента, вы показываете его, и он должен храниться в секрете.
Создайте новый файл server/smtp.js
.Поместив его в каталог server/
, Meteor поместит его только на стороне сервера, этот код не будет виден со стороны клиента:
Meteor.startup(function () {
process.env.MAIL_URL = 'smtp://username:password@smtp.sendgrid.net:587';
});
Добавьте пакет электронной почты в метеор.В командной строке:
meteor add email
Создайте файл server/methods.js
для добавления некоторых методов на стороне сервера:
Meteor.methods({
sendmail(to) {
// for security reasons, you should validate the 'to' argument
// but let's forget that for now.
Email.send({
from: "me@paulpedrazzi.com",
to: to
subject: "Awesome",
text: "It worked"
});
}
});
Всякий раз, когда вы хотите отправить электронное письмо,на клиентской стороне вызовите этот метод и передайте ему необходимые аргументы:
Meteor.call('sendmail', ‘elon.musk@tesla.com’, (err, res) => {
if (err) {
alert(err);
} else {
// success!
}
});
Надеюсь, это поможет.