PplWare Mobile

PHP é à quinta-feira – Envio de Email Simples com Anexo

                                    
                                

Este artigo tem mais de um ano


Autor: Pplware


  1. Em ColdFusion seria, simplesmente:

    :))

  2. Oh pá, como é que se mete código aqui? Eu, todo lampeiro a escrever três linhas e, no fim, não fica nada!

  3. Oliveira says:

    Boas,

    nice tut, mas gostava de saber como adiciono a Hora e Data?
    Dava jeito de vez em quando =P

    Cumps

  4. Nuno Amaral says:

    Bom artigo. Pode dar jeito no futuro.

    http://www.cidadeviseu.com

  5. com anexos fora do joomla ainda não sabia fazer por acaso, obrigado pelo tutorial

    http://www.tagravado.com

  6. Nunojfg says:

    Lembro-me que xeguei a precisar de uma função sendmail para um projecto na faculdade, tentamos PHP, mas como normalmente é mais confuso em termos de código, optamos pela solução em Java. Mas o maior problema quando se quer fazer esse tipo de aplicação de envio de email, nem é o codigo, mas sim conseguir um servidor de jeito. Obviamente tivemos de usar um da faculdade.

  7. PHPMailer também parece-me bem

  8. Belo tuto Bruno, alto nível, como sempre…

    keep it up ! 😀

    carlos rajas

  9. sampaio says:

    existe algum servidor gratuito de php e sql, em que eu consiga através deste codigo enviar um email?

  10. @RicardoGoulart [Twitter] says:

    Basico com o PHPmailer:
    -> Script desenvolvido por mim com muita dor de cabeça

    ######################################
    # Script Developed by Ricardo Goulart
    # 12-01-2008
    ######################################

    require(“phpmailer/class.phpmailer.php”);

    $mail = new PHPMailer();
    $mail->IsSMTP(); // set mailer to use SMTP

    $mail->Host = “mail.********.com”; // specify main and backup server
    $mail->SMTPAuth = true; // turn on SMTP authentication
    $mail->Username = “no-reply@*********.com”; // SMTP username
    $mail->Password = “********”; // SMTP password

    $mail->From = “no-reply@*********.com”;
    $mail->FromName = $_POST[‘nome’];
    $mail->Subject = “Inscrição de Formando via site www.**********.com ” ;
    $mail->AddBCC(“meuEmail@aqui”);
    $mail->AddCC(“geral@*********.com”);
    $mail->IsHTML(true);
    $mail->AddAttachment($_FILES[‘biAnexo’][‘tmp_name’], $_FILES[‘biAnexo’][‘name’]);
    $mail->AddAttachment($_FILES[‘CVAnexo’][‘tmp_name’], $_FILES[‘biAnexo’][‘name’]);

    $mens=”Nome: “.$_REQUEST[‘nome’].””;
    $mens.=”Naturalidade: “.$_REQUEST[‘naturalidade’].””;
    $mens.=”Nacionalidade: “.$_REQUEST[‘nacionalidade’].””;
    $mens.=”Data de Nascimento: “.$_REQUEST[‘dnascimento’].””;
    $mens.=”Número de BI: “.$_REQUEST[‘nbi’];
    $mens.=” Validade: “.$_REQUEST[‘vbi’].””;
    $mens.=”Arquivo de Identificação: “.$_REQUEST[‘arqid’].””;
    $mens.=”Estado Civil: “.$_REQUEST[‘estado’].””;
    $mens.=”NIF: “.$_REQUEST[‘nif’].””;
    $mens.=”Endereço: “.$_REQUEST[‘endereco’].””;
    $mens.=”Código Postal: “.$_REQUEST[‘cp’].””;
    $mens.=”Freguesia: “.$_REQUEST[‘freguesia’].””;
    $mens.=”Concelho: “.$_REQUEST[‘concelho’].””;
    $mens.=”Distrito: “.$_REQUEST[‘distrito’].””;
    $mens.=”Situação de Emprego: “.$_REQUEST[‘emprego’].””;
    $mens.=”Situação de Emprego: “.$_REQUEST[‘emprego2’].””;
    $mens.=”Habilitações Literárias: “.$_REQUEST[‘habilitacoes1’];
    $mens.=” Completo? : “.$_REQUEST[‘completo’];
    $mens.=” Outro: “.$_REQUEST[‘habilitacoes2’].””;
    $mens.=”NIB: “.$_REQUEST[‘NIB’];
    $mens.=”Banco: “.$_REQUEST[‘banco’].””;
    $mens.=”Qual a acção de formação que pretende frequentar?: “.$_REQUEST[‘areasformacao’].””;
    $mens.=”Autoriza que os seus dados sejam utilizados para envio de publicidade de futuras acções de formação?: “.$_REQUEST[‘pub’].””;

    $mens.=”Data: “.date(‘d-m-Y’).””;
    $mens.=”Hora: “.date(‘H:m:s’).””;

    $mail->Body = $mens;

    if($mail->Send()){
    echo ‘alert(“A sua mensagem foi enviada com sucesso!Agradecemos o seu contacto!”);’;
    }
    else
    {
    echo ‘alert(“Ocorreu um erro ao enviar a mensagem! Por favor, envie um e-mail para sadomilenio@netcabo.pt a reportar a situação! Obrigado!”);’;
    }

  11. Tiago Coelho says:

    Já tentei os dois sistemas, o “mail()” e o “class.phpmailer.php” mas não consigo enviar nenhum email com os exemplos dados….será que numa próxima rubrica poderiam explicar que configurações são necessárias no servidor para que o serviço de email funcione correctamente?

    Abraço e continuação de bom trabalho

    • Olá Tiago.

      Isso depende de muitas variáveis.

      Coloca a tua questão no fórum, indicando o sistema operativo, versão, qual o programa de mailing, se tens acesso “root” ou Administrativo à máquina em questão, e qual erro te aparece, se algum.

    • Tiago Coelho says:

      O meu sistema operativo é o WindowsXP no qual eu sou o administrador,
      e o gestor de servidor é o WampServer. Configurei o php.ini da seguinte forma:

      [mail function]
      ; For Win32 only.
      ; http://php.net/smtp
      SMTP = smtp.gmail.com
      ; http://php.net/smtp-port
      smtp_port = 25

      ; For Win32 only.
      ; http://php.net/sendmail-from
      sendmail_from = meu_email@gmail.com

      ; For Unix only. You may supply arguments as well

      (default: “sendmail -t -i”).
      ; http://php.net/sendmail-path
      ;sendmail_path =

      o meu ficheiro index.php tem o seguinte:

      IsSMTP();
      $mail->SMTPAuth = true;
      $mail->SMTPSecure = “ssl”;
      $mail->Host = “smtp.gmail.com”;
      $mail->Port = 465;

      $mail->Username = “meu_mail@gmail.com”;
      $mail->Password = “*****”;

      $mail->From = “meu_mail@gmail.com”;
      $mail->FromName = “Tiago Coelho”;

      $mail->Subject = “Teste de envio de mail”;

      $html = “Olá PHPMailer!“;
      $texto = “Olá PHPMailer!”;

      $mail->Body = $html;
      $mail->AltBody = $texto;

      $mail->AddAddress(“meu_mail@gmail.com”, “Pixo”);

      if(!$mail->Send()){
      echo “não foi possivel enviar o email. Erro: “.$mail->ErrorInfo.””;
      }
      else{
      echo ‘mensagem enviada com sucesso’;
      }
      ?>

      o erro que me dá é o seguinte:

      SMTP Error: Could not connect to SMTP host.
      não foi possivel enviar o email. Erro: SMTP Error: Could not connect to SMTP host.

      O que estarei eu a fazer mal??

      • Tiago, vou-te responder uma última vez aqui, depois disso só se colocares a tua dúvida no fórum. É ridículo com uma secção própria para esclarecer dúvidas andar a colocar aqui essa informação e a enviar mails a pessoal a quem isto nada interessa.

        Com o que deixaste não vi qualquer problema, pelo que penso que poderá estar noutra zona do teu ficheiro index.php, não vi qualquer declaração da variável $mail, mas deduzo que tenhas para cima $mail = new PHPMailer(); ou algo do género.

  12. Filipe says:

    Olá

    tens que instalar um servidor smtp no pc onde está instalado o wamp. O proprio servidor smtp do windows funciona perfeitamente.

    cumps

  13. 7ilipe says:

    Já ninguém usa a função mail do php!

    A maior parte dos servidores, nem sequer deixa enviar a mensagem, sem ser com autenticação usando por ex.º a biblioteca phpmailer.

    PS: se não andávamos todos a brincar aos e-mails do tipo cavaco@presidencia.pt ou billgates@microsoft.com

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.