Introdução

Na página Configuração global, painel Servidor, existe uma opção para selecionar um agente de envio de email. A configuração predefinida é PHP Mail. Se esta não funcionar, pode ser aconselhável utilizar SMTP. Este utiliza o mesmo mecanismo que a sua aplicação de email. Existem várias configurações que precisa de acertar. Em resumo:

Vá a Configuração global e selecione o separador Servidor. Procure o painel Email perto da parte inferior do formulário.

  • Serviço de envio de email definido como SMTP. Vários outros campos irão aparecer
  • Servidor SMTP Por predefinição é localhost, mas é improvável que isso funcione. Tem de ser definido como o servidor que trata do seu email de saída, por exemplo, uma conta do Gmail.
  • Porta SMTP A predefinição é 25. Verifique que esse é o valor que o seu Servidor SMTP espera.
  • Segurança SMTP A predefinição é Nenhuma, mas é provável que precise de STARTTLS.
  • Autenticação SMTP Pode não ser necessária se estiver a utilizar uma rede doméstica que espere que os emails de saída não necessitem de autenticação. Caso contrário:
  • Utilizador SMTP e Senha SMTP insira os valores que utiliza para aceder à sua conta de email através da internet.
  • Selecione o botão Enviar email de teste.

Utilizar o Gmail

Se tiver uma conta do Gmail funcional, pode utilizar o Gmail como o seu servidor de email, configurando-o na configuração global.

No separador servidor, defina o seguinte:

  • Serviço de envio de email: SMTP
  • Servidor SMTP: smtp.gmail.com
  • Porta SMTP 465
  • Segurança SMTP: SSL/TLS
  • Autenticação SMTP: Sim
  • Defina as duas linhas seguintes com as suas informações. Precisa de utilizar uma senha específica da aplicação (ASP), descrita abaixo.
  • Nome de utilizador SMTP: o seu nome de utilizador do gmail
  • Senha SMTP: a senha específica da aplicação (ASP) que gerou, descrita abaixo.

As seguintes também são combinações funcionais:

  • Porta SMTP 587
  • Segurança SMTP: STARTTLS
  • Porta SMTP 25
  • Segurança SMTP: STARTTLS

O módulo SSL não precisa de estar autorizado no Apache.

A extensão OpenSSL precisa de estar autorizada no PHP. Pode encontrar os detalhes na página de instalação do php.net.

Se estiver a utilizar o WAMP no Windows, o módulo openssl não está autorizado por predefinição e precisa de o autorizar. Para fazer isto:

  1. Abra o ficheiro php.ini e remova o comentário da linha extension=php_openssl.dll removendo o ponto e vírgula ; do início da linha.
  2. Guarde o ficheiro php.ini e reinicie o serviço Apache.

Note que, se usar a verificação em 2 passos no Gmail, precisa de adicionar uma nova senha em Definições - Contas - Alterar definições de contas - Outras definições da Conta Google - Segurança - Verificação em 2 passos - Gerir as suas senhas específicas de aplicação.

Quando a nova Senha Específica de Aplicação (ASP) for apresentada em grupos de quatro caracteres separados por espaços, certifique-se de que NÃO introduz os espaços na senha SMTP nas configurações do servidor de email no Joomla.

Depuração

Se o email não for enviado ou nunca chegar:

  • Selecione Plugins no Painel principal → painel Sítio.

  • Encontre e autorize o plugin Sistema - Depuração e configure-o:

  • Defina Grupos permitidos para Superutilizadores para restringir a saída de depuração à sua própria sessão de autenticação, tanto na área administrativa como na área de visitantes. Se não quiser autenticar-se na área de visitantes como superutilizador, crie um grupo de utilizadores exclusivo para as suas atividades de teste e selecione esse grupo de utilizadores na lista de grupos de utilizadores permitidos.

  • Guardar e fechar

  • Selecione Configuração global no Painel principal → painel Sítio.

  • No separador Sistema, defina Depurar sistema para Sim.

  • No separador Servidor, defina Relatório de erros para Máximo.

  • No separador Registo, anote o conteúdo de Caminho para a pasta de registo, normalmente [algo]/administrator/logs.

  • Defina Registar quase tudo para Sim.

  • No painel Registo personalizado, defina o campo Categorias de registo para mail (sem aspas).

  • Guardar para guardar as configurações de depuração.

  • No separador Servidor, selecione o botão Enviar email de teste no final da página.

Se houver problemas no código durante o teste, deverá obter um Stack Trace que o ajudará a si ou a outros a diagnosticar o problema. Além disso, procure um ficheiro na pasta de registos com um nome como administrator/logs/everything.php e abra-o com um editor de texto. Pode ajudar a ver o que foi registado quando a mensagem foi enviada.