1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

email com anexos (SMTP)

Discussão em 'Web Development' iniciada por fil79, 14 de Janeiro de 2009. (Respostas: 16; Visualizações: 1527)

  1. fil79

    fil79 Power Member

    Boas


    Tenho uma classe que envia mail (php) fazendo a autenticação SMTP...acontece que precisava agora que fosse possivel enviar anexos e não estou a conseguir fazê-lo...alguém conhece algum script que para além de fazer a autenticação SMTP ainda dê para enviar mails com anexos?Desde já agradeço
     
  2. fil79

    fil79 Power Member

    já tenho a classe mas achei a documentação pouco clara...alguém conhece um bom tutorial da classe para se poder enviar mails autenticados (SMTP) e com anexos?
     
  3. mad16v

    mad16v Power Member

  4. fil79

    fil79 Power Member

    o phpMailer parece-me bem...mas continuo sem conseguir enviar o e-mail autenticado...quer dizer o e-mail chega á caixa de correio mas aparece noname(0 Kapas) no anexo ...em baixo segue o código


    Código:
     
     
    /fazemos a chamada a classe phpmailer
    $mail = new PHPMailer();
     
    //chamada par envio de email via smtp
    $mail->Mailer = "smtp";
    //habilita o envio de email HTML
    $mail->IsHTML(true); 
    //Remetente do e-mail
    $mail->From = $email;
    //nome do remetente do email
    $mail->FromName = $nome;
     
    //endereco de destino do email
    $mail->AddAddress("[EMAIL="[email protected]"][email protected][/EMAIL]"); //O destino do email
    //assunto do email
    $mail->Subject = $assunto; 
     
    //texto da mensagem
    $mail->Body = $mensagem;
    //você poderá concatenar o texto para enviar mais de um assunto
    $mail->Body .= "<br />mais de um assunto"; 
    //coloque aqui o seu servidor de saída de emails (SMTP)
    $mail->Host = "mail.xxxxx.pt"; 
    $mail->AddStringAttachment($ficheiro,$ficheiro);   
     
    //habilita a autenticação smtp
    $mail->SMTPAuth = "true"; // Habilitar a autenticação email
    //usuário SMTP
    $mail->Username = "[EMAIL="[email protected]"][email protected][/EMAIL]";
    //senha do utilizador SMTP
    $mail->Password = "xxxxxxx";
     
    //verifica se está tudo ok e envia a mensagem
    if(!$mail->Send()){
     echo "Ocorreu erros ao enviar o e-mail"; 
     exit;  //sai do script sem executar o codigo
    }
    echo "Email Enviado com sucesso";
    ?>
     
    
     
    Última edição: 15 de Janeiro de 2009
  5. fil79

    fil79 Power Member

  6. oscarolim

    oscarolim Power Member

    Estas a usar o stringAttatchement porque?

    O correcto é: $objectoPHPMailer->AddAttachment('caminho COMPLETO!!! para o ficheiro', 'nome a aparecer no email para o ficheiro');

    ja agora, o phpmailer foi descontinuado quando? Ainda em novembro sairam versoes novas...
     
  7. fil79

    fil79 Power Member

    não estou a conseguir...acho que a falha deve ser na variável ficheiro:

    no form tenho assim:

    <input type="file" name="ficheiro">

    como fica para receber esse valor no php?

    $ficheiro = $_POST['ficheiro'];?!?!

    estou com uma branca....
     
  8. cheires

    cheires Power Member

    Fil79 estou a tentar fazer a mesma coisa que tu, mas eu nem sequer os e-mails de texto consigo enviar.
    Espero que não te importes, mas usei o teu código para tentar ver se conseguia eviar mail, mas no meu caso nem sequer apresenta a mesagem de erro ou de sucesso.
    Podes ter alguma ideia do que se possa passar?
    Agradeço a tua colaboração.
     
  9. fil79

    fil79 Power Member




    qual a mensagem que dá...configuraste os dados de acordo com o teu servidor de smtp?
     
  10. geoblast

    geoblast Power Member

    Olá, as brancas são terríveis....

    penso que tens que fazer o upload para o servidor para enviares anexos. Tens aqui um exemplo.

    Quanto ao smtp, o servidor permite envio por smtp??
     
  11. fil79

    fil79 Power Member


    sim, aliás o servidor só permite o envio por SMTP (não reconhece a função mail) daí a minha dor de cabeça..exemplos de envio de mail com anexos usando a função mail há muitos na net...vou experimentar e depois logo digo algo..obrigado
     
  12. cheires

    cheires Power Member

    Não chega a dar a mensagem de e-mail enviado, ou e-mail não enviado. apenas aparece a página em branco...
     
  13. geoblast

    geoblast Power Member

    Olá outra vez.

    Estive a testar com um envio em smtp e o phpmailler funciona na boa.

    Tens que ter a imagem no servidor (ou o ficheiro a enviar) e no script de envio tens que ter:

    PHP:
    $mail->AddAttachment("endereço no servidor""nome a enviar");
    Testei com autenticação smtp e com mail normal.
     
  14. fil79

    fil79 Power Member

    já está a funcionar perfeitamente...obrigadão pela ajuda que foi preciosa! ;)
     
  15. cheires

    cheires Power Member

    Bem eu ainda não consegui nada.

    Código:
    $mail->Mailer = "smtp";
    $mail->IsHTML(true); 
    $mail->From = "[email protected]"; 
    $mail->FromName = "meu nome";
    
    $mail->AddAddress("e_m-mail.de.destino");
    $mail->Subject = "teste" ;
     $mail->Body="teste de e-mail em php"; (erro aqui)
    
    $mail->Host = "smtp.gmail.com"; 
    $mail->SMTPAuth = "true";
    $mail->Username = "[email protected]";
    //senha do utilizador SMTP
    $mail->Password = "XXXXXX";
    
    Para envio de e-mail estou a utilizar o seguinte código.
    Dá-me a indicação de erro na linha demonstrada.
    Outra dúvida, a aplicação do servidor de SMTP está bem efectuada? No meu caso uso o smtp do gmail.
    Ah, isto é apenas um e-mail de teste.
    Obrigado
     
  16. fil79

    fil79 Power Member

    Boas

    existe maneira de poder enviar dois maisl como remetente..já tentei concatenar dois mails com o ; mas deu erro


    Código:
    $mail->From = $email;
     
    
     

Partilhar esta Página