sábado, 21 de maio de 2011

Mail do Moodle através do GMail

Para evitar SPAM, muito serviços de e-mail não aceitam mensagens de servidores "desconhecidos".
Portanto, se temos um servidor com Moodle, quando tenta enviar as mensagens (fóruns, mensagens de registo, etc) estas mensagens são rejeitadas pelos servidores de mail do GMail, HotMail, etc.
Para ultrapassar isto, basta definir uma conta de GMail no Moodle, para poder enviar os e-mails através do GMail e não diretamente a partir do servidor.
As instruções seguintes servem para Moodle 1.9.x, versão 1.9.2 ou superior. É possível fazer o mesmo para versões anteriores ou posteriores, mas os passos são diferentes.

Passo 1

É conveniente actualizar o Moodle para a última versão estável do ramo 1.9.

Passo 2

Editar o ficheiro /lib/phpmailer/class.smtp.php e procurar a linha 83, ou como as linhas podem mudar ligeiramente, logo a seguir à linha

function Connect($host,$port=0,$tval=30) {

acrescentar:

$host = 'ssl://' . $host;

Gravar o ficheiro.

Passo 3

Convém agora criar uma conta de GMail para usar especificamente para enviar o e-mail do Moodle.
Na página de configuração do e-mail, em Administração » Servidor » Correio electrónico (http://endereço_do_servidor/admin/settings.php?section=mail) acrescentar os seguintes dados:
  • Servidores de SMTP: smtp.gmail.com:465
  • Nome de utilizador de SMTP: endereço da conta gmail, incluindo a parte @gmail.com
  • Senha de SMTP: a password da conta gmail usada.

Passo 4

Testar para verificar se o e-mail é enviado corretamente.
Notar que as mensagens dos fóruns são enviadas após um tempo de espera (tipicamente 30 minutos) e que normalmente os resumos dos fóruns só são enviados uma vez por dia (tipicamente às 17:00), por isso pode ser necessário esperar algum tempo (~ 24 h) para verificar se as mensagens são realmente enviadas.

5 comentários:

  1. nao deu certo para mim. Aparece a mensagem: "A tentativa de lhe enviar um email falhou!"
    e meu email aparece acima disso

    ResponderEliminar
  2. Graças a Deus!!!!
    Resolvi meu problema com o envio de e-mail.

    Muito Obrigado

    ResponderEliminar
  3. No caso de nosso amigo Gabriel Santos não deve ter funcionado pelo fato do Servidor onde o moodle está hospedado deve aceitar as requisições de retorno enviados pelo servidor Gmail.

    Conforme DUMP Abaixo

    Pacote Enviado...
    IP localdom.50819 > 242-254-115-208.reverse.lstn.net.domain: 48517+ PTR? 122.58.1.189.in-addr.arpa. (43)
    IP localdom.57334 > 242-254-115-208.reverse.lstn.net.domain: 39624+ PTR? 242.254.115.208.in-addr.arpa. (46)

    Pacotes Recebidos
    IP 242-254-115-208.reverse.lstn.net.domain > localdom.57334: 39624 1/2/0 PTR 242-254-115-208.reverse.lstn.net. (149)

    Pacotes Enviados
    IP localdom.34546 > 242-254-115-208.reverse.lstn.net.domain: 34599+ A? smtp.gmail.com. (32)
    IP localdom.34546 > 242-254-115-208.reverse.lstn.net.domain: 58399+ AAAA? smtp.gmail.com. (32)
    IP 242-254-115-208.reverse.lstn.net.domain > localdom.34546: 34599 3/0/0 CNAME gmail-smtp-msa.l.google.com., A 74.125.81.108, A 74.125.81.109 (102)
    IP 242-254-115-208.reverse.lstn.net.domain > localdom.34546: 58399 1/1/0 CNAME gmail-smtp-msa.l.google.com. (120)

    no caso o LOCALDOM é o meu servidor.

    Peça ao administrador do servidor para liberar as conexões TCP para as faixas de IP do Gmail, e efetue um teste.

    Abraços

    ResponderEliminar
  4. Funcionou obrigado. O servidor do uol não funciona para isso. Perdi 2 horas de trabalho. Vida longa ao Gmail e Ilídio!!! Grata pelas sua publicação Luci

    ResponderEliminar
  5. Ótima dica. Funcionou muito bem. Obrigado.

    ResponderEliminar