quinta-feira, 18 de setembro de 2008

Envio de email por SSL no Mantis

Olá pessoal!
Uma funcionalidade esperada a muito tempo por mim e outros utilizadores do Mantis é de você poder usar um envio de email sob o protocolo de SSL (como o do Gmail).
Só tenho uma "má" notícia: este funcionalidade está cobeta na versão 1.2 que encontra-se em desenvolvimento ainda (na data deste posta na versão 1.2.0a2).

Pelo o que eu tenho testado esta versão ele está estável, sem bugs críticos e com novas funcionalidades, que serão postadas aqui quando a versão estável for lançada.

Bem, então vamos por a mão na massa então!

Pré-Requisitos
Como todos sabem o pre-requisito básico é a tríade LAMP ou WAMP, dependendo do sistema operacional. O exemplo que irei apresentar será sobre um WAMP, o WampServer rodando sobre um Windows XP SP3.
Mas o principal pre-requisito para essa configuração é a habilitação do OpenSSL no PHP, que é uma extensão do mesmo. Podemos fazer a habilitação de duas formas:
  • Visual
    Neste modo, com o WampServer rodando, clicamos com o botão esquerdo do mouse sobre seu ícone e selecionamos: PHP/PHP extensions/php_openssl



    O WampServer será reiniciado e a extensão sairá funcionando. 
  • Editando o arquivo php.ini
    Se você não usa o WampServer, pode editar diretamente o arquivo php.ini para habilitara extensão. Localize seu arquivo php.ini, que varia do sistema operacional que você utiliza e local de instalação e abra em mode de edição. Localize a linha ;extension=php_openssl.dll e remova o ";". Salve o arquivo.

Configurando no Mantis
Como de costume sempre copie as variáveis do arquivo config_defaults_inc.php para config_inc.php.
Então copie as seguintes variéveis do arquivo config_defaults_inc.php para config_inc.php:
  • $g_phpMailer_method = Método de envio do email, podendo ser 0 - mail(), 1 - sendmail ou 2 - smtp
  • $g_smtp_host = Host utilizado para o envio do email. A porta pode ser colocada junto no formato [host:port]
  • $g_smtp_username = Nome do usuario que enviará o email
  • $g_smtp_password = Senha do usuario que enviará o email
  • $g_smtp_connection_mode = Controle do modo de conexão do SMTP, podendo ser 'SSL' ou 'TLS
O arquivo config_inc.php deve ficar parecido com a imagem abaixo:



Com isso é só testar normalmente o envio de emails. Meus testes foram utilizando o envio de email pelo GMail da minha própria conta pessoal, e funcionou sem problemas.

A razão deste post foram duas: uma pergunta de um leitor e a issue #8369 aberta no Mantis.

Se alguem visualizar a issue vai ver que pode ser feito uma "gambiarra" para funcionar nas versões anteriores. Eu tentei "gambiarrizar" de tudo que foi forma e não consegui, então aconselho mesmo a utilizar a versão 1.2.x para utilizar esta funcionalidade!

Abraços!

Um comentário:

  1. TIRO E QUEDA , valeu a força.

    Marcelo Nobre
    Analista de Sistema
    Multisolution Tecnologia em Software

    ResponderExcluir