Ferramentas de Usuário

Ferramentas de Site


pt:squeeze:email:smtp:postfix_relay

Página desactualizada Esta página contém uma versão anterior deste guia que pode estar desatualizada. Para a consultar a versão mais recente clique aqui.

5.2.3 Relay SMTP

Antes de iniciar

O servidor SMTP configurado para a rede local poderia, teoricamente, enviar email para qualquer destinatário. Na prática era pouco provável que chegasse ao destino final. Isto porque os fornecedores de acesso à Internet, para lutar contra o envio de email não solicitado (spam), impõem regras muito apertadas para aceitar e reencaminhar emails.

Por outro lado, mesmo que o email chegasse ao destino, uma eventual resposta seria endereçada para o remetente (por exemplo fribeiro@home.lan) de um domínio que não existe fora da rede local.

Assim, para enviar correio electrónico para o exterior, deverão ser resolvidas 2 questões:

  • O servidor smtp do nosso fornecedor de acesso Internet (ISP) deve aceitar a ligação do nosso servidor.
  • O endereço do remetente deve ser de um domínio válido, para poder receber respostas.

Para contornar estas questões, nada mais simples do que utilizar então servidores e endereços válidos. Assim, ao enviar emails para o exterior, deverá acontecer o seguinte:

  • O nosso servidor deverá enviar email através de um servidor SMTP externo; Caso necessário, deverá autenticar-se como utilizador válido.
  • O nosso endereço email deverá ser substituído por outro endereço email válido no exterior.

Neste caso, iremos utilizar o servidor SMTP do Gmail (smtp.gmail.com) e um endereço do Gmail (pinguim.ribeiro@gmail.com).

Instalação

Instalação dos pacotes de autenticação:

root@server:~# aptitude install libsasl2-modules sasl2-bin

Configuração

saslauthd

O arranque automático do serviço saslauthd deve ser configurado no ficheiro /etc/default/saslauthd:

/etc/default/saslauthd
#
# Settings for saslauthd daemon
# Please read /usr/share/doc/sasl2-bin/README.Debian for details.
#

# Should saslauthd run automatically on startup? (default: no)
START=yes

#[...]

Reinicar o serviço saslauthd:

root@server:~# /etc/init.d/saslauthd restart

relay

A configuração do postfix para usar um servidor smtp intermédio (relay) é feita no ficheiro /etc/postfix/main.cf:

Em primeiro lugar, indicar o servidor smtp do Gmail como “relay”.

/etc/postfix/main.cf
# [...]
#
# relay
#

relayhost = [smtp.gmail.com]

Em seguida, configurar uma ligação encriptada (tls) e autenticada (sasl_auth), bem como a localização do ficheiro de parâmetros de autenticação (password_maps):

/etc/postfix/main.cf
# [...]
#
# SASL SUPPORT FOR SERVERS
#
# The following options set parameters needed by Postfix to enable
# Cyrus-SASL support for authentication of mail servers.
#
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous

Os parâmetros de autenticação no servidor smtp do Gmail estão guardados no ficheiro /etc/postfix/sasl/sasl_passwd:

/etc/postfix/sasl/sasl_passwd
[smtp.gmail.com]        pinguim.ribeiro:myGmailPassword

Por segurança, o ficheiro /etc/postfix/sasl/sasl_passwd deve estar protegido, sendo só acessível por root:

root@server:# chmod 600 /etc/postfix/sasl/sasl_passwd

Sempre que o ficheiro /etc/postfix/sasl/sasl_passwd for alterado, deve ser a base de dados correspondente deve ser regenerada:

root@server:# postmap /etc/postfix/sasl/sasl_passwd

mapeamento de endereços

Ao enviar emails para o exterior, os endereços internos (fribeiro@home.lan) devem ser substituídos por endereços externos (pinguim.ribeiro@gmail.com).

O postfix deve ser configurado para usar o ficheiro de mapeamento de endereços, o que é feito no ficheiro /etc/postfix/main.cf:

/etc/postfix/main.cf
smtp_generic_maps = hash:/etc/postfix/generic

O ficheiro com o mapeamento de endereços consiste numa lista de endereços locais e os correspondentes endereços externos. O tamanho da lista não está limitado, podendo ser aumentada para conter os endereços dos diversos utilizadores locais.

O ficheiro está em /etc/postfix/generic:

/etc/postfix/generic
fribeiro@home.lan       pinguim.ribeiro@gmail.com

Sempre que o ficheiro /etc/postfix/generic for alterado, deve ser a base de dados correspondente deve ser regenerada:

root@server:# postmap /etc/postfix/generic

Reiniciar o postfix:

root@server:~# /etc/init.d/postfix restart

Referências

pt/squeeze/email/smtp/postfix_relay.txt · Última modificação em: 2024-02-15 01:05 por 127.0.0.1

Excepto menção em contrário, o conteúdo neste wiki está sob a seguinte licença: CC Attribution-Noncommercial-Share Alike 4.0 International
CC Attribution-Noncommercial-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki