Ошибка "ERR_CONNECTION_REFUSED" и "TypeError: NetworkError when attempting to fetch resource" обычно указывает на то, что удаленный сервер не доступен по указанному адресу или порту.
В вашем коде, вы указываете порт 
3000 в запросе на 
https://example.com:3000/server/, но в коде сервера, вы слушаете порт 
3000 на хосте 
example.com/server.
Чтобы исправить это, вам нужно изменить значение 
host в коде сервера на 
example.com и удалить 
/server из пути запроса:
const host = 'example.com';
const port = 3000;
// ...
app.post('/server', (req, res) => { // изменить путь на /server
  // ...
});
Дополнительное, не обязательное: 
Кроме того, вы используете режим "no-cors" в запросе fetch, что означает, что запрос будет выполнен без использования CORS (Cross-Origin Resource Sharing), что может привести к блокировке запроса браузером из-за политики безопасности CORS. Если вы контролируете и настраиваете сервер, на который отправляете запрос, лучше использовать стандартный режим "cors" или "same-origin".
const response = await fetch(
  'https://example.com/server/', // изменить путь на /server
  {
    method: 'POST',
    // mode: 'no-cors', // удалить эту строку
    headers: {
      'Content-Type': 'text/plain',
    },
    body: mail,
  }
);
После проверки параметров host, port и внесения изменений, ваш POST запрос должен пройти успешно.