Jump to content

Enviar Email automaticamente


Recommended Posts

Posted

Estou com dificuldade em enviar atraves do sendmail.exe

É a primeira vez que estou a usar isto. e queria ver se alguem me podia explicar/ensinar a trabalhar com ele.

tenho um formulario que recebe varias datas. E eu quero que quando faltam 10 dias para terminar ele envie um email.

Codigo

<?
include(conectar.php);
$conn = @mysql_connect($local_serve,$usuario_serve,$senha_serve,$banco_de_dados) or die ("O servidor não responde!");

// conecta-se ao banco de dados
$db = @mysql_select_db($banco_de_dados,$conn)
or die ("Não foi possivel ligar-se a Base de Dados!");

$validade = ("SELECT Nome, AlvaraValidade, AcidenteValidade, SeguroValidade, FinancasValidade, SocialValidade, RemuneracaoValidade, InstaladorValidade, MontadorValidade, MedicaValidade, ProjectistaValidade, GasValidade, RedesValidade, SoldadorValidade, MecanicoValidade, ClasSoldadorValidade, MaquinaValidade1, MaquinaValidade2, MaquinaValidade3, MaquinaTopoValidade FROM tb_eqipamentos, tb_detalhe_trabalhador, tb_trabalhador");
$validade = mysql_query($sql);

while($item = mysql_fetch_assoc($validade)){
$mail_from = 'mail@mail.pt ';
$mail_to = 'mail.mail@mail.pt';
$subject = 'teste';
$mensagem = 'mensagem'

sendMail($item,$mail_from,$mail_to,$subject,$mensagem);

if($sendmail == true){echo "sucesso";} else {echo"Fail";}
?>

edit: para já o meu trabalho so funciona localhost(Wamp)

Posted
<?php 

$local_serve = "127.0.0.1";      // local do servidor
$usuario_serve = "root";         // nome do usuario
$senha_serve = "";                  // senha
$banco_de_dados = "GCD";      // nome do banco de dados

$conn = mysql_connect($local_serve,$usuario_serve,$senha_serve,$banco_de_dados) or die ("O servidor não responde!");

//conecta-se ao banco de dados
$db = mysql_select_db($banco_de_dados,$conn)
or die ("Não foi possivel ligar-se a Base de Dados!");

$sql = ("SELECT Nome, AlvaraValidade, AcidenteValidade, SeguroValidade, FinancasValidade, SocialValidade, RemuneracaoValidade, InstaladorValidade, MontadorValidade, MedicaValidade, ProjectistaValidade, GasValidade, RedesValidade, SoldadorValidade, MecanicoValidade, ClasSoldadorValidade, MaquinaValidade1, MaquinaValidade2, MaquinaValidade3, MaquinaTopoValidade FROM tb_eqipamentos, tb_detalhe_trabalhador, tb_trabalhador");
$validade = mysql_query($sql);


while($item = mysql_fetch_assoc($validade)){
$to = 'mail@mail.pt';
$subject = 'Testing sendmail.exe';
$message = 'Hi, you just received an email using sendmail!';
$headers = 'From: mail@imail.pt' . "\r\n" .
'Reply-To: mail@mail.pt' . "\r\n" .
'MIME-Version: 1.0' . "\r\n" .
'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if($item($to, $subject, $message, $headers))
echo "Email sent";
else
echo "Email sending failed";
}
?>
Posted
<?php
$to = 'joaomail@mail.pt';
$subject = 'Testing sendmail.exe';
$message = 'Hi, you just received an email using sendmail!';
$headers = 'From: mail@mail.pt' . "\r\n" .
'Reply-To: mail@mail.pt' . "\r\n" .
'MIME-Version: 1.0' . "\r\n" .
'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($to, $subject, $message, $headers));
echo "Email sent";
//}
?>

já que estava com problemas simplifiquei o codigo para experimentar.

Agora o problema que tenho é: aparece a mensagem Email Sent e não recebo nada

Posted

já que estava com problemas simplifiquei o codigo para experimentar.

Agora o problema que tenho é: aparece a mensagem Email Sent e não recebo nada

Senão estou em erro teres o ";" depois do "if" não te vai assumir o "echo" como se fosse executado so depois de confirmar se o "if" é TRUE, nesse caso executa o "i"f e depois imprime "Email sent" quer o if seja TRUE ou FALSE

Posted (edited)

exacto, um ciclo if, apos a linha de condição acaba em:

-chaveta e fecha com chaveta { }

- dois pontos : e acaba com endif

-ou simplesmente nada, quando apenas tem de executar uma linha...

edit:

hei!!! ninguem te mandou tirar o if!!! apenas tirar aquele ; que tinha no fim da condiçao...

eu nao quero ser mauzinho, mas acho que devias de parar de fazer websites. nem que por um dia, e ler a documentaçao de php, porque pelos teus topicos, é tudo erro de logica, de perspicácia...

Edited by I-NOZex

B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net
Posted

Acabei por usar o phpmailer.

Agora não estou a conseguir ir buscar as variaveis para colocar na mensagem do email.

$PHPMailer->Body = '<p>Faltam 10 dias ou menos para terminar a data do Documento ".$Nome."</p>';
Posted

Eu devo ter algo mal.

Tenho assim:

$sql = ("SELECT Nome, AlvaraValidade, AcidenteValidade, SeguroValidade, FinancasValidade, SocialValidade, RemuneracaoValidade, InstaladorValidade, MontadorValidade, MedicaValidade, ProjectistaValidade, GasValidade, RedesValidade, SoldadorValidade, MecanicoValidade, ClasSoldadorValidade, MaquinaValidade1, MaquinaValidade2, MaquinaValidade3, MaquinaTopoValidade FROM tb_eqipamentos, tb_detalhe_trabalhador, tb_trabalhador WHERE datediff(now(), data) <= 10 ");

$validade = mysql_query($sql);

E na mensagem quero que ele me mostre o nome e as datas que estão a terminar

Posted
$PHPMailer = new PHPMailer();

// define que será usado SMTP

$PHPMailer->IsSMTP();

// envia email HTML

$PHPMailer->isHTML( true );

// codificação UTF-8, a codificação mais usada recentemente

$PHPMailer->Charset = 'UTF-8';

// Configurações do SMTP

$PHPMailer->SMTPAuth = False;

$PHPMailer->SMTPSecure = 'none';

$PHPMailer->Host = '--------';

$PHPMailer->Port = '25';

$PHPMailer->Username = '----------';

$PHPMailer->Password = '-------';

// E-Mail do remetente (deve ser o mesmo de quem fez a autenticação

// nesse caso seu_login@gmail.com)

$PHPMailer->From = '---------------;

// Nome do rementente

$PHPMailer->FromName = '.....';

// assunto da mensagem

$PHPMailer->Subject = '.......';

// corpo da mensagem

$PHPMailer->Body = "<p>Faltam 10 dias ou menos para terminar a data do Documento ".$Nome."</p>";

// corpo da mensagem em modo texto

$PHPMailer->AltBody = 'Mensagem em texto';

// adiciona destinatário (pode ser chamado inúmeras vezes)

$PHPMailer->AddAddress( 'maiiil@mail.pt' );

// adiciona um anexo

$PHPMailer->AddAttachment( '' );

// verifica se enviou corretamente

if ( $PHPMailer->Send() )

{

echo "Enviado com sucesso";

}

else

{

echo 'Erro do PHPMailer: ' . $PHPMailer->ErrorInfo;

}

?>

Isso é o esta por baixo do codigo anterior

Posted (edited)

Habituem-se a usar mysqli.

$db = new mysqli($host, $user, $pwd, $bd);

$query = $db->prepare("SELECT id, nome
                                      FROM tabela
                                      WHERE datediff(now(), data) <= 10");
$query->execute();
$query->bind_result($id, $nome);
$query->store_result();

while($query->fetch()){
  // código PHPMailer
  $PHPMailer->Body = "<p>Faltam 10 dias ou menos para terminar a data do Documento " . $nome . "</p>";
}
Edited by bioshock

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.