Automatically send multiple emails from Outlook at specific times
I have a need to send an email every 10 seconds for about 2 minutes, but I'd like to schedule this to occur starting at a specific time (8:59) and ending near a specific time (9:01).
I need to ensure that an email is sent starting at 8:59 for the first one and send the same email again every 10 seconds (interval-wise) but I need it to end at 9:01 or so.
Abaixo, listei DUAS opções para enviar automaticamente e-mails em horários específicos
Use o sendEmail, o Batch Script eo Windows Task Scheduler
Uma maneira (na parte inferior da minha resposta) é programar um lote script para enviar uma agenda personalizada com o Agendador de Tarefas do Windows com o sendEmail aplicação.
Eu configurei a lógica do script em lote abaixo para o script sendEmail ter um contador que inicie em 0 e termine em 12 com cerca de 10 segundos entre cada próximo dígito mais alto 1 .
(Isso significa que você desejará iniciar este script na hora e no segundo exato em que deseja iniciar e enviará a cada 10 segundos até 2 minutos (por exemplo, 8:59:00 AM ) depois desse ponto.)
ParecequeoAgendadordeTarefasdoWindowsnãoétãogranularcomoagendamentoouoacionamentodeumatarefaparaosegundo(umintervalodeumminutopareceserolimite).Eucoloqueiumtemporizadorde120segundosnalógicadoscriptdeloteabaixo,eeleenviaume-mailacada10segundosatéqueconteaté120segundos(oudoisminutos)etermine.
ObtendoosendEmailprontoeagendadocomoscriptemlote
sendEmail Information
Script em lote agendado com sendEmail
(Você deve conseguir usar o "No TLS" de download e exe acima para o aplicativo sendEmail que será agendado para enviar e-mails com um script em lote, chamando-o via linha de comando e agendando-o com < strong> Agendador de Tarefas do Windows - Se você tiver problemas ou precisar se autenticar com o TLS, adicionarei um exemplo de script como fazê-lo dessa maneira também, se necessário.
(quando você baixar o arquivo Zip dos links fornecidos, basta colocar o exe
em um diretório do Windows em sua variável PATH
environmenal (por exemplo, %SYSTEMROOT%\System32
) ou chamá-lo de "C:\SendEmail\sendEmail.exe"
). A lógica do script de lote de exemplo espera em um local de variável de ambiente PATH
. Se você precisa de lógica para apontar explicitamente, informe-me o caminho completo onde você precisa referenciar exe
e vou adicionar um exemplo dessa forma também.)
@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 [email protected]
SET [email protected]
SET [email protected]
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
Agendador de Tarefas
Veja esta resposta aqui para detalhes completos sobre quais opções você deve escolher ao agendar este trabalho com o Agendador de Tarefas do Windows ⇒ Opções a serem selecionadas com a Configuração do Job Scheduler
(Não se esqueça de aumentar esta resposta se for útil também)
Use o atraso do Outlook ou agende o envio de mensagens
A segunda maneira é com o Outlook (2010 e 2013) usando o recurso Atraso ou agendar envio de mensagens que é um pouco menos específico na parte de agendamento de tempo (não por o segundo também).
Quando você informa ao Outlook que não envia antes de um determinado horário em determinada data, ele é enviado assim que os e-mails da caixa de saída do Outlook tentam enviar itens da fila para fora quando é hora ou mais tarde quando é acionado.
Eu tenho visto o e-mail enviado por esse método manter o carimbo de data e hora da hora em que você enviou essas opções e pressione Enviar em vez da hora que você disse para não executar antes. Quando você pressiona Enviar para enviá-lo, ele fica em uma fila de caixa de saída do Outlook até aquela hora, mas não antes.