我在使用 nodemailer 发送电子邮件时遇到问题

时间:2021-02-12 17:01:23

标签: javascript html css nodemailer

当我尝试通过我的联系表格发送电子邮件时,我收到一个错误消息 '您使用的地址不属于该平台' <- 我正在使用来自另一个平台的电子邮件发送消息。我使用的 O2.pl 平台仅用于接收消息,但似乎每个想要发送电子邮件的人都必须从在 o2.pl 平台上注册的帐户发送。 这是我的代码

const transporter = nodemailer.createTransport({
  host: 'poczta.o2.pl',
  port: 587,  
  secure: false,
  auth: {
    user: 'email@o2.pl',
    pass: 'password'
  }
})
const mailOptions = {
  from: req.body.email,
  to: 'email@o2.pl',
  subject: `message from ${req.body.email}: ${req.body.subject}`,
    text: req.body.message
  }
  transporter.sendMail(mailOptions, (error, info) => {
    if(error){
      console.log(error);
      res.send('error');
    }
    else{
      console.log('Email sent: ' + info.response);
      res.send('success')
    }
  })
})

这是另一个代码

const contactForm = document.querySelector('.contactFormm');

let email = document.getElementById('email');
let name = document.getElementById('name');
let subject = document.getElementById('subject');
let message = document.getElementById('message');

contactForm.addEventListener('submit', (e)=>{
  e.preventDefault();
  let formData = {
    email: email.value,
    name: name.value,
    subject: subject.value,
    message: message.value
  }
  let xhr = new XMLHttpRequest();
  xhr.open('POST', '/');
  xhr.setRequestHeader('content-type', 'application/json');
  xhr.onload = function(){
    console.log(xhr.responseText);
    if(xhr.responseText =='success'){
      alert('Email sent');
      email.value = '';
      name.value = '';
      subject.value = '';
      message.value = '';
    }
    else{
      alert('Something went wrong!')
    }
  }
  xhr.send(JSON.stringify(formData))
})

1 个答案:

答案 0 :(得分:0)

您的代码段的第一部分看起来不错。您是否尝试过使用 gmail 进行测试以确定 poczta 是否存在问题?