Автоматически отправлять несколько писем из Outlook в определенное время
Мне нужно отправлять электронные письма каждые 10 секунд в течение примерно 2 минут, но я хотел бы запланировать, чтобы это происходило, начиная с определенного времени (8:59) и заканчивая около определенного времени (9:01).
Я должен убедиться, что электронное письмо отправляется начиная с 8:59 для первого и отправлять одно и то же электронное письмо каждые 10 секунд (с интервалом), но мне нужно, чтобы оно заканчивалось в 9:01 или около того.
Ниже я перечислил ДВА варианта автоматической отправки писем в определенное время.
Используйте sendEmail, Batch Script и планировщик задач Windows
Один из способов (в нижней части моего ответа) - планирование пакетного сценария для отправки по настраиваемому расписанию с помощью планировщика задач Windows с приложением sendEmail .
Я установил логику пакетного сценария ниже для сценария sendEmail, чтобы в нем был счетчик, который начинается с 0 и заканчивается на 12 с примерно 10 секундами между каждой следующей старшей цифрой, считая на 1.
(Это означает, что вы захотите запустить этот скрипт в точное время и в секунду, в которую вы хотите его запустить, и он будет отправлять каждые 10 секунд до 2 минут (например, 8:59:00 AM) после этого момента.)
Похоже, что планировщик заданий Windows не настолько детализирован с планированием или запуском задачи с точностью до секунды (кажется, что это предел в одну минуту). Я поместил 120-секундный таймер в логику пакетного сценария, приведенного ниже, и он будет отправлять электронное письмо каждые 10 секунд, пока не будет подсчитано до 120 секунд (или двух минут), а затем завершится.
Получение и отправка sendEmail по расписанию с помощью пакетного скрипта
Запланированный пакетный скрипт с sendEmail
(У вас должна получиться скачать и запустить вышеупомянутую "Нет TLS" для приложения sendEmail, которое вы запланируете для отправки писем с помощью пакетного сценария, вызова его из командной строки и планирования с помощью планировщика задач Windows - если у вас есть проблемы или вам нужно пройти аутентификацию с помощью TLS, я добавлю пример сценария, как это сделать так же, если это необходимо.)
(Когда вы загружаете Zip-файл по указанным ссылкам, просто поместите exe
файл в каталог Windows в переменной окружения PATH
(например, %SYSTEMROOT%\System32
) или явно назовите его полным путем(например, "C:\SendEmail\sendEmail.exe"
) Логика примера пакетного сценария ожидает его в расположении переменной среды PATH
. Если вам нужна логика для явного указания на нее, укажите полный путь, по которому вам нужно ссылаться на exe
и я тоже добавлю пример.)
@ECHO OFF
::: --// Set the counter variable to zero when script begins
SET Counter=0
GOTO :okNowReallySendEmail
:SendEmail
::: --// Add 1 to counter variable to know when it gets to 12 for every 10 seconds is two minutes 8:59 - 9:01
SET /A Counter=%Counter%+1
::: --// Ping delay to loopback roughly 10 second count
PING -n 10 127.0.0.1 > NUL
::: --// End if counter is 12 as that's 12 times 10 which equals 120 seconds roughly
IF %Counter%==12 GOTO EOF
:okNowReallySendEmail
SET EMAILSERVER=emailserver.domain.com
SET subject=This is my subject
SET FromAddress=YourEmailAddress@Domain.com
SET ReplyAddress=YourEmailAddress@Domain.com
SET ToAddress=ToEmailAddress@Domain.com
SET EMAILBODY1=This is my email body paragraph1
SET EMAILBODY2=This is my email body paragraph2
SET Signature=My Name
SENDEMAIL -f %FromAddress% -t %ToAddress% -u %subject% -m "%EMAILBODY1%<br /> <br />%EMAILBODY2%<br /> <br />%Signature%" -s %EMAILSERVER%:25 -o message-content-type=html reply-to=%ReplyAddress%
GOTO :SendEmail
Диспетчер задач
Посмотрите этот ответ здесь для получения полной информации о том, какие опции вы должны выбрать при планировании этого задания с помощью планировщика заданий Windows ⇒ Варианты выбора с помощью настройки заданий планировщика заданий
(Не забудьте поднять этот ответ, если он также полезен)
Использовать задержку Outlook или планировать отправку сообщений
Второй способ - в Outlook (2010 и 2013 гг.) Используется функция « Задержка» или «Расписание отправки сообщений», которая немного менее специфична для части планирования времени (но не для второй).
Когда вы говорите Outlook не отправлять раньше определенного времени в определенную дату, он будет отправлять, как только почтовые сообщения Outlook пытаются отправить элементы очереди, когда это происходит в это время или позже, когда он запускается.
Я видел, что электронная почта, отправленная с помощью этого метода, сохраняла дату и время фактического времени, когда вы отправили эти параметры, и нажимала кнопку Отправить, а не время, которое вы указали, чтобы оно не запускалось раньше. Когда вы нажимаете Отправить, чтобы отправить его, он просто помещается в очередь исходящих сообщений Outlook до этого времени, но не раньше.