Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite.
Estou tendo um problema em um sistema e não consigo visualizar uma solução.
Vamos lá ..
Existe a tabela AGENDAMENTO com as seguintes colunas: ID | EMAIL IMEDIATO | PRÓXIMO EMAIL | INTERVALO
EMAIL IMEDIATO e PRÓXIMO EMAIL faz uma consulta na tabela EMAILS onde tem textos cadastrados.
Eu quero que toda vez que for cadastrado um AGENDAMENTO, seja feito o envio na hora do EMAIL IMEDIATO e que o PRÓXIMO EMAIL seja enviado de acordo com o INTERVALO cadastrado.
O INTERVALO ta sendo cadastrado com número de 1 a 48, que é o número de horas para o intervalo.
Eu não to conseguindo visualizar uma solução para isso, podem me ajudar?
A minha dúvida é a seguinte: Toda vez que eu cadastrar o agendamento, o EMAIL IMEDIATO seja enviado na hora que for cadastrado e o próximo email seja enviado de acordo com o intervalo cadastrado.
Vamos supor: o intervalo para o próximo email foi de 2 horas.
O email imediato vai ser enviado assim que for cadastrado o agendamento e o próximo daqui a 2 horas.
Eu estava tentando executar um script junto com o cronjob. mas não sei como fazer isso dar certo.
O Mysql tem um objeto chamado EVENT que permite o agendamento de tarefa , outros BDs tem coisas semelhantes.
1) Mande o email imediato e grave a data/hora de envio do segundo.
2) Rode uma procedure de x em x minutos que veja quais emails já deveriam ter sido enviados e os enviei gravando um campo indicando o envio.
Então Motta, aí que ta o problema. Não tenho ideia de como criar esse EVENT.
Como o segundo email seria enviado através de EBENT?
,
Aí pega pois não domino php/mysql , conheço o EVENT apenas de forma superficial , mas creio já ser um caminho.
Basicamente sei o que o EVENT chama uma procedure , neste procedure você faria (grosso modo)
um sql para determinar que deveria ter email enviado
status=nao enviado e datahoraprevista < datahora atual
envia o email
grava enviado no status
Qual sua dúvida ?
Mandar o email ?
Agendar um evento ?