Могу ли я вызвать скрипт php из javascript без его нахождения на веб-сервере? - PullRequest
1 голос
/ 27 февраля 2012

Мне нужна простая html + javascript страница, которая должна отправлять несколько электронных писем в заранее определенный список пользователей одним нажатием кнопки.

Мне нужна html-страница, чтобы иметь возможность локально запускаться на компьютерена котором не установлен веб-сервер.

Если бы это была просто html-страница, это не было бы проблемой.Но из всего, что я прочитал, невозможно отправлять электронные письма напрямую из javascript / jquery ( см. Этот пост StackOverflow здесь, например ).Вместо этого мне нужно вызвать какой-то сценарий, чтобы на самом деле отправлять электронные письма.

Я также посмотрел этот пост , но этот, похоже, касается запуска автономного сценария, а не вызоваметод с параметрами.Я не уверен, что это то, что мне нужно.

Я ищу способ отправки электронных писем без необходимости запуска веб-сервера на компьютере.Это не обязательно должен быть PHP.Есть ли простой способ сделать это, не требуя наличия веб-сервера на компьютере?

Ответы [ 4 ]

4 голосов
/ 27 февраля 2012

Чтобы ответить на ваш вопрос: нет, невозможно выполнить серверный код (который должен быть отправкой электронной почты) без сервера для запуска этого кода - PHP, Python, Ruby или чего-либо еще.

Вы можете посмотреть на использование сторонней службы, например http://postageapp.com/, но имейте в виду, что это повлечет за собой затраты, и вам придется перенаправлять содержимое этих писем через эту стороннюю службу. .

1 голос
/ 27 февраля 2012

Вы можете запустить PHP без веб-сервера и использовать его в качестве инструмента командной строки:

http://www.php.net/manual/en/features.commandline.usage.php

Ваша проблема заключается в том, что вам нужен какой-то способ получения «состояния» информации вашего клиента / сервера из JavaScript. Вы не можете (легко) писать файлы с помощью JavaScript, но вы можете выдавать стандартные HTTP-запросы. Для этого вам понадобится веб-сервер.

Вы говорите, что это будет работать автономно на рабочей станции. Возможно, вам будет проще настроить разрешения безопасности ( см. Здесь ) для записи в локальный файл, содержащий параметры электронной почты, а затем использовать задание cron или запланированное задание на локальном компьютере для анализа запуска файла. по электронной почте.

1 голос
/ 27 февраля 2012

Для подключения к SMTP-серверу вам понадобится какой-нибудь серверный скрипт.

Поскольку JavaScript не поддерживает междоменные запросы , вы также не можете $.post() на внешний URL-адрес ...

0 голосов
/ 27 февраля 2012

Вам необходимо запустить серверный скрипт для отправки писем.

Если у вас есть возможность использовать другой веб-сервер, вы можете вызвать скрипт через AJAX следующим образом:

$.ajax({    
  url: "http://some.remote.server/send_email.php",
  data: {
    receipient: "some.guy@domain.tdl",
    subject: "Some Subject",
    body: "Hello Dude!"
  },
  success: function(){
     // ...
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...