как защитить электронную почту, отправленную нодмейлером, от пересылки - PullRequest
0 голосов
/ 20 апреля 2019

Я использую nodemailer и nodemailer-express-handlebars для отправки электронных писем из моих приложений. Я в основном отправляю приглашение по электронной почте из моей почтовой службы пользователю, которому я хочу присоединиться к приложению. Есть два вопроса: -

1. Как защитить электронную почту, чтобы ее нельзя было переслать кому-либо еще, чтобы никто не смог ее получить.

2. В электронном письме содержится ссылка на приглашение, как защитить ссылку на приглашение, чтобы ее нельзя было скопировать и вставить в другое место.

Ниже приведена реализация nodemailer. Plz предлагает, что я должен добавить к своему коду, чтобы можно было достичь двух вышеперечисленных пунктов и сделать свои функции отправки почты более безопасными, надежными и заслуживающими доверия.


var mailer = nodemailer.createTransport({
  host :'smtp.gmail.com' ,
  port :465,
  secure:true,
  auth:{
    user:email,
    pass:pass
  }
})


mailer.use('compile' , hbs({
  // partialsDir: 'views/header',
  viewEngine: {
    extName: '.hbs',
    partialsDir: 'views/header',
  },
  viewPath : 'views/' ,
  extname  : '.hbs'
}))


  mailer.sendMail( {
    from: 'Admin name <invitation-do-not-reply@mydomain.com> ',
    to: 'receiver email',
    subject: 'subject',
    template: 'myfolder' + '/email',
    context: {
      brandname:req.body.brandname,
      link:req.body.link,


    }
 },(err, response)=>{

  if(err){
    console.log(err)
    res.send('bad email')
  }else{
    res.send("good email")
  }
 })

Ответы [ 2 ]

1 голос
/ 20 апреля 2019

Невозможно запретить отправку текста другому пользователю. Если вы контролируете службу электронной почты, которую использует получатель (например, у вас есть корпоративный почтовый сервер, и вы пересылаете электронную почту через него), вы сможете увидеть, пересылал ли получатель электронную почту, используя тот же сервер, но это было бы просто для них так же просто скопировать письмо на флэш-накопитель и отправить его по электронной почте.

Правительства были бы очень рады, если бы существовала такая возможность. : P

Вы можете сделать ссылку одноразовой, но это не помешает пересылке электронной почты.

0 голосов
/ 20 апреля 2019

Как сказал Дэн Пантри, электронное письмо вне вашего контроля после того, как оно было отправлено.Конечная точка, на которую идет ваша ссылка, - это не

Настройте свою ссылку так, чтобы она однозначно идентифицировала этого человека (в данном случае по электронной почте).Таким образом, если вы отправите приглашение по адресу john.smith@google.com, а он перенаправит его по адресу jane.smith@google.com, пользователь, которому принадлежит jane.smith@google.com, не сможет выполнить действие с этим письмом.

Пример JSON:

{
    "invatationId": "q3eq3-g35yhg3-hfrg53-b0h9",
    "email": "john.smith@google.com"
}
...