Ошибка Nodemailer, 553 Ретрансляция запрещена - PullRequest
2 голосов
/ 26 мая 2020

Я новичок в Nodemailer и получаю эту ошибку, когда пользователь связывается со мной через контактную форму. Я использую для этого express. Вот ошибка:

Error: Message failed: 553 Relaying disallowed as email@gmail.com
    at SMTPConnection._formatError (/Users/raghavherugu/Documents/localmainstreetbackend/node_modules/nodemailer/lib/smtp-connection/index.js:784:19)
    at SMTPConnection._actionSMTPStream (/Users/raghavherugu/Documents/localmainstreetbackend/node_modules/nodemailer/lib/smtp-connection/index.js:1661:34)
    at SMTPConnection.<anonymous> (/Users/raghavherugu/Documents/localmainstreetbackend/node_modules/nodemailer/lib/smtp-connection/index.js:1146:22)
    at SMTPConnection._processResponse (/Users/raghavherugu/Documents/localmainstreetbackend/node_modules/nodemailer/lib/smtp-connection/index.js:942:20)
    at SMTPConnection._onData (/Users/raghavherugu/Documents/localmainstreetbackend/node_modules/nodemailer/lib/smtp-connection/index.js:749:14)
    at TLSSocket.SMTPConnection._onSocketData (/Users/raghavherugu/Documents/localmainstreetbackend/node_modules/nodemailer/lib/smtp-connection/index.js:195:44)
    at TLSSocket.emit (events.js:310:20)
    at addChunk (_stream_readable.js:286:12)
    at readableAddChunk (_stream_readable.js:268:9)
    at TLSSocket.Readable.push (_stream_readable.js:209:10)
    at TLSWrap.onStreamRead (internal/stream_base_commons.js:186:23) {
  code: 'EMESSAGE',
  response: '553 Relaying disallowed as email@gmail.com',
  responseCode: 553,
  command: 'DATA'
}

email@gmail.com - это адрес электронной почты пользователя, который пытается связаться со мной, например JohnDoe@gmail.com, et c. Я также использую Zoho.

Вот мой код:

var transport = {
  host: "smtp.zoho.eu",
  port: 465,
  secure: true,
  auth: {
    user: creds.USER, // I have a separate file with my email and password
    pass: creds.PASS, // I have a separate file with my email and password
  },
};
var transporter = nodemailer.createTransport(transport);
router.post("/send", (req, res, next) => {
  const { error } = contactValidation(req.body); // Just a separate function to validate If the user has submitted all entries using Joi
  if (error) return res.send(error.details[0].message);

  var name = req.body.name;
  var email = req.body.emailc;
  var message = req.body.message;
  var content = `name: ${name} \n email: ${email} \n message: ${message} `;

  var mail = {
    from: email,
    to: "myEmail@email.com",
    subject: "New Message from Contact Form",
    text: content,
  };

  transporter.sendMail(mail, (err, data) => {
    if (err) 
      console.log(err);
      res.json({
        status: "fail",
      });
    } else {
      res.json({
        status: "success",
      });
      transporter.sendMail(
        {
          from: "myEmail@email.com",
          to: email,
          subject: "Submission was successful",
          text:
            "Thank you for contacting us! We appreciate your feedback and will strive to get better!",
        },
        function (error, info) {
          if (error) {
            console.error(error);
          } else {
            console.log("Message sent: " + info.response);
          }
        }
      );
    }
  });
});

Я не знаю, в чем причина этой ошибки.

Я пробовал:

  • Обновление моих записей Zoho DNS с помощью Zeit (теперь Vercel, я использую это для хостинга своего веб-сайта)
  • Добавление записей DKIM в мою электронную почту

Я также не знаю, что означает эта ошибка. Если кто может помочь, буду признателен! Заранее спасибо.

...