Tutorial: Como usar o PHPList e enviar através do SMTP do Gmail ou Google Apps
Série: Instalar e configurar o PHPlist
O PHPList vem configurado para usar o PHPMailer em um padrão próprio, mas eu precisava usar junto com o SMTP do Gmail para enviar, então tive que fazer algumas alterações:
-Primeiramente baixei a ultima versão do PHPMailer no endereço:
http://sourceforge.net/projects/phpmailer/files/
-Extrai o conteúdo e copie para o diretório do seu servidor a pasta. Lembrando que já existe uma pasta chamada “phpmailer”, então renomeei a pasta para “phpmailergmail”. Essa pasta deve conter dois arquivos importantes: O class.phpmailer.php e class.smtp.php.
-Editei o topo do arquivo “lists/admin/class.phplistmailer.php” para apontar para a local do novo “class.phpmailer.php”, e adicionei uma nova entrada para o “class.smtp.php”.
require( dirname(__FILE__) . '/phpmailergmail/class.phpmailer.php'); require( dirname(__FILE__) . '/phpmailergmail/class.smtp.php');
4) Ainda no arquivo “class.phplistmailer.php”, editei a função PHPlistMailer abaixo da chamada “if (defined(‘PHPMAILERHOST’) && PHPMAILERHOST != ” && isset($GLOBALS['phpmailer_smtpuser']) && $GLOBALS” adicionando as seguintes linhas:
$this->SMTPSecure="ssl"; $this->Port=$GLOBALS['phpmailer_smtpport'];
E ficou assim:
if (defined('PHPMAILERHOST') && PHPMAILERHOST != '' && isset($GLOBALS['phpmailer_smtpuser']) && $GLOBALS['phpmailer_smtpuser'] != '') {
$this->SMTPAuth = true;
$this->SMTPSecure="ssl";
$this->Port=$GLOBALS['phpmailer_smtpport'];
$this->Helo = getConfig("website");
$this->Host = PHPMAILERHOST;
$this->Username = $GLOBALS['phpmailer_smtpuser'];
$this->Password = $GLOBALS['phpmailer_smtppassword'];
# logEvent('Sending authenticated email via '.PHPMAILERHOST);
# logEvent('Sending via smtp');
$this->Mailer = "smtp";
}
5) Deposi disso pude finalmente editar o arquivo “lists/config/config.php” com os seguintes itens:
define("PHPMAILERHOST",'smtp.gmail.com');
$phpmailer_smtpuser = 'email@seusite.comr';
$phpmailer_smtppassword = '********';
$phpmailer_smtpport = '465';
Fiz o teste e passou a funcionar perfeitamente. Espero que passe a funcionar para você também.

Muito bons os comentários e tutoriais sobre o PHPlist! Parabéns.
Obrigado Sandro.
Vem mais uns posts por ai.
Abraços
Osni,
fiz todas as configurações conforme indicado, inclusive adicionar
$phpmailer_smtpport = ’465′;
porém não esta enviando as mensagens ( O email indicado para enviar a mensagem de teste não foi encontrado.: sandro@[DOMAIN] ), teria alguma sugestão ?
Abraço
Olá Sandro,
Passa nos comentários os trechos do teu código para vermos.
Qual é a hospedagem?
Detonei a pasta phpmailer e colei a phpmailergmail
*** Topo do arquivo “lists/admin/class.phplistmailer.php” ***
require( dirname(__FILE__) . ‘/phpmailergmail/class.phpmailer.php’);
require( dirname(__FILE__) . ‘/phpmailergmail/class.smtp.php’);
****** Meio *******
if (defined(‘PHPMAILERHOST’) && PHPMAILERHOST != ” && isset($GLOBALS['phpmailer_smtpuser']) && $GLOBALS['phpmailer_smtpuser'] != ”) {
$this->SMTPAuth = true;
$this->Helo = getConfig(“website”);
$this->Host = PHPMAILERHOST;
$this->SMTPSecure=”ssl”;
$this->Port=$GLOBALS['phpmailer_smtpport'];
$this->Username = $GLOBALS['phpmailer_smtpuser'];
$this->Password = $GLOBALS['phpmailer_smtppassword'];
# logEvent(‘Sending authenticated email via ‘.PHPMAILERHOST);
# logEvent(‘Sending via smtp’);
$this->Mailer = “smtp”;
}
***** Arquivo lists/config/config.php ********
# If you want to use the PHPMailer class from phpmailer.sourceforge.net, set the following
# to 1. If you tend to send out html emails, it is recommended to do so.
define(“PHPMAILER”,1);
# To use a SMTP please give your server hostname here, leave it blank to use the standard
# PHP mail() command.
define(“PHPMAILERHOST”,’smtp.gmail.com’);
# if you want to use smtp authentication when sending the email uncomment the following
# two lines and set the username and password to be the correct ones
$phpmailer_smtpuser = ‘newsletter@[DOMAIN]‘;
$phpmailer_smtppassword = ‘*******’;
$phpmailer_smtpport = ’465′;
Osni,
a hospedagem é Dreamhost.com
já enfrentou esse erro?
Obrigado pela atenção
Sandro
Se é da DreamHost não deveria ter o smtp da dreamhost?
Ou você está usando o Google apps?
Com o Gmail tem limitação de quantidade de emails por dia? Já cheguei a estourar a cota do meu gmail pessoal de envio de emails diários…
Usando o smtp do gmail tem esta limitação também ou não?
O Gmail tem limitações sim. Inclusive no SMTP.
Só não lembro quanto é
Erro o qual perguntei anteriormente ocorre quando tentamos enviar mensagem para um usuário não cadastrado no phplist, logo antes de enviar uma mensagem teste, deve cadastrar o destinatário.
Sobre a configuração do PHPlist para usar sua conta do Gmail ou o e-mail da sua empresa que esta no Gmail, usei a versão que veio com o próprio phplist do phpmailer.
1) faça o passo 4 (acima) é na linha + ou – 35.
2) dentro da pasta lists/admin/phpmailer edite o arquivo class.phplistmailer.php entorno da linha 537 conforme http://forum.imasters.uol.com.br/index.php?/topic/265222-usando-o-smtp-do-google-com-o-phpmailer/ ( a pagina de teste NÃO é necessária)
3) no passo 5 acima no arquivo lists/config/config.php o define deve ficar assim
define(“PHPMAILERHOST”,’ssl://smtp.gmail.com’);
deve funcionar em qq computador com internet e servidor apache (verificar firewall 465).
Abraço
Ei Sandro, funcionou perfeito dessa forma?
Ao menos para min sim !
oi galera,
estou precisando de código para aparecer o nome e uma saudação para o usuário que receber a newsletter, estou usando o phplist. vcs podem me ajudar.
Obrigado.
Alexandre Lizardo
Olá Osni, muto obrigado pelas suas dicas, todas muito úteis.
Fiquei só com uma dúvida, tem ideia de qual o limite de envios de e-mails para utilizar o smtp do Gmail. No próprio site do Gmail fala que você pode enviar e-mails com até 500 destinatários. só que no fica claro quantos e-mails individuais você pode enviar sera que só são 500 por dia? Se fosse assim tem como utilizar destintos smtp para fazer envios de listas maiores? Na atualidade meu servidor permite 300 mensagens por hora, só que demora muito em enviar minha lista de 15000 subscriptores. Obrigado, abraços.
Opa, o gmail tem o limite de 3000 emails diários
Muito Obrigado Osni. Procurei mais informação para ver se consigo fazer que o phplist possa utilizar mais de um smtp, ainda nada. Se acho alguma coisa comparto com você.
Abraços, Ramiro.
Which is a great bit of information you’ve explained there, I truly think you do have a nice site here. Thanks bud.
That’s Too nice, in regards in india hope it could complete a Rocking location for youngster. hope that come true.
1 cheese
Even though I genuinely like this publish, I think there was an punctuational error close to the finish from the third section.
Many thanks for sharing an excellent article! That’s worth it to read I adore reading and i’m always looking for informative information such as this.
Muito bom, funcionou perfeitamente, obrigado
Everyone loves your internet-site! do you create this yourself or do you outsource it? Im hunting for a blog design thats similar so thats a common reason I’m asking. Either way keep up to date the great work I was impressed along with your content really.
I dont believe Ive actually read whatever does this subject as good justice as you just did.