Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

09-06-2014 16:26

Olá, estou com um sistema de cadastro de clientes para controle.
Porém esse cadastro tem os seguintes campos:

data do contrato
vendedor
programador


o contrato é de 24 meses, no entanto preciso de uma forma que quando esse contrato "CADASTRO" completar 23 meses, automaticamente o vendedor,programador e o administrador receberá um email de aviso alertando o término desse contrato.

obs.
o vendedor e programador, está vinculado a esse cadastro.

se puderem me ajudar em algo agradeço.

MOVIDO PARA MYSQL
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

alerta por email

09-06-2014 16:39

Dá uma olhada nesse post expiracao-automatica-de-anuncio-com-avi ... _6289.html

É a primeira resposta.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

20-06-2014 11:35

olhei o post acima, não tive sucesso com os scripts, no meu caso é o seguinte:

tenho uma tabela clientes com vários dados, nessa tabela existe um campo chamado "data_venda" e "data_expiracao"
ex: data_venda (20/06/2014 )
data_expiração(20/06/2016) , são 24 meses, 30 ou 50 meses de contrato.

Em cada cadastro que são vários, preciso que um script a cada 24hs, pesquise e se algum cadastro estiver trinta dias antes do termino da data de expiração, envie um email para alertando a expiração.

testei os scripts do post mas não entendi muito e não funcionou comigo, se alguém puder me ajudar ficarei muito grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

alerta por email

20-06-2014 14:44

Eu fiz um teste assim com o seguinte valor no banco de dados: 21/06/2014 sendo hoje dia 20/06/2014

SELECT coluna_da_data FROM minha_tabela WHERE to_days(STR_TO_DATE(coluna_da_data, '%d/%m/%Y')) - to_days(NOW()) = 1

O 1 acima representa a diferença de dias. Ai você tem que substituir o 1 pela quantidade de dias desejado.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

20-06-2014 15:51

ficou assim:

$query=mysql_query("SELECT data_venda FROM clientes WHERE to_days(STR_TO_DATE(data_venda, '%d/%m/%Y')) - to_days(NOW()) = 30"); $hoje = date('Y-m-d'); $vencimento = ('30/06/2014'); $a = explode("-","$vencimento"); $b = explode("-","$hoje"); $antiga= mktime(0, 0, 0, $b[1], $b[2], $b[0]); $atual= mktime(0, 0, 0, $a[1], $a[2], $a[0]); $diferenca= $atual-$antiga; $dias = floor($diferenca/84600); if($dias=='15') { echo "<font color=\"blue\">faltam 15 dias</font>"; } elseif($dias=='10') { echo "<font color=\"blue\">faltam 10 dias</font>"; } elseif($dias=='5') { echo "<font color=\"blue\">faltam 5 dias</font>"; } else { echo "faltam $dias"; } 

mas o resultado não apareceu 10 dias e sim isso:

faltam 5762

???
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

alerta por email

20-06-2014 15:55

O código que indiquei foi para uma consulta MySQL. O resultado você irá obter via while. Que vai listar os registros de acordo com a query.

<?php $query=mysql_query("SELECT coluna_da_data FROM minha_tabela WHERE to_days(STR_TO_DATE(coluna_da_data, '%d/%m/%Y')) - to_days(NOW()) = 10"); // 10 DIAS DE DIFERENÇA while($campos=mysql_fetch_array($query)) { echo " {$campos['coluna_da_data']} "; // AQUI ENTRA O ENVIO DE EMAIL } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

23-06-2014 09:55

entendi, mas no caso de envio de email após isso:

echo " {$campos['coluna_da_data']} "; // AQUI ENTRA O ENVIO DE EMAIL         //(script de envio de email) }//aqui termina o email 

certo?

no caso nessa minha tabela haverá para cada cliente um responsável, ou seja a cada cadastro de cliente terá um email técnico,
como no caso seria esse envio, ou seja o doc vai fazer a consulta e ao mesmo tempo terá que enviar o email pro tecnico alertando os dias de diferença ,
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

alerta por email

23-06-2014 10:19

Sim, o bloco com a função mail() para o envio vai estar dentro do while.

A query da consulta indicada vai buscar na tabela pelas datas. Supondo que você tenha o email que receberá os dados de diferença de dias na mesma tabela, é só puxar a variável na query mesmo.

Caso contrário, terá que fazer uma nova consulta, ou fazer algum tipo de join, caso as tabelas que serão usadas tenham alguma coluna em comum.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

23-06-2014 10:54

no meu caso ficou assim:

<?php $query=mysql_query("SELECT data_site_ar FROM clientes WHERE to_days(STR_TO_DATE(data_site_ar, '%d/%m/%Y')) - to_days(NOW()) = 10"); // 10 DIAS DE DIFERENÇA while($campos=mysql_fetch_array($query)) { echo " {$campos['data_site_ar']} "; // AQUI ENTRA O ENVIO DE EMAIL } ?>

tem um campo dentro de "clientes" chamado : "email_tecnico" como puxar a variável e ou fazer essa consulta ?
lembrando que o email tecnico poderá ter de 1 a vários clientes.

no caso da função mail esse script tem como utilizar?

    /send emails to the expire agents     //            10 days to the Expire Date (ExpDate)     $ten1 = mktime(0,0,0,date(m),date(d) + 10,date(Y));     $ten2 = mktime(23,59,59,date(m),date(d) + 10,date(Y));     $qexp = "select * from re2_agents where ExpDate between '$ten1' and '$ten2' and days10 = 'n' ";     $rexp = mysql_query($qexp) or die(mysql_error());     if(mysql_num_rows($rexp) > '0')     {         while($aexp = mysql_fetch_array($rexp))         {             //send an email             $to = $aexp[email];             $subject = "10 dias para expirar!";             $message = "Olá $aexp[FirstName] $aexp[LastName],\nsua conta em $_SERVER[HTTP_HOST] expirará em 10 dias!\n\nPara renovar sua conta, entre com seu nome de usuário e senha e vá em \"Renovar Conta\" .\n\nObrigado!\n$_SERVER[HTTP_HOST]";             $headers = "MIME-Version: 1.0\n";              $headers .= "Content-type: text/plain; charset=iso-8859-1\n";             $headers .= "Content-Transfer-Encoding: 8bit\n";              $headers .= "From: $_SERVER[HTTP_POST] <$aset[ContactEmail]>\n";              $headers .= "X-Priority: 1\n";              $headers .= "X-MSMail-Priority: High\n";              $headers .= "X-Mailer: PHP/" . phpversion()."\n";              mail($to, $subject, $message, $headers);             mysql_query("update re2_agents set days10 = 'y' where AgentID = '$aexp[AgentID]' ") or die(mysql_error());         }     } 


agradeço desde já !
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

alerta por email

23-06-2014 11:07

Primeiro você deve puxar a coluna do email

SELECT data_site_ar, email_tecnico....

Supondo que o separador entre cada email da coluna email_tecnico seja uma vírgula, dentro do while deve ter esse bloco.

$email = $campos['email_tecnico']; if(strstr($email, ',')==TRUE) { $q_email = explode(",", $email); foreach($q_email AS $n_email) { // ENVIO DO EMAIL MAIS DE UM echo "$n_email"; } } else { // ENVIO DO EMAIL ÚNICO echo "$email"; } 

Esse trecho com o echo dentro das linhas comentadas é onde entrará a parte do envio, porque caso seja mais de um email vai gerar um laço, para enviar para todos os emails.

A parte do envio você tem que testar ai. Você tem que observar se todas variáveis que vai colocar estão sendo chamadas. Dentro do bloco.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

24-06-2014 09:31

então ficou assim:

<?php $dbhost="localhost"; /* servidor */ $dbuser="root"; /* usuário do banco de dados */ $dbpasswd=""; /* senha do banco de dados */ $dbname="clientesyaslip"; /* nome do banco de dados */ /* abaixo abrimos a conexão com os dados acima */ $conexao = @mysql_connect($dbhost, $dbuser, $dbpasswd) or die ("não foi possível a conexão, verifique os dados."); $db = @mysql_select_db($dbname) or die ("não foi possível o acesso ao banco de dados $dbname."); $query=mysql_query("SELECT data_expiracao, email_vendedor FROM clientes WHERE to_days(STR_TO_DATE(data_expiracao, '%d/%m/%Y')) - to_days(NOW()) = 5"); // 5 DIAS DE DIFERENÇA while($campos=mysql_fetch_array($query)) { echo " {$campos['email_vendedor']} "; // AQUI ENTRA O ENVIO DE EMAIL         $email = $campos['email_vendedor'];                  if(strstr($email, ',')==TRUE) {         $q_email = explode(",", $email);         foreach($q_email AS $n_email) {                      // ENVIO DO EMAIL MAIS DE UM             echo "$n_email";                          //send an email                          $subject = "10 dias para expirar!";             $message = "Olá,\ seu cliente expirará em 10 dias!\n\nEntre em contato com ele para possível renovação do conrato \"Renovar Conta\" .\n\nObrigado!\n$_SERVER[HTTP_HOST]";             $headers = "MIME-Version: 1.0\n";              $headers .= "Content-type: text/plain; charset=iso-8859-1\n";             $headers .= "Content-Transfer-Encoding: 8bit\n";              $headers .= "From: $_SERVER[HTTP_POST] <$aset[ContactEmail]>\n";              $headers .= "X-Priority: 1\n";              $headers .= "X-MSMail-Priority: High\n";              $headers .= "X-Mailer: PHP/" . phpversion()."\n";              mail($to, $subject, $message, $headers);     }     } else {          // ENVIO DO EMAIL ÚNICO     echo "$email";          }  } ?>

mas se puder me ajudar nessa função mail agradeço.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

alerta por email

24-06-2014 12:07

Testou? Retornou algum erro?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

24-06-2014 12:26

negativo, não retornou a nenhum erro, mas tbm não enviou nenhum email.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

alerta por email

24-06-2014 12:31

A princípio, testa somente o bloco do email isolado.

         $subject = "10 dias para expirar!";             $message = "Olá,\ seu cliente expirará em 10 dias!\n\nEntre em contato com ele para possível renovação do conrato \"Renovar Conta\" .\n\nObrigado!\n$_SERVER[HTTP_HOST]";             $headers = "MIME-Version: 1.0\n";              $headers .= "Content-type: text/plain; charset=iso-8859-1\n";             $headers .= "Content-Transfer-Encoding: 8bit\n";              $headers .= "From: $_SERVER[HTTP_POST] <$aset[ContactEmail]>\n";              $headers .= "X-Priority: 1\n";              $headers .= "X-MSMail-Priority: High\n";              $headers .= "X-Mailer: PHP/" . phpversion()."\n";              mail($to, $subject, $message, $headers); 

Observa que você tem que definir as variáveis, por exemplo $to você não definiu, então, o email não vai para ninguém.

Após testar só o bloco do email, e estiver funcionando, testa o sua consulta, sem o email, para ver o retorno do echo. Depois, só aplicar o bloco do email colocando as variáveis corretas, como $to.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

24-06-2014 14:11

ficou assim:

$query=mysql_query("SELECT data_expiracao, email_vendedor FROM clientes WHERE to_days(STR_TO_DATE(data_expiracao, '%d/%m/%Y')) - to_days(NOW()) = 1"); // 1 DIAS DE DIFERENÇA while($campos=mysql_fetch_array($query)) { echo " {$campos['email_vendedor']} "; // AQUI ENTRA O ENVIO DE EMAIL         $email = $campos['email_vendedor'];                  if(strstr($email, ',')==TRUE) {         $q_email = explode(",", $email);         foreach($q_email AS $n_email) {                      // ENVIO DO EMAIL MAIS DE UM             echo "$n_email";                          //send an email            // 10 days to the Expire Date (ExpDate) $ten1 = mktime(0,0,0,date(m),date(d) + 1,date(Y)); $ten2 = mktime(23,59,59,date(m),date(d) + 1,date(Y)); $qexp = "select * from clientes where data_expiracao between '$ten1' and '$ten2' and days1 = 'n' ";             $to = $aexp[email];             $subject = "1 dias para expirar!";             $message = "Olá,\ seu cliente expirará em 1 dias!\n\nEntre em contato com ele para possível renovação do conrato \"Renovar Conta\" .\n\nObrigado!\n$_SERVER[HTTP_HOST]";             $headers = "MIME-Version: 1.0\n";              $headers .= "Content-type: text/plain; charset=iso-8859-1\n";             $headers .= "Content-Transfer-Encoding: 8bit\n";              $headers .= "From: $_SERVER[HTTP_POST] <$aset[ContactEmail]>\n";              $headers .= "X-Priority: 1\n";              $headers .= "X-MSMail-Priority: High\n";              $headers .= "X-Mailer: PHP/" . phpversion()."\n";              mail($to, $subject, $message, $headers);     }     } else {          // ENVIO DO EMAIL ÚNICO     echo "$email";          }  } 

fiz os testes,
mas no caso ao invés de enviar está printando na tela os emails
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

alerta por email

24-06-2014 14:17

Você tem que verificar se seu servidor suporta envio de email.

Coloca os valores solicitados na linha abaixo, e testa só esse código. Funcionando, coloca as variáveis vinda do bd de acordo com o necessário, e adiciona o bloco ao script.

// ENVIADOR DO FORMULÁRIO $de = ""; // RECEBEDOR DO FORMULÁRIO $para = "voce@hotmail.com";  // ASSUNTO $assunto = "";  // MENSAGEM DO EMAIL $mensagem = ""; $header = "MINE-Version: 1.0\n"; $header.= "Content-type: text/html; charset=iso-8859-1\n"; $header.= "From: ".$de."\n"; if(mail($para, $assunto, $mensagem, $header)) { echo "Email enviado com sucesso."; } else { echo "Erro ao enviar o email."; } 

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

08-07-2014 11:41

certo, o script acima deu certo !

conforme o seguinte:

<?php $dbhost="localhost"; /* servidor */ $dbuser="aquecedo"; /* usuário do banco de dados */ $dbpasswd="yaslip56"; /* senha do banco de dados */ $dbname="aquecedo_yaslip"; /* nome do banco de dados */ /* abaixo abrimos a conexão com os dados acima */ $conexao = @mysql_connect($dbhost, $dbuser, $dbpasswd) or die ("não foi possível a conexão, verifique os dados."); $db = @mysql_select_db($dbname) or die ("não foi possível o acesso ao banco de dados $dbname."); $query=mysql_query("SELECT data_expiracao, email_vendedor FROM clientes WHERE to_days(STR_TO_DATE(data_expiracao, '%d/%m/%Y')) - to_days(NOW()) = 2"); // 2 DIAS DE DIFERENÇA while($campos=mysql_fetch_array($query)) { echo " {$campos['email_vendedor']} "; // AQUI ENTRA O ENVIO DE EMAIL         $email = $campos['email_vendedor'];                  if(strstr($email, ',')==TRUE) {         $q_email = explode(",", $email);         foreach($q_email AS $n_email) {                      // ENVIO DO EMAIL MAIS DE UM             echo "$n_email";                          //send an email            // 10 days to the Expire Date (ExpDate) $ten1 = mktime(0,0,0,date(m),date(d) + 1,date(Y)); $ten2 = mktime(11,30,59,date(m),date(d) + 1,date(Y)); $qexp = "select * from clientes where data_expiracao between '$ten1' and '$ten2' and days1 = 'n' ";             $to = $aexp[email];             $subject = "1 dias para expirar!";             $message = "Olá,\ seu cliente expirará em 1 dias!\n\nEntre em contato com ele para possível renovação do conrato \"Renovar Conta\" .\n\nObrigado!\n$_SERVER[HTTP_HOST]";             $headers = "MIME-Version: 1.0\n";              $headers .= "Content-type: text/plain; charset=iso-8859-1\n";             $headers .= "Content-Transfer-Encoding: 8bit\n";              $headers .= "From: $_SERVER[HTTP_POST] <$aset[ContactEmail]>\n";              $headers .= "X-Priority: 1\n";              $headers .= "X-MSMail-Priority: High\n";              $headers .= "X-Mailer: PHP/" . phpversion()."\n";              mail($to, $subject, $message, $headers);     }     } else {          // ENVIO DO EMAIL ÚNICO     echo "$email";          }  } ?>

dá dando erro nisso:

while($campos=mysql_fetch_array($query)) {
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

alerta por email

08-07-2014 12:58

Faz o seguinte

$query=mysql_query("SELECT data_expiracao, email_vendedor FROM clientes WHERE to_days(STR_TO_DATE(data_expiracao, '%d/%m/%Y')) - to_days(NOW()) = 2") or die(mysql_error()); 

Assim, dá para saber se o erro é na query.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

10-07-2014 09:52

não retornou nenhum erro.
porém acessando o doc ele printa o email cadastrado no BD, mas não envia nenhum email.

campos:
id - data_venda - data_expiracao
01 - 08/07/2014 - 11/07/2014

fiz um teste com esse script e foi normal:

<? // ENVIADOR DO FORMULÁRIO $de = "adriano@yaslip.com.br"; // RECEBEDOR DO FORMULÁRIO $para = "adriano.yaslip@gmail.com";  // ASSUNTO $assunto = "teste de envio de alerta";  // MENSAGEM DO EMAIL $mensagem = "teste de alerta"; $header = "MINE-Version: 1.0\n"; $header.= "Content-type: text/html; charset=iso-8859-1\n"; $header.= "From: ".$de."\n"; if(mail($para, $assunto, $mensagem, $header)) { echo "Email enviado com sucesso."; } else { echo "Erro ao enviar o email."; }  ?> mas este não: <?php $dbhost="localhost"; /* servidor */ $dbuser="aquecedo"; /* usuário do banco de dados */ $dbpasswd="yaslip56"; /* senha do banco de dados */ $dbname="aquecedo_yaslip"; /* nome do banco de dados */ /* abaixo abrimos a conexão com os dados acima */ $conexao = @mysql_connect($dbhost, $dbuser, $dbpasswd) or die ("não foi possível a conexão, verifique os dados."); $db = @mysql_select_db($dbname) or die ("não foi possível o acesso ao banco de dados $dbname."); //$query=mysql_query("SELECT data_expiracao, email_vendedor FROM clientes WHERE to_days(STR_TO_DATE(data_expiracao, '%d/%m/%Y')) - to_days(NOW()) = 2"); // 2 DIAS DE DIFERENÇA $query=mysql_query("SELECT data_expiracao, email_vendedor FROM cliente WHERE to_days(STR_TO_DATE(data_expiracao, '%d/%m/%Y')) - to_days(NOW()) = 1") or die(mysql_error());  while($campos=mysql_fetch_array($query)) { echo " {$campos['email_vendedor']} "; // AQUI ENTRA O ENVIO DE EMAIL         $email = $campos['email_vendedor'];                  if(strstr($email, ',')==TRUE) {         $q_email = explode(",", $email);         foreach($q_email AS $n_email) {                      // ENVIO DO EMAIL MAIS DE UM             echo "$n_email";                          //send an email            // 10 days to the Expire Date (ExpDate) $ten1 = mktime(0,0,0,date(m),date(d) + 1,date(Y)); $ten2 = mktime(09,24,59,date(m),date(d) + 1,date(Y)); $qexp = "select * from cliente where data_expiracao between '$ten1' and '$ten2' and days1 = 'n' ";             $to = $aexp[email];             $subject = "1 dias para expirar!";             $message = "Olá,\ seu cliente expirará em 1 dias!\n\nEntre em contato com ele para possível renovação do conrato \"Renovar Conta\" .\n\nObrigado!\n$_SERVER[HTTP_HOST]";             $headers = "MIME-Version: 1.0\n";              $headers .= "Content-type: text/plain; charset=iso-8859-1\n";             $headers .= "Content-Transfer-Encoding: 8bit\n";              $headers .= "From: admin@aquecedoresrealpark.com.br\n";              $headers .= "X-Priority: 1\n";              $headers .= "X-MSMail-Priority: High\n";              $headers .= "X-Mailer: PHP/" . phpversion()."\n";              mail($to, $subject, $message, $headers);     }     } else {          // ENVIO DO EMAIL ÚNICO     echo "$email";          }  } ?>

poderia me ajudar !
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

alerta por email

10-07-2014 11:46

Faz primeiro um teste só com o script de e-mail, colocando as informações manualmente.
Após, testa somente as informações que irá enviar no script do e-mail, funcionando o script do e-mail sozinho com informações manual, junta tudo.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

10-07-2014 12:19

teste com script de email funcionou , só não funciona como está abaixo, mas não reporta nenhum erro:

<?php $dbhost="localhost"; /* servidor */ $dbuser="aquecedo"; /* usuário do banco de dados */ $dbpasswd="yaslip56"; /* senha do banco de dados */ $dbname="aquecedo_yaslip"; /* nome do banco de dados */ /* abaixo abrimos a conexão com os dados acima */ $conexao = @mysql_connect($dbhost, $dbuser, $dbpasswd) or die ("não foi possível a conexão, verifique os dados."); $db = @mysql_select_db($dbname) or die ("não foi possível o acesso ao banco de dados $dbname."); //$query=mysql_query("SELECT data_expiracao, email_vendedor FROM clientes WHERE to_days(STR_TO_DATE(data_expiracao, '%d/%m/%Y')) - to_days(NOW()) = 2"); // 2 DIAS DE DIFERENÇA $query=mysql_query("SELECT data_expiracao, email_vendedor FROM cliente WHERE to_days(STR_TO_DATE(data_expiracao, '%d/%m/%Y')) - to_days(NOW()) = 1") or die(mysql_error());  while($campos=mysql_fetch_array($query)) { echo " {$campos['email_vendedor']} "; // AQUI ENTRA O ENVIO DE EMAIL         $email = $campos['email_vendedor'];                  if(strstr($email, ',')==TRUE) {         $q_email = explode(",", $email);         foreach($q_email AS $n_email) {                      // ENVIO DO EMAIL MAIS DE UM             echo "$n_email";                          //send an email            // 2 days to the Expire Date (ExpDate) $ten1 = mktime(0,0,0,date(m),date(d) + 1,date(Y)); $ten2 = mktime(09,24,59,date(m),date(d) + 1,date(Y)); $qexp = "select * from cliente where data_expiracao between '$ten1' and '$ten2' and days1 = 'n' ";             $to = $aexp[email];             $subject = "1 dias para expirar!";             $message = "Olá,\ seu cliente expirará em 1 dias!\n\nEntre em contato com ele para possível renovação do conrato \"Renovar Conta\" .\n\nObrigado!\n$_SERVER[HTTP_HOST]";             $headers = "MIME-Version: 1.0\n";              $headers .= "Content-type: text/plain; charset=iso-8859-1\n";             $headers .= "Content-Transfer-Encoding: 8bit\n";              $headers .= "From: admin@aquecedoresrealpark.com.br\n";              $headers .= "X-Priority: 1\n";              $headers .= "X-MSMail-Priority: High\n";              $headers .= "X-Mailer: PHP/" . phpversion()."\n";              mail($to, $subject, $message, $headers);     }     } else {          // ENVIO DO EMAIL ÚNICO     echo "$email";          }  } ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

alerta por email

10-07-2014 12:43

Você tem a consulta $qexp. Ela nem está sendo executada. Observe a consulta acima, você deve ter o mysql_query e o while para extrair os valores.

$to = $aexp[email]; Essa não é a forma correta de extrair valores da consulta. Verifique na consulta acima.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

10-07-2014 14:10

Não enendi esse script peguei aqui mesmo, por gentileza poderia me explicar claramente, preciso muito que funcione esse script.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17721
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

alerta por email

10-07-2014 15:22

É bem simples.

Você falou que o script funciona para retornar os dados baseado na data.

Então você tem duas linhas no foreach que retornam o e-mail

// ENVIO DO EMAIL MAIS DE UM             echo "$n_email"; 

e

// ENVIO DO EMAIL ÚNICO     echo "$email"; 

Respectivamente para quando tiver mais de um e-mail, e quando tiver um e-mail cadastrado.

Cada uma dessas linhas vai ter o bloco do envio de e-mail nelas.

O primeiro bloco seria

/////////////////////////////////////////// $subject = "1 dias para expirar!";             $message = "Olá,\ seu cliente expirará em 1 dias!\n\nEntre em contato com ele para possível renovação do conrato \"Renovar Conta\" .\n\nObrigado!\n{$_SERVER['HTTP_HOST']}";             $headers = "MIME-Version: 1.0\n";              $headers.= "Content-type: text/plain; charset=iso-8859-1\n";             $headers.= "Content-Transfer-Encoding: 8bit\n";              $headers.= "From: admin@aquecedoresrealpark.com.br\n";              $headers.= "X-Priority: 1\n";              $headers.= "X-MSMail-Priority: High\n";              $headers.= "X-Mailer: PHP/" . phpversion()."\n";              mail($n_email, $subject, $message, $headers); /////////////////////////////////////////// 

Como pode ver, na função mail() usa $n_mail. Para o segundo bloco seria a mesma coisa, sendo que a função mail seria:

            mail($email, $subject, $message, $headers); 

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

alerta por email

10-07-2014 16:18

pelo que entendi ficaria assim:
mas ainda não está enviando o email.

$query=mysql_query("SELECT data_expiracao, email_vendedor FROM cliente WHERE to_days(STR_TO_DATE(data_expiracao, '%d/%m/%Y')) - to_days(NOW()) = 1") or die(mysql_error());  while($campos=mysql_fetch_array($query)) { echo " {$campos['email_vendedor']} "; // AQUI ENTRA O ENVIO DE EMAIL         $email = $campos['email_vendedor'];                  if(strstr($email, ',')==TRUE) {         $q_email = explode(",", $email);         foreach($q_email AS $n_email) {                      // ENVIO DO EMAIL MAIS DE UM             echo "$n_email";                          //send an email            // 2 days to the Expire Date (ExpDate) $ten1 = mktime(0,0,0,date(m),date(d) + 1,date(Y)); $ten2 = mktime(16,15,59,date(m),date(d) + 1,date(Y)); $subject = "1 dias para expirar!";             $message = "Olá,\ seu cliente expirará em 1 dias!\n\nEntre em contato com ele para possível renovação do conrato \"Renovar Conta\" .\n\nObrigado!\n{$_SERVER['HTTP_HOST']}";             $headers = "MIME-Version: 1.0\n";              $headers.= "Content-type: text/plain; charset=iso-8859-1\n";             $headers.= "Content-Transfer-Encoding: 8bit\n";              $headers.= "From: admin@aquecedoresrealpark.com.br\n";              $headers.= "X-Priority: 1\n";              $headers.= "X-MSMail-Priority: High\n";              $headers.= "X-Mailer: PHP/" . phpversion()."\n";              mail($n_email, $subject, $message, $headers);     }     } else {          // ENVIO DO EMAIL ÚNICO     echo "$email";     $subject = "1 dias para expirar!";             $message = "Olá,\ seu cliente expirará em 1 dias!\n\nEntre em contato com ele para possível renovação do conrato \"Renovar Conta\" .\n\nObrigado!\n{$_SERVER['HTTP_HOST']}";             $headers = "MIME-Version: 1.0\n";              $headers.= "Content-type: text/plain; charset=iso-8859-1\n";             $headers.= "Content-Transfer-Encoding: 8bit\n";              $headers.= "From: admin@aquecedoresrealpark.com.br\n";              $headers.= "X-Priority: 1\n";              $headers.= "X-MSMail-Priority: High\n";              $headers.= "X-Mailer: PHP/" . phpversion()."\n";              mail($n_email, $subject, $message, $headers);                       }  }  

0

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado