Meu VPS está executando o Ubuntu e gostaria de receber e-mails no meu domínio.
Como configuro facilmente um servidor de correio para fazer isso?
Meu VPS está executando o Ubuntu e gostaria de receber e-mails no meu domínio.
Como configuro facilmente um servidor de correio para fazer isso?
Respostas:
É assim que eu configurei o correio em nossas máquinas de produção. Estes são os critérios que precisávamos:
Primeiro, quero abordar o que parece ser a solução mais fácil .
sudo tasksel install mail-server
Vários problemas ocorreram quando tentamos isso: Primeiro, ele instala o Dovecot, o que é bom para a maioria, mas consideramos Courier o melhor dos dois para nossas necessidades. Segundo, utiliza o Postfix, o que é ótimo, mas também precisamos do Exim, pois é um servidor MTA / SMTP mais poderoso. Terceiro, instala o MySQL - na configuração que utilizamos, preferimos arquivos simples para configuração, pois é um ponto a menos. Pense no que aconteceria se o MySQL falhasse por algum motivo desconhecido. Caso contrário, o restante dos pacotes será bem simples e fácil de manter para um pequeno serviço de correio (pense em um total de 1-2 domínios de e-mail).
Afastamo-nos um pouco do caminho das configurações normais, mas facilita o gerenciamento.
Todo o nosso e-mail é armazenado em /var/mail/virtual/<domain>/<user>/mail
Então, por exemplos futuros eu vou estar usando email@example.com
, fwd@example.com
, foo@example.com
para representar um endereço de e-mail, um encaminhador para ir para example@gmail.com
e um endereço incorreto, respectivamente. No exemplo acima, seria /var/mail/virtual/example.com/email/mail
.
Também mantenho uma lista de todos os domínios no servidor, /etc/valiases
mas mais sobre isso posteriormente.
Esta é mais ou menos a parte fácil da configuração. Basta instalar o postfix
pacote.
Instale o Exim com apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy
Depois de instalado, você precisará editar a configuração padrão do exim para substituir ou adicionar os seguintes valores:
domainlist local_domains = @:localhost:dsearch;/etc/valiases:dsearch;/var/mail/virtual
daemon_smtp_ports = smtp : 587 : 465
MAIN_TLS_ENABLE = yes
(Essas linhas aparecerão em diferentes partes do arquivo, substitua cada uma de acordo)
Depois de concluído, reconstrua a configuração do exim com update-exim4.conf
Isso conclui as alterações necessárias para o Exim
Instale Courier com courier-base
isso deve instalar courier-authdaemon
, courier-authlib*
, courier-imap*
, courier-pop*
, courieruserinfo
,courier-ssl
Honestamente, não há muita configuração fora do padrão. Você só precisará criar um banco de dados do usuário.
Exim e Courier verificam alguns lugares para ver se um login ou um email de entrada é válido. Cheques Exim se o domínio é listado como um nome de host local, ou se o domínio está em /var/mail/virtual
ou se o domínio está em /etc/valiases
.
Acabei criando várias ferramentas para otimizar esse processo - mas a adição de um novo usuário vai para:
mkdir -p /var/mail/virtual/example.com/email
chown -R mail.mail /var/mail/virtual/example.com/
maildirmake /var/mail/virtual/example.com/email/mail
chown -R mail.mail /var/mail/virtual/example.com/
Em seguida, adicione o endereço ao courier userdb - para que eles possam fazer login
userdb email@example.com set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail
Certifique-se de substituir os valores quando apropriado. Também - uid
e gid
precisam ser os IDs numéricos de usuário / grupo para o usuário de email.
userdbpw -md5 | userdb email@example.com set systempw
Isso solicitará uma senha, digite a que você deseja usar para a conta.
makeuserdb
Por fim, gere os arquivos hash / shadow do userdb. Reinicie o Courier e teste se suas alterações funcionam:
authtest email@example.com
Deve produzir algo semelhante a
Authentication succeeded.
Authenticated: email@example.com (uid 8, gid 8)
Home Directory: /var/mail/virtual/example.com/email
Maildir: /var/mail/virtual/example.com/email/mail
Quota: (none)
Encrypted Password: $1$LOLCATS$THISWILLBEAHASH.
Cleartext Password: (none)
Options: (none)
Se você vir "Autenticação FAILED: Operação não permitida", edite / etc / courier / authdaemonrc e adicione authuserdb à linha authmodulelist.
Após a confirmação de todos os testes, reinicie os vários serviços envolvidos ( courier-authdaemon
, exim4
), abra as portas 143, 25, 586, 495, 110 e configure as contas no seu cliente de email favorito.
Para cada domínio, você deve criar um arquivo /etc/valiases
(crie se não existir) com pelo menos a seguinte linha:
*: :fail: No user at this address.
O que isso diz: Se o email de entrada não corresponder a nenhuma conta de email que eu tenho no arquivo - o email deverá falhar e ser devolvido com uma mensagem: "Nenhum usuário neste endereço". Portanto, todo o correio enviado para dizer: foo@example.com
seria devolvido como uma falha.
No entanto, temos alguns endereços de e-mail que desejamos manter em outro lugar - por exemplo, exemplo@gmail.com - para fazer isso, precisamos criar /etc/valiases/example.com
e o conteúdo do arquivo deve ser o seguinte:
fwd: example@gmail.com
*: :fail: No user at this address.
Dessa forma, mesmo que fwd@example.com não corresponda a nenhuma conta de email no servidor, ele corresponde ao /etc/valiases
arquivo e o email será encaminhado para example@gmail.com - No entanto, foo@example.com ainda falhará com uma mensagem "Nenhum usuário neste endereço".
A maneira mais fácil é correr sudo tasksel install mail-server
. Isso fornecerá um servidor de e-mail com padrões saudáveis. Tudo o que você precisa fazer é responder a algumas perguntas. Obviamente, você ainda poderá fazer configurações manuais posteriormente, se necessário, mas na maioria dos casos não será. Basta seguir as instruções na tela e você deve ficar bem.
Porém, é absolutamente recomendável ler sobre a administração de serviços de e-mail.
Referências oficiais:
sudo tasksel --task-packages mail-server
Eu não tenho uma "ótima resposta", mas você pode achar esses links úteis https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving Mail e https://help.ubuntu.com/community/Postfix
Acabei de fazer isso pessoalmente, você realmente precisa do postfix e, no meu caso, também queria um servidor imap para poder usar um bom cliente de GUI (sem mencionar nomes) em outra máquina. Eu usei estes documentos:
Pombal (imap e pop3)
Na verdade, é bem simples, instala-o em alguns minutos e estou recebendo e-mails. Isso também é útil para verificar se tudo está configurado corretamente .
Ah, e é claro que você precisará configurar suas entradas de DNS corretamente como abaixo (com base nas configurações que funcionaram para mim):
name type content
@ A ???.???.??.??
mail A ???.???.??.??
e
MX Records
Name Priority
mail.mydomain.com. 1
mail2.mydomain.com. 2
Observe o ponto final no final dos servidores de email e insira seu endereço IP e nome de domínio, quando apropriado.