Salve amigos do VAB, como prometido, iremos aprender a como utilizar a classe PHPMailer com um formulário de contato com anexo enviando por smtp autenticado. Aprenderemos desde validar os dados, até como utilizar a pesquisa para ajudar nessa missão. Espero que gostem, e boa Aula.
Script Criado:Veja o script
Criando e Estilizando Formulário – http://www.videoaulasbrasil.com.br/tableless/criando-e-estilizando-formulario/
PHPMailer :http://phpmailer.worxware.com/
email autenticado, PHPMailer, PHPmailer anexo, PHPMailer autenticado, validar dados

Enviado por: Equipe VAB
Autor: David CHC
506 visitas
1 fev 2010


Copyright 2009 - VAB - Vídeo Aulas Brasil - Todos os direitos reservados - Hospedado por: Hostnet - Hospedagem de sites
David CHC : 10.02.10 às 7:17
@Tuco, o função filter_var funciona para PHP 5 e superiores. Se sua hospedagem, for PHP4, tem q fazer um upgrade. Entre em contato com sua hospedagem. Vc pode testar localmente o script, se estiver enviando por smtp. Verifique os dados com sua hospedagem das configurações corretas.
Tuco : 09.02.10 às 22:03
David, boa noite!
Fiz tudo o que vc passou na video aula, mas não sei se é minha conexão, mas ele ao envia a mensagem. Diz que esperou 30 segundos e abortou a requisição.
Coloquei no meu servidor, e o mesmo não reconhece a string “filter_var”…. preciso pedir para atualizarem o PHP do meu servidor ou há alguma maneira de corrigir esse erro?
Brigadão cara!
Abraços!
David CHC : 04.02.10 às 21:18
@Leonardo cada hospedagem te suas regras. Quando vc configura seu programa de editor de email, o email será por SMTP, então vc pode usar o PHPMailer. Mas consulte antes sua hospedagens, para poder ter detalhes do SMTP, porta de envia, se precisa se autenticado, se precisa se habilitado SSL.
Leonardo : 04.02.10 às 21:10
David, vi que algumas hospedagens pedem pra substituir a função mail() por
Persits.MailSender. Usando phpmailer tenho o mesmo resultado? Ou é recomendado utilisar Persits.MailSender mesmo?
David CHC : 03.02.10 às 7:18
@Anderson Coimbra, isso pode ocorre se vc estiver a mesma mensagem varias vezes, como o mesmo titulo, sua hospedagem pode classificar isso como spam. Algumas hospedagem pode classficar por determinadas palavras q a mensagem é spam, isso vai se dá politica de spam que eles tem. Tente mudar a mensagem, e o titulo, e envie de novo.
Lembrando, que mesmo enviando por smtp autenticado, não garante que não será classificado como spam, mas reduz muito as chances
Anderson Coimbra : 03.02.10 às 7:13
Olá David…
Comecei a usar o PHPMailer…fiz as configurações como informado na vídeo aula. Os e-mails estavam chegando corretamente porém, de uma hora pra outra começou a chegar com spam, o q pode ser?
David CHC : 02.02.10 às 7:48
@Tutorial City, essa do chrome eu não sabia. A única alternativa é tentativa e erro. abrs
Tutorial City : 01.02.10 às 21:48
@David CHC
até um tempo atráso Chrome não reconhecia o mimetype de arquivos zipados… não sei se mudou, mas um dia foi assim. Pra ter 100% de certeza é sempre bom testar nos principais navegadores, e os que não reconhecem o que vc quer é só vc impedir de realizar o processo (mas é bom deixar claro, pro usuário não preencher a toa).
Abraços
Gilberto JR : 01.02.10 às 21:19
Valeu cara,
David CHC : 01.02.10 às 21:17
Muito obrigado @Rubia
@Gilberto JR, sim é possivel, basta acrescentar mais itens.
$mail->AddAttachment($_FILES['arquivo_1']['tmp_name'], $_FILES['arquivo_1']['name']);
$mail->AddAttachment($_FILES['arquivo_2']['tmp_name'], $_FILES['arquivo_2]['name']);
Quantos q vc quiser.
Gilberto JR : 01.02.10 às 21:12
Boa noite David, parabens pelos materias que vc tem disponibilizado no site VBA. Minha pergunta é o seguinte, com esse aplicativo tem como eu enviar multiplos anexos?
Rubia : 01.02.10 às 20:59
Parabéns David! Cada dia melhor! Vc tem me ajudado muito com sua video aulas!Obrigada!
David CHC : 01.02.10 às 20:08
@Felipe Girotti, realmente com PHPMailer é muito facil enviar anexo. Mas caso vc deseje ter uma copia de segurança do arquivo no servidor, pode fazer dois, só q tem q lembrar q vai aumentar o tempo de execução, e tempo de morado q o usuário vai te q esperar. NO caso de arquivo, é legal trabalhar com barra de upload, e recomendo uploadify c é muito bom, e fácil de implementar no seu sistema. vlw
Felipe Girotti : 01.02.10 às 19:57
Mais uma super video aula, eu não sabia dos parametros corretos do AddAttachment, eu primeiro usava o move_uploaded_file para colocar no servidor depois mandar pro email pra depois deletar ela com unlink. Assim é muito mais fácil. Vlw
David CHC : 01.02.10 às 19:33
@Rafael, @Joao Sousa, @Lorran,@Fabricio. vlw
@Tutorial City, alguns navegadores vc quer dizer o IE, rs, com image/jpeg e no IE image/pjpeg, rs. Realmente eu não fiz uma pesquisa sobre saber os comportamentos diferentes dos navegadores com mime-type, só conheço as algumas loucuras do IE, mas se vc tiver conhecer algum fonte sobre isso, posta ai.
Sobre if/elseif/else, principalmente nesse caso, onde tem varios tipos de informações diferentes, nome, email, arquivo, acho melhor usar o if/elseif, se fosse no caso de uma informação única, onde precisaria verifica como varias condições dessa mesma informação, exemplo básico, transformar a data em inglês para português, ai prefiro usar o Switch. E tbm nesse caso, pra ter o ultimo estagio o envio em si. Mas cada ver de um ótica diferente, ainda bem,rs.
Sobre o caso de retornar dados para com valores para os campos, sim é mais comodo para o usuário se puder retorna os últimos valores, principalmente se tiver muitos campos. Em caso de cadastro de algo, eu prefiro zerar tudo caso de erro, o usuário vai ficar muito bravo (até com razão), mesmo assim, pode diminui dores de cabeça de alguém ter acesso a informações deles, principalmente no caso de acesso a lan house, não elimina o problema, mas diminui. (Quando digo q não confio no usuário, é ao extremo, rs)
Sobre o poste código, eu pretendo postar tbm no pastebin, mas preferencialmente no Forum, pq muitas pessoas não conhecem, a passam a conhece-los devido as vídeo aulas.
Vlw pelas dicas, e qualquer coisa posta ai nos comentários. abrs
Tutorial City : 01.02.10 às 18:59
Tem que tomar um pouco de cuidado com os Mimetypes, por que nem todos os navegadores reconhecem todos os tipos.
——
Acho melhor usar Switch-Case ao invés de tantos If/Else… acho mais lógico.
——
Poderia retornar com os valores no formulário quando não fossem validados, pra evitar que o usuário tenha que digitar tudo de novo.
——
Ao invés de usar o ‘code’ do mx masters, posta os snippets no Pastebin, eles colorizam e fica mais fácil de entender.
——
Ótimo tutorial
Abraços
David CHC : 01.02.10 às 13:03
@Guilherme, vou colocar o link para o código.
Guilherme : 01.02.10 às 12:59
Parabens david muito bom mesmo.
não tem como postar o codigo utilizado na video aula?
Fabricio : 01.02.10 às 12:15
Excelente video-aula.
Lorran : 01.02.10 às 10:29
Muito boa aula, era essa que eu precisava! Didática excelente.
Joao Sousa : 01.02.10 às 8:34
Muito Boa Video-aula Parabéns
Rafael : 01.02.10 às 7:19
Parabéns David! Mais uma excelente vídeo aula.