Можно ли отправить письмо из JavaScript?
Важное примечание. Мой JavaScript является скриптом MongoDB, поэтому он не внутри браузера/веб-страницы
Мой сервер MongoDB не имеет доступа к Интернету, только почтовый сервер mailhost
.
Таким образом, стандартное решение, такое как window.open('mailto:test@example.com')
или SmtpJS.com, невозможно.
Оболочка Mongo может вызывать системный двоичный файл, например
run("sh", "-c", `echo "The message body" | mail -s "The Subject" recip@emailsite.com`);
Но, насколько мне известно, команда run
предназначена только для внутренних целей и может быть удалена уже в текущей версии.
почему бы вам не создать еще один сервис, который отправляет почту и получает к ней доступ через HTTPS? это то, что javascript делает лучше всего... делая вызовы на отдых
Нет, обычный JavaScript не может этого сделать, так как нет API для доступа к сети. Однако это не то, о чем вы на самом деле спрашиваете. Среда JavaScript mongodb (я полагаю, вы имеете в виду mongosh?) предоставляет сетевой API, и да, вы можете использовать его для отправки электронных писем на свой почтовый хост.
@Bergi, я все еще использую устаревший mongo. У вас есть ссылка на сетевой API? Я не нахожу ни для
mongo
, ни дляmongosh
.@ Ctznkane525, как уже упоминалось, я не в среде браузера. Команды типа
request = new XMLHttpRequest()
илиresponse = await fetch('http://localhost/mail-service.json')
возвращают ошибкуuncaught exception: ReferenceError: XMLHttpRequest is not defined
@WernfriedDomscheit Разве документация по
require
модулям nodejs не применима и к старой оболочке mongo?require
и многие другие API недоступны в устаревшей оболочке, новыйmongosh
выглядит лучше. Однако базовые методы, такие какXMLHttpRequest()
илиfetch
, недоступны. Как я могу получить их, если они изначально не поддерживаются?@WernfriedDomscheit Эти «основные методы», которые вы упомянули, являются API браузера, и они все равно не помогут вам отправить электронную почту. Что вам нужно, так это голый сетевой сокет, или еще лучше просто пакет mail или nodemailer.
@Bergi, да, именно это я и искал. «Новый» монгош по-прежнему ужасен и имеет много багов — посмотрим, как он будет работать.