Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Primeiro faça o download da classe PHPMailer(): http://sourceforge.net/projects/phpmailer/files/
- Extraia os arquivos e os coloque dentro de uma pasta chamada phpmailer
- <?php
- //aqui você faz a requisição da classe phpmailer colocando o endereço onde ela está localizada
- require("phpmailer/class.phpmailer.php");
- if(isset($_POST['submit'])){
- $corpo = '
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <table border="1">
- <tr>
- <td><b>Nome:</b> </td>
- <td>'.$_POST['nome'].'</td>
- </tr>
- </table>
- ';
- // Inicia a classe PHPMailer
- $mail = new PHPMailer();
- // Define os dados do servidor e tipo de conexão
- // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- //$mail->IsSMTP(); // Define que a mensagem será SMTP
- //$mail->Host = "smtp.dominio.net"; // Endereço do servidor SMTP
- //$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
- //$mail->Username = '[email protected]'; // Usuário do servidor SMTP
- //$mail->Password = 'senha'; // Senha do servidor SMTP
- // Define o remetente
- // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- $mail->From = $_POST['email']; // Seu e-mail
- $mail->FromName = $_POST['nome']; // Seu nome
- // Define os destinatário(s)
- // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- //$mail->AddAddress('[email protected]');
- //$mail->AddCC('[email protected]', 'Ciclano'); // Copia
- //$mail->AddBCC('[email protected]', 'Fulano da Silva'); // Cópia Oculta
- // Define os dados técnicos da Mensagem
- // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- $mail->IsHTML(true); // Define que o e-mail será enviado como HTML
- //$mail->CharSet = 'iso-8859-1'; // Charset da mensagem (opcional)
- // Define a mensagem (Texto e Assunto)
- // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- $mail->Subject = "Mensagem Teste"; // Assunto da mensagem
- $mail->Body = utf8_decode($corpo);
- //$mail->AltBody = "Este é o corpo da mensagem de teste, em Texto Plano! \r\n";
- // Define os anexos (opcional)
- // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- //Nesta parte, o loop(for) se encarrega de verificar se existe anexo no formulário
- //Se houver mais de 01 anexo, ele envia todos os arquivos
- //Se não houver nenhum, a mensagem é enviada sem anexos
- $arquivo = $_FILES['arquivo'];
- for ($i=0; $i <= sizeof($arquivo); $i++)
- {
- if (is_uploaded_file($arquivo['tmp_name'][$i]))
- {
- // Adiciona um anexo de um caminho sobre o sistema de ficheiros
- $mail->AddAttachment($arquivo['tmp_name'][$i], $arquivo['name'][$i]);
- }
- }
- // Envia o e-mail
- $enviado = $mail->Send();
- // Limpa os destinatários e os anexos
- $mail->ClearAllRecipients();
- $mail->ClearAttachments();
- if($enviado){
- echo '<script>
- alert("Mensagem enviada com sucesso");
- </script>';
- }else{
- echo '<script>
- alert("A mensagem não pode ser enviada");
- </script>';
- }
- }
- OBS.: No seu formulário, todos os campos do tipo file, deverão ter o name igual e seguido de colchetes [].
- Ex: <input type="file" name="arquivo[]" />
- <input type="file" name="arquivo[]" />
- <input type="file" name="arquivo[]" />
- O uso do nome arquivo é opcional, caso necessite modificar devido ao seu desenvolvimento, basta alterar no código PHP que está acima. Não se esqueçam de fazer o download da classe PHPMailer(), sem ela, este script não irá funcionar.
- Fontes: http://blog.thiagobelem.net/ - http://imasters.com.br/
- Agradecimentos: Queria agradecer à galera da comunidade Desenvolvedores Web Brasil do Google+, em especial ao Icaro Maines Heimig, que teve a generosidade de me indicar o uso do PHPMailer(). Sou iniciante no PHP, e são poucas as pessoas na net que tem paciência de estar ensinando a alguém que não tem muito conhecimento.
- Gostaria de agradecer a todos que me ajudaram também na comunidade PHP Brasil do Google+, o Ramon William que também me indicou a classe PHPMailer(), ao Maurício Programador, que mesmo na correria hoje conseguiu dedicar um tempo para me ajudar, ao Leonardo Felipe que me enviou um outro script, e ao Hélquison Dourado, que forneceu o script que ele usa para envio de emails com anexo, que eu retirei parte do script e consegui fazer funcionar o envio, adicionando apenas o loop para anexar mais de 01 arquivo.
- Abraço!
Advertisement
Add Comment
Please, Sign In to add comment