Criando e Enviando Newsletter - Parte 2 - PHPMailer | André Buzzo
contato@andrebuzzo.com.br | (11) 9-8551-3500 | facebook | skype:andrebuzzowebdesign

Criando e Enviando Newsletter – Parte 2 – PHPMailer

Publicado na categoria Vídeo Aulas, Vídeo Aulas - PHP & MySql com 8.991 visualizações e 35 comentários

Fala pessoas!

Antes de mais nada, na primeira linha de código o correto é:

header (‘Content-Type: text/html; charset=utf-8’)

E não como eu escrevi o Type ok?

E agora, vamos aprender a configurar o PHPMailer para fazer um envio simples, e na próxima VA, vou ensinar a criar o loop no banco de dados!

Fique atento: existem duas versões da biblioteca PHPMailer: para o PHP4 e para o PHP5! Verifique junto ao seu servidor de hospedagem qual versão está sendo utilizada! Uma não funciona na outra!

Abraços e até a próxima!

Voltar à página anterior!

  • Eduardo Costa

    Antes de mais, meus parabéns pelo excelente trabalho que o André tem feito.

    Vou dar uma ajudinha aqui que pode ser importante na questão do Spam. Tenho vindo a desenvolver muita coisa com envio de email, mas ainda não tinha feito nada com Newsletter e uma das coisas que tem resultado para que as minhas mensagens de email não terem ido parar na lixeira (como Spam) é adicionar data e hora em cada um dos corpos da mensagem (dd/mm/AAAA HH:mm:ss).

    Fica aí a dica (não quer dizer que resulte sempre). É sempre bom pedir também no email que sejam adicionados sempre aos “contatos confiáveis” para evitar ir parar na lixeira.

    Abraço a Todos e André, continua com o excelente trabalho

    • Fala Eduardo!

      Obrigado pela dica meu amigo! Será de grande valia sim!

      Forte abraço e agradeço as palavras.

      Até mais!

  • neto

    Andre sei que o a seria já é velha pra caramba, mas já procurei no google e por tentativa e erro e não achei nada. o erro é o seguinte
    HP Fatal error: Call to undefined method stdClass::AddBCC()
    tentei até mudar a versão do phpMailer mas não tive sucesso.

    • Cara…tá dizendo que não encontra uma classe para enviar cópia oculta.

      Dá uma olhada no seu código direitinho ….

      Abraços!

  • marcelo

    chrome, mas eu já resolvi esse trem. eu tinha feito uma bagunça danada usando varios jquerys.
    Agora eu gostaria de saber
    como crio uma estatisca para os emails enviados mostrar quantos emails foram enviados
    quantos emails foram lidos…..?

  • André eu implentei esse codigo dentro de um botão
    só que quando ele faz o envio ele não corre o laço todo
    ex: se eu tenho 15 emails , quant 3 , ele envia 3 emails e para ai eu tenho que clicar no botao de novo para ele enviar + 3 e assim vai até printar o Fim do processo de envio!
    sabe me dizer como resolvo isso?

    • Fala Marcelo!

      Qual navegador vc tá usando?

      Abraços!

  • Lucas

    André, você sabe como fazer o disparo para algum e-mail hotmail? Para o gmail tudo certo, porém para o hotmail não.

    Abs

    • Fala Lucas!

      Meu amigo, no Hotmail é um parto mesmo. Ele entende que e-mails que não estão na lista de endereços são spam, e portanto, devem ser enviados para a pasta Lixo Eletrônico.

      Eu até hoje não consegui resolver esse problema. Mas, sinceramente, nem me esquento muito não.

      Pelo que percebo, bastante gente migrou do Hotmail para o Gmail, usando o endereço gratuito fornecido pelo tio Gates apenas para “chatear” na web.

      Abraços!

  • Bruno

    Já consegui resolver!

    • Fala Bruno!

      Beleza então meu velho! Parabéns!

      Abraços!

  • Bruno

    Esse último comentário foi para a página do Newsletter com Banco de dados :| confundi…

  • Bruno

    Então André, eu já estou me matando aqui a umas horas então decidi apelar cara…

    Eu fiz o script certinho até criei a tabela com colunas iguais as suas para não mexer muito mas o que acontece é que quando eu do F5 no browser ele fala que o e-mail foi enviado mas na verdade ele não foi enviado o que será?

  • Thiago Thaison

    Blz André… vou dar uma Googlada nesse “CronTab”.. Agradeço à ajuda.

    Abraços

  • Thiago Thaison

    Deixa eu só tirar uma outra dúvida que me veio agora.

    Acabei de assistir à sua 3ª V.A. sobre o envio de newsletter, que aliás, ficou ótima, parabéns.

    Minha dúvida é a seguinte, no exemplo, os envios eram feitos de tempos em tempo, no entanto, a página precisava ficar aberta para o meta tag http-equiv refresh atualizar a página e continuar com os envios. Beleza!

    Teria como fazer esses envios sem que a página fique aberta?

    Antes que eu esqueça.. seu site já está nos meus favoritos…

    • Thiago, primeiramente, obrigado pelo elogio e pelo “favoritado” …rs

      Vamos lá…sei que pode ser feito isso, utilizando uma rotina do servidor chamada “CronTab”.

      Particularmente, eu já tentei trabalhar com esse troço e não fui muito feliz não… precisa de um certo conhecimento, e o mesmo não se encontra alocado em nenhuma partição de meu humilde e burro cérebro….rs

      Mas já achei diversos tutoriais sobre o assunto, e não consegui implementar nenhum. Mas tem gente que diz que dá para fazer…rs

      Abraços!

  • Thiago

    Sim, tenho sim. inclusive esse endereço eu já deletei, mas a minha preocupação é a seguinte: E quando eu não conseguir identificar qual o endereço de email está com problema? Se esse for um dos primeiros, a maior parte dos meus envios não será concluída.

    Abraço,

    • Então cara….aí você tem um outro problema à ser resolvido.

      Quem cadastra o endereço de e-mail? Você ou o seu usuário? Se for o usuário, você precisa validar o campo antes de permitir que o dado seja cadastrado. Porque achar um endereço no meio de centenas, é realmente como procurar uma agulha num palheiro!

      Abraços!

  • Thiago Thaison

    Boa tarde!

    Já utilizo a classe PHPMailer há algum tempo, porém há poucos dias me deparei com uma situação que está me fazendo perder cabelos, rs.

    Possuo um sistema de envio de emails em massa, para isso tenho em um banco uma tabela com vários emails, no entanto, no meio desses e-mails existia um que foi digitado incorretamente, portanto não era um e-mail válido.

    Meu problema é o seguinte. quando faço um select no banco e recupero a lista dos emails, dentro do while quando eu tento enviar o email para esse email (inválido), ele dá um erro e pára a execução do script, ou seja, todos os demais emails que estão após o email inválido não são enviados.

    Sabe de algum jeito pra corrigir esse problema?

    • Fala Thiago!

      Cara….a maneira mais lógica de corrigir esse problema é deletando esse endereço da sua base de dados. Você tem acesso à mesma?

      Abraços!

  • Bruno

    baxei o arquivo configurei e ta dando o seguindo erro, oque pode ser?

    PHP Deprecated: Function split() is deprecated in E:\Domains\redhmam.com.br\wwwroot\newsletter\class.phpmailer.php on line 477
    PHP Deprecated: Function split() is deprecated in E:\Domains\redhmam.com.br\wwwroot\newsletter\class.phpmailer.php on line 477

    • Fala Bruno!

      Você tá tentando enviar e-mails pelo servidor local?

      Se está, não envia ok? Só é enviado via servidor Web… Vertrigo, Xampp, ou qualquer outro servidor que você instale no seu computador não faz esse serviço! E veja também se a versão do PHPMailer é compatível com a sua versão do PHP que está rodando … se for a 5, precisa do PHPMailer na versão 5 …

      Abraços!

  • Andre

    Boa tarde!

    Estava analisando um email que fiz, e agora que percebi, emails por exemplo. andre.oliveira@gmail.com não chega e ele atualiza como não enviado. por xemplo: legendacampeira@via_rs.net tãmbém não recebe.

    Teria como me dar uma luz?

    Obrigado.

    • Fala Xará!!

      Tem como me enviar o código que você está usando?

      Abraços!

  • Felipe

    Blza,

    Tomara que você consiga pensar em algo, quero muito aprender.

    Abraços

  • Felipe

    Oi Andre,

    Aproveitando essa vídeo aula, tem como você poder na “Schedule” uma VA sobre sistema de noticias, de como publicar na fonte page as ultimas noticias do site em formato de link e quando o usuário clica nesse link é direcionado para a pagina de noticias.
    É difícil encontrar um tutorial didático.

    • Fala Gleison!!

      Vou pensar no seu caso meu velho….o sistema de notícias até que é “simples”, a lógica é bem fácil, mas é “demorado” para construir um sistema desses no início….

      Vou pensar em uma maneira de se criar um conteúdo assim, mais “lógico” do que “braçal”, e ver no que dá!

      Forte abraço, e obrigado pela visita e pelo pedido!

      Até mais!

  • cristiano

    fala andré, muito boa essas videos aulas, porém estou com um problema quando mando um email para o hotmail (tinha que ser…) todos os emails vão para o lixo eletrônico. sabe me dizer o que pode estar acontecendo? será que é algum problema na autenticação?

    Abraços!

    • Cara…boa pergunta… eu não sei o que acontece com o Hotmail…todos os e-mails, até quando eu mando para cliente, diretamente do Thunderbird, vão parar na lixeira. Se é do Gmail, acontece o mesmo… eu acho que o Hotmail automaticamente manda para o lixo eletrônico quando o e-mail não faz parte da lista de contatos do usuário…rs…

      Microsoft, sempre pensando em você! rs

  • Thiago Cardoso

    Fala Andre!!

    este video você fez com a Biblioteca e a Documentação sobre o PHPMailer… então…..

    Qual é a função dele no Servidor Local? ja que ele não vai dar nenhum efeito no Servidor Local.

    aguardo email: thnocard@ig.com.br

    obrigadão Thiago Cardoso

    • Fala Thiago….

      Ele não tem nenhuma função no servidor local. Como não é possível enviar e-mails dentro desse servidor, ele fica lá só de “enfeite”.

      Agora, no servidor web, é uma baita ferramenta!!

      Abraços!

  • Thiago Cardoso

    Ola Grande André?

    Super Legal o phpMAILER!!
    quando vc envia mensagens em PHP elas precisa ter o email do dominio onde esta Hospedado ou pode ter outro email?

    • Fala Thiago!

      Precisa ter pelo menos o e-mail do domínio para o envio. Vc pode até “mascarar” o envio…por exemplo…

      Você tem como “Sender” o contato@andrebuzzo.com.br, o Reply To para contato@andrebuzzo.com.br, e pode enviar isso pelo servidor da KR Comunicação…. mas lá, o endereço, tem quer ser um do servidor da KR mesmo…

      Abraços!