Если сервер rails не работает, он не будет пытаться отправлять сообщения (однако см. Примечание в конце)
Но случай с задачей rake, которую вы хотите запустить, пока сервер работает, интересен , Я не думаю, что есть какой-либо опубликованный способ отключить «удаленный процесс -> сервер», но этот патч будет выполнять то же самое:
module Hyperstack
def self.send_to_server(*args)
# drop the message on the floor
end
end
Просто добавьте это в задачу rake. [114 ]
Относительно того, что сервер «не работает», один случай, который не работает, это то, что сервер фактически «работает», но просто никогда не отвечает. См. https://github.com/hyperstack-org/hyperstack/issues/144 для получения подробной информации. Если вы пытаетесь отладить проблему с сервером, то тот же патч, описанный выше, поможет, пока эта проблема не будет устранена.
Обычно:
1) Настройте специализированный почтовый ящик для цели.
2) Имейте монитор программы почтовый ящик (скажем, fetchmail, так как это - то, что я делаю).
3) Когда электронное письмо прибывает в учетную запись, fetchmail загружает электронную почту, пишет это в диск и называет сценарий или программу, которую Вы записали с почтовым файлом как аргумент.
4) Ваш сценарий или программа анализируют электронную почту и принимают соответствующие меры.
Часть это обычно таинственно людям, является fetchmail частью (#2).
Конкретно на Почтовых серверах (эквивалентность Вы управляете mailserver достаточно для перенаправления электронных писем к сценариям):
1-3) Настройте адрес, который будет передан по каналу к сценарию, который Вы записали.
4) То же как выше.
От Ваших тегов я предположу, что Вы желаете сделать это в Django.
Существует приложение, там названное jutda-справочной-службой, которая делает точно, что Вы ищете использование poplib, что означает, что просто необходимо настроить совместимый адрес электронной почты POP3.
Смотрите на их get_email.py, чтобы видеть, как они делают это. Вы просто запускаете этот скрипт от крона.
Это - область, где мир направляющих вперед: Направляющие имеют встроенную поддержку того, чтобы получить электронные письма. Почта разъединяет конфигурацию, хотя, вероятно, все равно.
Для наблюдения рабочего примера о том, как получить электронные письма в Python и процессе затем с помощью django проверьте это: http://code.google.com/p/jutda-helpdesk/
Общий инструмент, используемый с этой целью, является procmail.
Необходимо настроить выделенный адрес электронной почты (который является адресом "from_email" в исходящей почте). Затем Ваш MTA, такой как постфикс или qmail, поставит почту тому адресу к procmail вместо фактического почтового ящика.
Procmail может затем передать электронную почту на Ваш сценарий Python, который может сделать обновления в приложении. См. автономные django сценарии James Bennett о том, как кодировать сценарии Python, которые могут работать с Вашим приложением.
Вам следует взглянуть на Lamson ; это позволит вам делать то, что вы описали, и многое другое.