Configuração, uso e práticas recomendadas do servidor SMTP
Publicados: 2022-04-08Já se perguntou como os e-mails realmente funcionam, quando você envia um e-mail e em poucos segundos ele está na caixa de entrada do destinatário, a tecnologia por trás de como isso acontece é o Simple Mail Transfer Protocol (SMTP). Como os e-mails são armazenados no servidor uma vez recebidos usando o servidor IMAP/POP3 é uma história para outro momento, por enquanto, abordaremos o SMTP e, no final do artigo, esperamos que você tenha um entendimento completo do protocolo STMP, servidores SMTP , Opções comuns e como garantir que seus e-mails cheguem ao SPAM.
O que é SMTP?
Simple Mail Transfer Protocol ( SMTP ) é o protocolo usado para enviar e-mails, ele define um padrão comum para que qualquer servidor SMTP possa se comunicar com qualquer outro servidor SMTP ou servidor POP3/IMAP na internet e eles se entendam. Você pode dizer que garante que as diferentes entidades envolvidas na transferência de e-mails falem um idioma comum.
O que é um servidor SMTP?
O protocolo SMTP precisa ser disponibilizado por uma aplicação, esta aplicação que responde às requisições SMTP para quem deseja enviar Email ou retransmitir email é chamada de SMTP Serve/SMTP Relay. Você pode dividi-lo em dois tipos, conforme indicado abaixo, ambos são basicamente os mesmos, exceto por uma pequena diferença -
- Servidor SMTP : É a mesma coisa que um retransmissor SMTP, mas usado principalmente quando o domínio do receptor é o mesmo que o domínio do servidor. Eles geralmente são usados com serviços de e-mail gratuitos como gmail.com , yahoo.com.
- SMTP Relay Server : Este também é um servidor, mas este termo é usado quando os domínios de email de origem e de destino são diferentes dos domínios do servidor SMTP. Um exemplo pode ser SendGrid ou SendInBlue que oferecem estes servidores. Esses servidores são principalmente roteadores para o correio.
Servidores SMTP falsos: – Esses servidores são usados principalmente para testes por desenvolvedores, basicamente são servidores pega-tudo que permitem aos usuários ver como o e-mail ficará no destinatário sem realmente enviar nenhum e-mail. Você pode instalar aplicativos locais como MailHog ou MailCatcher ou usar uma nuvem fornecida como Mailtrap ou Nossa ferramenta local.
Como funciona o SMTP?
Abaixo está um guia comum de como o processo de envio de e-mails funciona com o SMTP.
- Um usuário que deseja enviar um e-mail de, digamos, [email protected] para [email protected] usa seu cliente de e-mail para redigir um e-mail com assunto e corpo e pressionar Enviar.
- Assim que o usuário pressionar enviar, o cliente de e-mail se conectará ao servidor SMTP configurado por enquanto, vamos supor que seja smtp.source.com . O cliente e o servidor SMTP fazem um handshake e, se for necessária autorização, o cliente fornecerá credenciais para o mesmo.
- Após o handshake, o Cliente de Email envia o endereço do destinatário que no nosso caso é [email protected] , assunto e corpo.
- Se nosso usuário estivesse enviando para alguém no mesmo domínio, nosso servidor simplesmente o encaminharia internamente para o servidor destinatário local.
- Em seguida, o servidor SMTP, usando uma solicitação DNS para registros MX, descobre o endereço IP ou de domínio do destinatário onde seu servidor SMTP está sendo executado.
- Em seguida, ele se conecta ao endereço SMTP do destinatário e tenta entregar o e-mail.
- O servidor de e-mail do destinatário verifica se ele pode lidar com o e-mail que está sendo encaminhado para ele. E se tudo estiver bem, ele encaminha isso para o servidor IMAP ou POP3 de entrada.
Porta e endereço SMTP comum
Na maioria dos casos, o endereço SMTP será um prefixo de email ou smtp na frente do domínio ao qual você está tentando se conectar. Também estes são especificados pelos registros Mail Exchange (MX) no DNS que direcionam um cliente para o servidor de email que supostamente trata como as mensagens de email devem ser roteadas.
Para encontrar o endereço do servidor SMTP você pode usar o comando dig
1 2 3 |
root @ mailtest : ~ # dig +short freesmtpservers.com MX 20 smtp . freesmtpservers . com . 10 smtp . freesmtpservers . com . |
Então você pode usar o comando dig para encontrar o endereço IP, se necessário
1 2 |
root @ mailtest : ~ # dig +short smtp.freesmtpservers.com 104.237.130.88 |
As coisas não são tão simples com a porta à qual se conectar, Servidores e retransmissores geralmente têm um conjunto de portas diferentes às quais você pode se conectar, cada uma delas passou a ser hora extra para atender a requisitos específicos.
Porta SMTP
Número da porta | Descrição | Em formação |
---|---|---|
25 | Porta SMTP padrão | Deve ser usado principalmente para retransmissão de e-mail |
465 | Porta SMTP preterida | Foi para SMTP seguro, SSL usado para criptografia. Evite o uso. |
587 | Porta SMTP segura moderna | A maioria dos clientes de e-mail modernos usará isso, ele usa criptografia TLS. |
2525 | Porta SMTP não padrão alternativa | Isso é usado como uma alternativa para 587 caso esteja bloqueado. |
Na maioria dos casos, você usará a porta 587 para suas necessidades.
Nomes comuns de servidor SMTP
Endereços comuns para servidores SMTP começam com smtp. ou correio. com o nome de domínio, alguns podem ter um endereço IP também. Listamos alguns comuns com seus detalhes abaixo –
Nome do Serviço | Servidor SMTP | Porta |
---|---|---|
E-mail do Google | smtp.gmail.com | 587 |
Outlook.com | smtp.live.com | 587 |
Office365.com | smtp.office365.com | 587 |
E-mail do Yahoo | smtp.mail.yahoo.com | 465 |
Yahoo Mail Plus | plus.smtp.mail.yahoo.com | 465 |
Yahoo Reino Unido | smtp.mail.yahoo.co.uk | 465 |
Yahoo Deutschland | smtp.mail.yahoo.com | 465 |
Yahoo AU/NZ | smtp.mail.yahoo.com.au | 465 |
O2 | smtp.o2.ie | 25 |
O2.uk | smtp.o2.co.uk | 25 |
AOL.com | smtp.aol.com | 587 |
AT&T | smtp.att.yahoo.com | 465 |
NTL @ntlworld.com | smtp.ntlworld.com | 465 |
Conexão BT | pop3.btconnect.com | 25 |
BT Openworld | mail.btopenworld.com | 25 |
BT Internet | mail.btinternet.com | 25 |
Laranja | smtp.orange.net | 25 |
Orange.uk | smtp.orange.co.uk | 25 |
Wanadoo Reino Unido | smtp.wanadoo.co.uk | 25 |
Hotmail | smtp.live.com | 465 |
O2 Online Deutschland | mail.o2online.de | 25 |
T-Online Deutschland | securesmtp.t-online.de | 587 |
1 e 1 (1 e 1) | smtp.1and1.com | 587 |
1&1 Alemanha | smtp.1und1.de | 587 |
Comcast | smtp.comcast.net | 587 |
Verizon | saída.verizon.net | 465 |
Verizon (hospedado no Yahoo) | saída.yahoo.verizon.net | 587 |
Zoho Mail | smtp.zoho.com | 465 |
Mail.com | smtp.mail.com | 587 |
GMX.com | smtp.gmx.com | 465 |
[email protegido] por USA.NET | smtp.postoffice.net | 465 |
Configurações do provedor de servidor SMTP em massa
O que acontece se você quiser enviar mais do que alguns e-mails, digamos 10.000 mil e-mails, então você precisará de algo como um retransmissor SMTP em massa, eles também fornecerão API e outros recursos, como rastreamento de entrega, taxas de abertura etc. Emails bastante rápidos como SMTP como protocolo é um pouco lento.
Se o número não for muito grande, você pode usar nossa lista de provedores de servidores SMTP gratuitos para fazer uma escolha.
Se você deseja enviar um e-mail para sua grande base de usuários ou talvez para marketing por e-mail, fornecemos os preços abaixo com vários provedores listados.
Fornecedor | Gratuito / Mês | Limite diário | Planos pagos | Comentários |
---|---|---|---|---|
SendInBlue | 9000 | 300 | $ 25 por 10 mil a $ 499 por 1 milhão | Melhor Gratuito |
TurboSMTP | 6000 | 200 | 14,95 por 50k a 979,95 por 2 milhões. | 6000/mês por 12 meses |
Alibaba mala direta | 6000 | 200 | 0,00029 por 1.000 e-mails | |
PepiPostName | 3000 | 100 | $ 25 por 150k a 445 por 2 milhões | |
SendGrid | 3000 | 100 | US$ 14,95 para 50 mil e-mails a US$ 749 para 150 mil | |
SparPost | 3000 | 100 | US$ 20 por 50 mil a US$ 525 por 1 milhão | |
E-mail elástico | 3000 | 100 | Custear como o Amazon SES | Opção paga de baixo custo |
Amazon SES | 62.000 | 0,0001 para 1000 e-mails | Um dos mais baratos, grátis se enviado do servidor AWS EC2 | |
Gmail | 15.000 | 500 | Gsuite é a opção premium | O domínio será gmail.com, pode levar à suspensão da conta. |
Usando um servidor SMTP com WordPress
WordPress alimenta quase 40% dos sites na internet, por padrão ele usa PHP Mail para enviar e-mails transacionais que por sua vez se não configurado usa sendmail , Isso pode ser um acerto ou um erro no caso de entrega, por isso recomendamos usar um Plugin do WordPress que pode usar as configurações SMTP ou usar a API SMTP para o mesmo.
Por padrão, o WordPress usa PHP mail para enviar um e-mail, se configurado corretamente é suficiente, mas na maioria dos casos, é mais fácil usar o serviço de terceiros, pois a maioria dos hosts compartilhados não permite acesso direto ao console para verificar o que está acontecendo e seu O IP do host pode ter sido colocado na lista negra devido a SPAM, pois também pode haver outros usuários no servidor (caso de hospedagem compartilhada comum) que podem não se comportar e fazer com que seu IP seja colocado na lista negra. Por estar na lista negra, queremos dizer que o IP do seu servidor é colocado em uma lista global de spammers conhecidos, o que dificulta ainda mais a passagem de seus e-mails, você pode verificar seu status aqui.
Para o WordPress, recomendamos o Wp Mail SMTP Plugin, é fácil de configurar, configurar e suporta muitos fornecedores diferentes, incluindo o Gmail, também há uma opção para registrar todos os e-mails enviados. O plano gratuito deve ser suficiente para a maioria dos usuários.
Você pode instalá-lo facilmente de dentro do WordPress ou até mesmo baixá-lo do site do WordPress. Ele tem um plano premium, mas o gratuito deve ser bom o suficiente para a maioria dos usuários.
Configurar servidor SMTP auto-hospedado no Linux
Comparação rápida do MTA, escolheremos o Postfix, pois trabalharemos com o linux –
se você é... | qmail | Exim | Enviar correio | Pós-fixação | Notas |
---|---|---|---|---|---|
Inexperiente | 0 | 3 | 1 | 3 | Exim e Postfix têm bons documentos e exemplos claros |
Preocupado com a segurança | 3 | 2 | 0 | 3 | O Postfix é seguro e moderno; qmail é seguro, mas muito antigo e mal-humorado; Exim é seguro para diferentes critérios (leia acima). |
Confiando nos filtros do Sendmail | 0 | 1 | 3 | 2 | O Postfix pode executar milters; pode usar roteadores / script de filtro Exim equivalentes |
Querendo o mínimo de aborrecimento | 0 | 3 | 0 | 3 | O Sendmail tem alguns front-ends fáceis, mas quanto mais fundo você vai, pior fica. Postfix e Exim são mais previsíveis. |
Restrição de recursos | 3 | 2 | 1 | 2 | Veja o aplicativo incorporado abaixo para outros comentários |
No Windows | 0 | 2 | 3 | 0 | Sendmail tem uma porta Windows nativa; Exim está na distro Cygwin |
Precisando de suporte comercial | 1 | 3 | 3 | 3 | Existem empresas competentes para todos os MTAs; qmail é inerentemente menos suportável sendo tão antigo |
O Postfix é um Mail Transfer Agent (MTA) que pode atuar como um servidor ou cliente SMTP para enviar ou receber emails. É fácil de instalar e configurar e nós mesmos o usamos para a maioria das nossas necessidades, também pode ser configurado para atuar como intermediário para encaminhar e-mails através de serviços de e-mail de terceiros. Abordaremos apenas a configuração básica e enviaremos seu primeiro e-mail.
A configuração mais simples consiste em instalar o postfix e você deve estar pronto para ir.
Essa configuração básica funcionará tecnicamente, mas seus e-mails podem cair no SPAM, para atender a isso e garantir uma melhor entrega de e-mail, temos outro guia onde adicionamos os outros requisitos, como DKIM ou SPF, necessários para garantir que seus e-mails sejam enviados Através dos. Mas ainda assim, a menos que haja uma boa razão, não recomendamos executar seu próprio servidor de e-mail.
Esse processo pressupõe que você tenha um novo Ubuntu 20.04 instalado e possa trabalhar com a linha de comando Linux, caso contrário, recomendamos o uso de um dos provedores SMTP existentes. Vamos configurar o postfix no servidor Ubuntu 20.04 e enviar um e-mail usando-o para o nosso próprio serviço fictício para testar se funciona.
Para começar, emitiremos o comando update cache para o gerenciador de pacotes apt
sudo apt update
Em seguida, instalaremos o postfix usando o seguinte comando –

sudo apt install postfix
A instalação abrirá vários prompts, faça as seguintes seleções -
- Tipo geral de configuração de correio? : Para isso, escolheremos um Site na Internet, pois atende às nossas necessidades de infraestrutura.
- Nome de correio do sistema: Este é o domínio base que será usado para enviar um e-mail se nenhum domínio do remetente for especificado pelo usuário. Portanto, se você enviar um e-mail de digamos user1 e nenhum domínio for especificado, isso será postfixado no e-mail. Portanto, se for fornecido example.com, ele enviará um e-mail de [email protected] .
Isso deve cuidar da configuração básica. Para uma configuração completa, siga nosso guia de configuração do servidor de e-mail. Agora a porta 25 deve estar disponível, você pode verificar se está aberta usando qualquer um dos comandos –
1 2 3 4 5 |
sudo lsof - i - P - n | grep LISTEN sudo netstat - tulpn | grep LISTEN sudo ss - tulpn | grep LISTEN sudo lsof - i : 22 ## see a specific port such as 22 ## sudo nmap - sTU - O IP - address - Here |
O que estamos procurando algo assim
master 2575 root 13u IPv4 30244 0t0 TCP *:25 (LISTEN)
master 2575 root 14u IPv6 30245 0t0 TCP *:25 (LISTEN)
Se você precisar reconfigurar a configuração, basta executar o comando –
1 |
sudo dpkg - reconfigure postfix |
Estamos todos prontos para que nosso servidor SMTP esteja funcionando. Em seguida, podemos enviar um e-mail para alguns usuários na internet ou talvez pegar todos os e-mails para testar as coisas.
Usando um servidor SMTP
Normalmente, um cliente de e-mail é a forma mais comum de interface com um servidor SMTP, mas você também pode interagir diretamente com ele usando telnet. Vamos começar com este método, pois é simplesmente legal.
Enviar e-mail usando telnet no linux
Conecte-se ao seu servidor SMTP local digitando o seguinte comando –
1 |
telnet localhost 25 |
Você verá algo assim -
1 2 3 4 |
root @ mailtest : ~ # telnet localhost 25 Trying : : 1... Connected to localhost . Escape character is '^]' . |
Se você não conseguir se conectar, verifique se o postfix está em execução e verifique se a porta 25 está aberta.
Agora vamos enviar um email para dizer [email protected] ( catch all email ).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
root @ mailtest : ~ # telnet localhost 25 Trying : : 1... Connected to localhost . Escape character is '^]' . 220 mailtest ESMTP Postfix ( Ubuntu ) ehlo localhost 250 - li292 - 146.members.linode.com 250 - PIPELINING 250 - SIZE 10240000 250 - VRFY 250 - ETRN 250 - STARTTLS 250 - ENHANCEDSTATUSCODES 250 - 8BITMIME 250 - DSN 250 - SMTPUTF8 250 CHUNKING mail from : bob @ example . com 250 2.1.0 Ok rcpt to : smtptest @ freesmtpservers . com 250 2.1.5 Ok data 354 End data with . Subject : Testing Email service This is a test email . . 250 2.0.0 Ok : queued as A6ADC402D4 quit 221 2.0.0 Bye Connection closed by foreign host . |
Vá verificar se o Email foi recebido na caixa de entrada de [email protected] , ou se você usou um destinatário diferente pode verificar em sua caixa de entrada.
Enviar e-mail da linha de comando do linux
No linux, podemos usar o comando sendmail para enviar e-mail rapidamente.
1 |
echo "Subject: hello" | sendmail - v smtptest @ freesmtpservers . com |
Espero que você goste do meu artigo, se você sentir que perdi alguns pontos ou estava errado em algum lugar, por favor me avise e eu o atualizarei aqui.