Как доставить почту в указанное время, ко второму

393
Boyd

Что было бы хорошей стратегией для доставки почты в определенное время, например, в 20:00:00, при этом гарантируя, что она не будет доставлена ​​даже на секунду раньше.

Я пытаюсь подать заявление куда-нибудь. Доступно только несколько мест, и они выбирают в зависимости от порядка получения электронных писем заявителя после открытия регистрации. Письма, которые приходят даже на секунду раньше, игнорируются.

Я знаю о плагинах, которые могут отправлять электронную почту в определенное время. Но мне интересно, есть ли другие (лучшие) возможности. Можно ли установить в письме заголовок, содержащий время? Как можно сгладить процесс доставки SMTP? и т.п.

1
Единственный способ гарантировать это - получить доступ к своему почтовому серверу и разместить его там напрямую. Слишком много серверов, ретрансляторов и других устройств, которые вставляют свои собственные задержки, чтобы гарантировать точное время доставки. Электронная почта никогда не должна использоваться для срочных целей. Это также поднимает вопрос о синхронизации времени. В какое время их система «открывается» синхронизируется с интернет-сервером времени 1-го уровня? Если нет или если они вообще не используют сервер времени, то вы не можете гарантировать, что их время согласуется с вашим временем, делая это практически невозможным. Mokubai 6 лет назад 1
Если это должно работать каким-либо значимым образом, то они должны отправить «приложения сейчас открыты!» Сообщение, которое вы можете вызвать, что делает ваш вопрос спорным. Mokubai 6 лет назад 1
Если это просто кто-то в отделе кадров, который просматривает временные метки в электронных письмах, это контролируется отправляющим клиентом. Измените ваши системные часы, и вот оно. Если кто-то читает фактические заголовки, тогда становится сложнее ... ivanivan 6 лет назад 0
@Mokubai Вот что меня расстраивает, они только дали мне время, и тогда вы просто должны надеяться, что ваше письмо волшебным образом будет самым быстрым, а их собственное время настроено правильно. Boyd 6 лет назад 0
@ivanivan Я думаю, они просто смотрят на свой почтовый клиент. Boyd 6 лет назад 0

1 ответ на вопрос

7
Attie

Ты не можешь

Из-за того, как работает электронная почта, это абсолютно невозможно.

Ваш почтовый клиент доставит сообщение на ваш сервер, который затем передаст сообщение на другой сервер и т. Д., Пока, наконец, сообщение не будет передано на целевой сервер. Даже в этом случае почтовый клиент целевого пользователя должен получить и просмотреть сообщение.

Из-за этой цепочки невозможно гарантировать, что сообщение будет доставлено в конечную систему с какой-либо степенью точности, а также, что является « конечной » системой? Сервер или ваш почтовый клиент?

Фактически, вся система включает в себя повторные попытки, что позволяет любой из ссылок потерпеть неудачу и сообщение застревает на сервере на неопределенный период времени.

Наконец, как упоминал Мокубай в комментариях ... время - сложная тема. Все часы работают с разной скоростью, и хотя многие системы используют NTP в наши дни, у них все еще есть недостатки - например, что, если сообщение было доставлено в 20:00:00 и 999999 микросекунд ... вы его включили?

Помимо проблем с синхронизацией, у вас возникают проблемы с доверием, как только вы решите использовать временные метки из других систем.


Использование Mokubai сообщения « Приложения теперь открыты! » Решит вашу проблему, потому что принимающая система передала вам свое состояние, на которое вы можете отреагировать.

Вы не можете отправить сообщение до того, как откроется окно, потому что вы получили уведомление об открытии окна (что потребовало некоторого времени, чтобы добраться до вас).


Если окно открыто только в течение короткого периода времени или если есть « гонка », чтобы получить первое сообщение, то я бы предположил, что электронная почта не является подходящим инструментом для работы.

Ваш ответ является более полным, я удалил свой. gronostaj 6 лет назад 1
Сожалею! в результате я почувствовал необходимость расширяться дальше ... Attie 6 лет назад 0
Спасибо за Ваш ответ. Я согласен с тем, что электронная почта - это странный способ справиться с методом «первым пришел - первым обслужен». К сожалению, это то, как они делают это прямо сейчас. Я боюсь, что это сводится к глупой удаче, когда моя электронная почта является первой, которую они получают. Boyd 6 лет назад 0
Обратите внимание, что можно гарантировать, что он получит _sent_ (просто не доставлено) в точное время, вы просто убедитесь, что отправили его тогда. На самом деле, это будет _последовательно_ переводиться к тому, что оно будет доставлено на конечный сервер (отсюда и «полученная» временная метка, которую показывает большинство почтовых клиентов) в течение не более нескольких десятков секунд. Austin Hemmelgarn 6 лет назад 0

Похожие вопросы