Modo daemon vs. MSP
A anotação do endereço IP que você mencionou acima, na verdade, não é uma configuração do próprio servidor sendmail
. Se você olhar para uma implantação moderna de sendmail
, ela normalmente é dividida em dois componentes. O servidor tradicional (modo daemon) e outro servidor em execução no modo de envio de correio (MSP). Você pode ver isso com um simples comando ps
:
$ ps -eaf | grep send
root 24488 1 0 21:10 ? 00:00:00 sendmail: accepting connections
smmsp 24504 1 0 21:10 ? 00:00:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
A primeira linha é o sendmail no modo daemon, a segunda é o sendmail no modo MSP. Você sempre pode distingui-las porque a maioria das distribuições que enviam o sendmail fazem a variante MSP ser executada como um usuário especial com privilégios menores. Aqui está rodando no meu servidor CentOS 5.x como usuário smmsp
.
OBSERVAÇÃO: Isso é feito para separar os deveres de manipulação de envio de mensagens (MSP) e entrega de mensagens (modo daemon). Os usuários se conectam à instância MSP quando estão enviando emails com comandos como mail
e mailx
localmente na caixa.
Ao lidar com o sendmail em uma distro baseada no Red Hat, como o CentOS, os arquivos de configuração estão localizados aqui: /etc/mail
. Existem dois arquivos nos quais estamos interessados nesta modificação:
- /etc/mail/sendmail.mc
- /etc/mail/submit.mc
O primeiro arquivo controla o servidor do modo daemon, enquanto o segundo arquivo é destinado ao servidor MSP.
Por acaso, esses arquivos *.mc
não são arquivos de configuração reais que os dois servidores usam diretamente; em geral, a configuração sendmail
pode ser complicada. Dada a sua idade e versatilidade, ela pode ser configurada de várias maneiras e, portanto, esses arquivos *.mc
são arquivos de pré-configuração que são "compilados" em arquivos de configuração sendmail
reais. As versões compiladas desses arquivos também estão no mesmo diretório:
- /etc/mail/sendmail.cf
- /etc/mail/submit.cf
Geralmente, é aconselhável não fazer alterações nesses dois arquivos diretamente, mas sim fazer as alterações através do arquivo .mc
correspondente. Você normalmente edita os arquivos .mc
e, em seguida, executa o comando make
enquanto está dentro do diretório /etc/mail
. Novamente, este é um Red Hat-ism, que eu saiba, para que outra distro possa fazer as coisas de maneira diferente.
NOTA: * Os arquivos .mc
estão em uma linguagem de macros chamada M4 , então a ferramenta para compilá-los é chamada, é claro, de m4
. Você pode compilar manualmente esses arquivos com um comando como este:
$ m4 /etc/mail/submit.mc > /etc/mail/submit.cf
Isso é tudo o que está acontecendo com os arquivos make
e Makefile
que a Red Hat fornece no diretório /etc/mail
.
Alterações no submit.cf
Então, quais alterações você precisa fazer? A linha a seguir precisa ser anexada ao arquivo submit.mc
:
CLIENT_OPTIONS('Family=inet, Address=<your ip here>, Name=MTA')dnl
Certifique-se de adicionar seu IP onde ele diz <your ip here>
. Depois de fazer essa alteração, você precisará gerar novamente seu arquivo submit.mc
.
$ cd /etc/mail && make
Depois de regenerar o arquivo .cf
, você precisará reiniciar o sendmail
:
$ /etc/init.d/sendmail restart
-or-
$ /etc/init.d/sendmail reload
Produto final
Depois de fazer a alteração acima, você ficará com o seguinte cabeçalho. Neste exemplo, meu endereço IP externo era 50.122.22.45, por exemplo.
Return-Path: <[email protected]>
Received: from mail.sdom.com (mail.sdom.com [50.122.22.45])
by sdom.com (8.14.3/8.14.3) with ESMTP id r5J188Gx018193
for <[email protected]>; Tue, 18 Jun 2013 21:08:08 -0400
Received: (from root@localhost)
by mail.sdom.com (8.14.3/8.14.3/Submit) id r5J15ua4018000;
Tue, 18 Jun 2013 21:05:56 -0400
Date: Tue, 18 Jun 2013 21:05:56 -0400
Message-Id: <[email protected]>
to:[email protected]
from:[email protected]
subject:Testing
X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,BAYES_00
autolearn=ham version=3.2.5
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on mail.sdom.com
X-Greylist: Sender is SPF-compliant, not delayed by milter-greylist-4.0 (sdom.com [127.0.0.1]); Tue, 18 Jun 2013 21:08:09 -0400 (EDT)
test test test