Электронная почта отправляется только с двух сетевых подключений - PullRequest
0 голосов
/ 15 января 2019

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

Сначала я использовал SendGrid и подумал, что проблема в SendGrid. Я даже связался со службой поддержки SendGrid, и мне сказали, что код верен, и с моими настройками тоже все в порядке. На следующем шаге я попробовал Nodemailer - к сожалению, тот же эффект ...

Нужна подсказка, в чем может быть проблема?

Ниже мой код отвечает за создание и отправку запроса электронной почты:

Вот код

const express = require("express");
const cors = require("cors");
const sgMail = require("@sendgrid/mail");

require("dotenv").config();
const API_KEY = process.env.REACT_APP_SG_MAIL_API_KEY;
sgMail.setApiKey(API_KEY);

const app = express();

app.use(cors());

app.get("/", (req, res) => {
  res.send("Hello");
});

app.get("/send-email", (req, res) => {
  const { recipient, sender, topic, html, senderName } = req.query;
  let subject = topic + senderName;
  const msg = {
    to: recipient,
    from: sender,
    subject: subject,
    html: html
  };

  sgMail.send(msg).then();
});

app.listen(4005, () => {
  console.log("Server 4005 is listening");
});

Как я уже говорил, он отлично работает с двумя конкретными сетями, упомянутыми выше.

EDIT: Вот мой запрос на получение:

fetch(
      `${window.location}/send-email?recipient=${email.recipient}&sender=${
        email.sender
      }&topic=${email.subject}&html=${myhtml}&senderName=${senderName}`,
      { mode: "no-cors" }
    ).catch(err => console.log(err));
...