criar uma aplicacao que envie email automaticos

essa pagina tinha que execultar automaticamento entao eu precisaro do evento onload porem na aplicao blank nao tem

Boa Tarde,

Na aplicação blank só existe um evento que é o onExecute, porém, ele é a mesma coisa do onLoad, pois ele é executado assim que carrega a página.

Rodrigo Lins.

estou com dificuldade na criacao dessa aplicacao ainda nao consegui cria-la se tiver algum exemplo poder me mandar agradeço

Bom Dia,

Em qual ponto exatamente você está tendo dificuldade? Você conseguiu entender como seria o funcionamento da aplicação, o que precisaria ter? Se sim, seria só seguir os passos por partes e ir implementando. Como, por exemplo, implementar a verificação que precisa fazer antes de enviar o email, então seria utilizar a macro sc_lookup (com o select necessario) e validar se seria para enviar ou não o email. Depois de estar OK este passo, seria ir para a parte de enviar o email, conectar com o smtp, etc, utilizando a macro sc_mail_send, depois de testado estas partes e estando da forma que deseja você pode ir para o passo de enviar emails automaticamente através do gerenciador de tarefas do windows.

Acho que estes seriam mais ou menos passos para conseguir fazer a aplicação. Lembrando que o que eu disse anteriormente, vai independer do tipo de aplicação/evento, poderia ser ate no evento onLoad de um formulário e depois de funcionando corretamente você poderia colocar no tipo de aplicação desejada (blank).

Espero ter ajudado.

Rodrigo Lins.

A minha dificuldade agora esta sendo php mesmo para pegar a data para fazer a logica,
mas estou estudando como fazer isso, por esta trabalhando com datas pela primeira vez
essa esta sendo a minha dificuldade se tiver alguma dica ou algum material o site sobre esse topico agradeco

// leitura das datas
$dia = date(‘d’);
$mes = date(‘m’);
$ano = date(‘Y’);

// o padrão pt-br (dd/MM/YYYY) é definido pelo formato de exibição do SC
$data = “$ano$mes$dia”;

Se a DATA foi pega pela macro sc_Loockup e desse jeito tambem que eu pego cada elemento da data .

Não entendi. Quer saber como pegar a data pelo sc_lookup?

a data que eu vou fazer a logica e meu bd para pegar a data eu uso sc_loockup,ela e tranformada em uma variavel do tipo data nesse (aaaa/mm/dd) formato para fazer a minha logica para enviar o email automatico em encima dessa data .

para separar dia, o mes e ano dessa data seria como?

Já está separado:

// Pega a data atual do sistema e separado em dia, mes e ano
$dia = date(‘d’);
$mes = date(‘m’);
$ano = date(‘Y’);

// Monta a data atual do sistema no formato do BD. Uso mySQL
$data = “$ano$mes$dia”;

Aqui vc pegou uma data na sua tabela:

sc_lookup(datatab, “SELECT SUA_DATA FROM SUA_TABELA WHERE COD=‘1’”);

$minha_data = {datatab[0][0]}; // Pega o primeiro campo da primeira linha do lookup

Você pode fazer uma comparação:

if($minha_data > $Data)
{

// Rotina de código para TRUE

}

else
{

// Rotina de código para FALSE

}

eu estou com dificudade na minha logica ,eu peguei o campo data do meu bd atravez sc_lookup , quando eu pego valor do dia atravez da funcao explode do php para somar mas 5 dias no valor da data ele considera como se fosse numero normal entao quando o dia 30 fica 35 ,tambem a parte da data so do campo vazio so funciona um de cada vez nao os dois ao mesmo tempo alguem pode me ajudar .

$dia = date(‘d’);
$mes = date(‘m’);
$ano = date(‘Y’);
$data = “$ano$mes$dia”;

sc_lookup(dataset,“SELECT
data_ins_ext
FROM
s_inspecao_ext
WHERE
cod_insp_ext=’{cod_insp_ext}’”);
{dataset[0][0]};

$minha_data = {dataset[0][0]};
$m= explode("-",($minha_data));
$m1=$m[2]+5;
$data_limit ="$m[0]$m[1]$m1";

if(empty({superv_ins_exp}) && empty){medidas_arc_ext}
{
if (($data_limit > $data))
{
$setor = {cod_setor};
$num = {cod_insp_ext};
$a = “Messias”;
$b = “Antonio”;
$c = “Robson”;
$d = “Tito”;
$e = “Projeto-SSA”;
$f = “Sesmet”;
$g = “Transporte”;
$h = “Administracao”;

if   ($setor == "9" )
{
$nome = "$a";
$para = "rodrigo.manager@hotmail.com ";
$copia = "rodrigowebdevelop@gmail.com";

$mensagem ="<p align=center><font size=5><em><font color=#000000 size=4><u>Esse e-mail é 

automátio e não é para ser respondido.

$nome,

A inspeção nº $num foi colocada no sistema, solicito que responda com brevidade.

Caso queira, acesse <a href=http://wwwww e responda imediatamente essa inspeção.

Atenciosamente,duvida esse ainda nao foi respondido

Sesmet - Eletec-SSA Agora

";
}
sc_mail_send ("smtp.aaaaaaa.com.br", "ssssssss@eeeeee.com.br", "loca1020",

“xxxxxxxxxx@zzzzzzzzzzzz.com.br”,’$para’,‘Inspeção de Campo para Responder’,’$mensagem’, ‘H’,’$copia’, ‘CCC’, ‘’,’’,’’)

}

}

ELSE
{
echo " o campo esta prenchido ";
}

Boa Tarde,

Rodrigo para você fazer a soma de datas utilize a macro sc_date, ele já irá tratar as datas,etc para você.


sc_date (Data, formato, operador, D, M, A)

Esta macro tem por objetivo o cálculo do incremento ou decremento de datas. Para sua utilização são necessários alguns parâmetros, conforme a seguir:

data - Campo de data que contém a data a ser modificada
formato - Formatação em que o campo de data se encontra
operador - “+” para incremento e “-” para decremento
D - Número de dias a incrementar ou decrementar
M - Número de meses a incrementar ou decrementar
A - Número de anos a incrementar ou decrementar

Ex1:
{datanasc} = sc_date ({datanasc}, “dd/mm/aaaa”, "+ ", 30, 0, 0);

Ex2:
$nova_data = sc_date ({datanasc}, “aaaa-mm-dd”, “-”, 15, 3, 2);

Ex3:
{dt_inclusao} = sc_date (date(‘Ymd’), “aaaammdd”, “-”, 0, 1, 1);

Dica:

Para certificar-se do formato da data, antes de utilizar a função, ponha em sua fórmula um comando:
echo "form_data = " . {nome do campo de data};
Rode a aplicação e veja o formato correto

Espero ter ajudado.

Rodrigo Lins.

quando eu uso essa

macro Ex1:
{datanasc} = sc_date ({datanasc}, “dd/mm/aaaa”, "+ ", 30, 0, 0);

a data do meu formulario aparece toda desconfigurada eu na consigo entender aparece os numeros todos desorganizados

ja consegui conserta utilizar a macro

o meu problema esta nessa condicao ela nao esta me dando resultado esperado

if(empty({superv_ins_exp}) && empty){medidas_arc_ext}
{
if (($data_limit > $data))
{
$setor = {cod_setor};
$num = {cod_insp_ext};
$a = “Messias”;
$b = “Antonio”;
$c = “Robson”;
$d = “Tito”;
$e = “Projeto-SSA”;
$f = “Sesmet”;
$g = “Transporte”;
$h = “Administracao”;

if ($setor == “9” )
{
$nome = “$a”;
$para = "rodrigo.manager@hotmail.com “;
$copia = "rodrigowebdevelop@gmail.com”;

$mensagem ="

Esse e-mail é
automátio e não é para ser respondido.

$nome,

A inspeção nº $num foi colocada no sistema, solicito que responda com brevidade.

Caso queira, acesse <a href=http://wwwww e responda imediatamente essa inspeção.

Atenciosamente,duvida esse ainda nao foi respondido

Sesmet - Eletec-SSA Agora

";

}
sc_mail_send (“smtp.aaaaaaa.com.br”, “ssssssss@eeeeee.com.br”, “loca1020”,
“xxxxxxxxxx@zzzzzzzzzzzz.com.br”,’$para’,‘Inspeção de Campo para Responder’,’$mensagem’, ‘H’,’$copia’, ‘CCC’, ‘’,’’,’’)

}

}

ELSE
{
echo " o campo esta prenchido ";
}

Meio confuso esse topico.

peloque percebi tem um espaço na frente do + na macro, pode ser isso.

Bom Dia,

Com relaçào a não estar mostrando os dados corretamente, quando está utilizando a macro sc_date, deve ser por causa do formato da data, que o informado na macro tem que ser o formato interno do banco (o que ele retorna para a aplicação), geralmente é no seguinte padrão yyyy-mm-dd .

E com relação a condição, vai depender da regra de negócio, do que é necessário, para saber se vai atender ou não a solução…

Rodrigo Lins.

Minha regra de negocio e a seguinte que eu estou tentando aplicar se a data do meu banco de dados for x dias + 5 for igual a data atual e se campo de resposta estiver vazio ,envio um email notificando que ainda nao foi obtida resposta a mais de 5 dias .

atraves desta regra

$dia = date(‘d’);
$mes = date(‘m’);
$ano = date(‘Y’);
$data = “$ano$mes$dia”;

$data_limit = sc_date ({data_ins_ext},“aaaammdd”,"+",5,00,00);

echo"

Aqui a data do BD $data_limit

";//um teste para saber se esta aparecendo a data esperada

if (($data> $data_limit )) // primeiro a comparacao das datas
{
if(empty({superv_ins_exp}) && empty{medidas_arc_ext})// sendo a data atual maior que a data limit vejo se os campos de resposta estao prenchidos caso nao esteja preenchido executo o proximo bloco

{// de acordo com seto e numero da especao vai um email para pessoa responsavel
$setor = {cod_setor};
$num = {cod_insp_ext};
$a = “Messias”;
$b = “Antonio”;
$c = “Robson”;
$d = “Tito”;
$e = “Projeto-SSA”;
$f = “Sesmet”;
$g = “Transporte”;
$h = “Administracao”;

if ($setor == “9” )
{
$nome = “$a”;
$para = "rodrigo.manager@hotmail.com “;
$copia = "rodrigowebdevelop@gmail.com”;

$mensagem ="

Esse e-mail é
automátio e não é para ser respondido.

$nome,

A inspeção nº $num foi colocada no sistema, solicito que responda com brevidade.

Caso queira, acesse <a href=http://wwwww e responda imediatamente essa inspeção.

Atenciosamente,duvida esse ainda nao foi respondido

Sesmet - Eletec-SSA Agora

";

}
sc_mail_send (“smtp.aaaaaaa.com.br”, “ssssssss@eeeeee.com.br”, “loca1020”,
“xxxxxxxxxx@zzzzzzzzzzzz.com.br”,’$para’,‘Inspeção de Campo para Responder’,’$mensagem’, ‘H’,’$copia’, ‘CCC’, ‘’,’’,’’)

}

}

ELSE
{
echo " o campo esta prenchido ";
}

Bom Dia,

Pelo que percebi poderia ser continuado com o seu código e alterado apenas alguns detalhes, que estarei marcando em vermelho logo abaixo.

------------=

$dia = date(‘d’);
$mes = date(‘m’);
$ano = date(‘Y’);
$data = “$ano$mes$dia”;

$data_limit = sc_date ({data_ins_ext},“aaaammdd”,"+",5,00,00);

echo"

Aqui a data do BD $data_limit

";//um teste para saber se esta aparecendo a data esperada

if ($data == $data_limit ) // primeiro a comparacao das datas
{
if(empty({superv_ins_exp}) && empty({medidas_arc_ext})) {
// de acordo com seto e numero da especao vai um email para pessoa responsavel
$setor = {cod_setor};
$num = {cod_insp_ext};
$a = “Messias”;
$b = “Antonio”;
$c = “Robson”;
$d = “Tito”;
$e = “Projeto-SSA”;
$f = “Sesmet”;
$g = “Transporte”;
$h = “Administracao”;

if ($setor == “9” ) {
$nome = “$a”;
$para = "rodrigo.manager@hotmail.com “;
$copia = "rodrigowebdevelop@gmail.com”;

$mensagem ="

Esse e-mail é
automátio e não é para ser respondido.

$nome,

A inspeção nº $num foi colocada no sistema, solicito que responda com brevidade.

Caso queira, acesse <a href=http://wwwww e responda imediatamente essa inspeção.

Atenciosamente,duvida esse ainda nao foi respondido

Sesmet - Eletec-SSA Agora

";
}

sc_mail_send (“smtp.aaaaaaa.com.br”, “ssssssss@eeeeee.com.br”, “loca1020”,
“xxxxxxxxxx@zzzzzzzzzzzz.com.br”,’$para’,‘Inspeção de Campo para Responder’,’$mensagem’, ‘H’,’$copia’, ‘CCC’, ‘’,’’,’’)

}

} ELSE {
echo " o campo esta prenchido ";
}

Teste desta maneira

Rodrigo Lins.

Muito Obrigado Rodrigo Assim que testa postarei

Hoje estou em outro setor e so mais atarde vou poder testar

Valeu mesmo pela Luz…

Saudações, Lins!
E se for para enviar a vários destinatários?