Adam O Automador
odeia ou ama; e-mail está em toda parte. O Protocolo para mover esse email para todo o lado é SMTP, e os “roteadores” SMTP são relés SMTP.
configurar relés SMTP varia entre os sistemas, mas se você tem Office 365 como seu provedor de serviços de correio, suas opções são limitadas. A configuração pode ser complicada e propensa a erros, especialmente para dispositivos que não são capazes de TLS.
Note que enviar e-mail através do Office 365 não requer um relé SMTP. Você pode fazer com que os clientes enviem e-mails diretamente para o Office 365 sem adicionar um relé SMTP que não necessita de quaisquer alterações de configuração. Para saber o que são, leia Como enviar o Office 365 Direct Send/SMTP Client Submission Email (PowerShell).
tabela de conteúdo
pré-requisitos
estas são as exigências antes de você poder prosseguir.Assinatura Anual do Serviço das publicações Se você ainda não tem isso, você pode se inscrever para uma assinatura de Teste do Office 365 E5.
para configurar um relé SMTP, você deve primeiro criar um conector no Office 365 para aceitar transações SMTP. Este conector receberá transações de retransmissão SMTP da aplicação ou dispositivo.
Antes de tentar criar um conector, certifique-se de que a sua conta tem as permissões Online de troca adequadas. Certifique-se de que sua conta é um membro do grupo de gestão da organização.
Existem duas maneiras de criar um conector. Você pode usar o centro de Administração de Intercâmbio ou PowerShell. Ambas as opções irão realizar a mesma tarefa. Depende de ti qual deles usar. Neste artigo, vamos cobrir ambos. Também vamos cobrir a criação de conectores não-TLS e TLS.
crie um conector não-TLS usando o Exchange Admin Center
vamos começar por criar um conector não-TLS. Primeiro vais aprender a fazer isto através do Centro Administrativo de Intercâmbio. Poderá configurar muitas opções SMTP do Office 365 no centro de administração do Exchange.
once logted in, click on mail flow (1) –> connectors (2) –> New (3). A nova janela do conector vai aparecer.
o Novo Conector da janela, selecione a Partir de: organização do servidor de e-mail (1), selecione Para: Office 365 (2), clique em Seguinte (3).
Na janela seguinte, insira o nome de Retransmissão de SMTP (Não-TLS) ou escolher o seu próprio nome (1), escreva a descrição Aceitar a retransmissão de Servidor de SMTP local (2), desmarque a opção Manter interno do Exchange cabeçalhos de e-mails (recomendado) (3) e clique em Seguinte (4).
Na janela seguinte, selecione verificar que o endereço IP do servidor de envio corresponde a um dos seguintes endereços IP que pertencem à sua organização (1), e clique em Adicionar (2).
Na nova janela pop-up, digite seu endereço IP público (1), em seguida, clique em OK (2). Isto deve trazê-lo de volta para a janela anterior.
Verifique se o endereço IP é adicionado na lista (1) e, em seguida, clique em Seguinte (2).
Então, você vai ver o resumo das alterações que você precisa para implementar. Trabalhar nas mudanças necessárias primeiro. Se não houver nenhum, pode clicar em Salvar.
de volta ao Centro Administrativo de Intercâmbio, você pode agora confirmar que o novo conector foi criado.
agora Você deve ter uma non-TLS conector criado.
crie um conector TLS usando Exchange Admin Center
Criando um conector TLS é semelhante à criação de um conector não-TLS. Como como você criou um conector não-TLS, voltar para o novo assistente de Conectores e usar o mesmo cenário de fluxo de E-mail. Eu vou estar usando um conector nome do relé SMTP (não-TLS), mas o seu pode variar.
Na janela para definir o Office 365 deve identificar o e-mail de seu servidor de e-mail, selecione:
- verificando que o nome do assunto no certificado que o servidor de envio usa para autenticar com o Office 365 corresponde a este nome de domínio (recomendado) (1)
- , em seguida, escreva no assunto do certificado SSL (2)
- e clique em Seguinte (3).
Novamente, você verá um resumo das alterações necessárias. Trabalhe neles primeiro antes de processar. Se não houver nenhum, você pode clicar no botão Salvar imediatamente.
crie um conector não-TLS usando PowerShell
se criar conectores do Office 365 através de uma interface gráfica não é a sua coisa, você pode sempre criá-los através de PowerShell também. Para isso, em primeiro lugar, certifique-se de que você está conectado para trocar PowerShell on-line.
para criar o conector, terá de executar o comando New-InboundConnector
. Este comando requer alguns parâmetros diferentes para que eu vou configurar estes parâmetros antes do tempo usando o splatting PowerShell.
eu adicionei alguns comentários no próprio código abaixo, mas aqui está uma discriminação de cada parâmetro e para o que ele é usado:
- Nome – este é o nome do conector.este é o tipo de conector. Este valor pode ser
OnPremises
ouPartner
. Neste cenário, o tipo apropriado éOnPremises
. - SenderDomains-esta pode ser uma lista dos domínios de remetente permitidos. Apenas domínios verificados para o seu inquilino são opções válidas. O asterisco (
*
) significa que você está permitindo que todos os seus domínios verificados retransmitam mensagens usando este conector. Se você só precisa permitir certos domínios do remetente, mude este valor para um array dos domínios. (exemplo.'domain1.com','domain2.com'
) - SenderIPAddresses – este é o seu endereço IP público. Não se esqueça de mudar isso antes da execução.
- RestrictDomainsToIPAddresses-quando este valor é definido para
$true
, indica que este conector só irá aceitar e-mails de endereços de remetentes provenientes do seu endereço IP público permitido.
$splat = @{ ## Define the name of the connector. Name = 'SMTP Relay' ## Defined the type of connector to create. ConnectorType = 'OnPremises' ## The set of sender domains allowed to relay. SenderDomains = '*' ## Change this to your actual public IP address. SenderIPAddresses = '110.x.x.x' ## Restrict the email relay only to your sender domains and sender IP address RestrictDomainsToIPAddresses = $true}## Create the connectorNew-InboundConnector @splat
quando executado, você deve ver algo semelhante ao abaixo.
Criar um TLS conexão utilizando PowerShell
Supondo que você está conectado, execute o código a seguir para criar um TLS conector com o PowerShell bem. Você pode ver abaixo muitos parâmetros são idênticos à criação de um conector não-TLS. Os parâmetros necessários que diferem da criação de um conector não-TLS são::
- Requettls-isto especifica que todas as mensagens recebidas por este conector requerem a transmissão de TLS
- Tlssendertificatename-este é o nome (ou assunto) do certificado utilizado pelo remetente.
$splat = @{ ## Define the name of the connector. Name = 'SMTP Relay (TLS)' ## The type of connector to create. ConnectorType = 'OnPremises' ## The set of sender domains allowed to relay. SenderDomains = '*' ## Require TLS RequireTLS = $true ## Subject/Name of the SSL certificate TlsSenderCertificateName = '*.YourDomain.com'}## Create the connectorNew-InboundConnector @splat
Execute o código acima e tenha um conector TLS criado e pronto para receber e-mail.
testando o conector de relé SMTP do Office 365 com PowerShell
Depois de criar o conector, prepare-se para testá-lo. A maneira mais fácil de fazer isso é usar PowerShell. Nesta seção, vamos criar alguns scripts PowerShell para permitir que você possa facilmente garantir que o conector está funcionando corretamente.
Antes de começar a testar, primeiro certifique-se que sabe qual é o URL MX endpoint para o seu domínio Online Exchange. Se você não sabe como encontrar o seu MX endpoint URL, entre no Office 365 Admin Portal. Clique na configuração, selecione Domínios, clique no nome do domínio e copie os pontos MX para endereço ou valor.
Testing a non-TLS SMTP Relay (IP Address)
Nota: Este teste deve ser feito a partir do computador cujo endereço IP público é permitido no Office 365 SMTP relay setup.
Use the PowerShell code below for testing. Certifique-se de alterar oFrom
, To
e SmtpServer
valores dos parâmetros para usar a sua própria configuração do relé SMTP do Office 365 antes de executá-lo.
-
To
– deve incluir um destinatário interno do domínio e um destinatário externo do domínio. Não te esqueças de mudar estes valores para os teus. -
From
– deve ser alterado para o seu endereço de remetente nomeado. A parte do domínio do endereço de E-mail deve ser um dos domínios de E-mail do seu inquilino. -
SmtpServer
– deve ser alterado para o ponto final do MX do seu escritório 365 tenant.
$mailParams = @{ SmtpServer = '<tenant>.mail.protection.outlook.com' Port = '25' From = '' To = '','' Subject = ('SMTP Relay - ' + (Get-Date -Format g)) Body = 'This is a test email using SMTP Relay' DeliveryNotificationOption = 'OnFailure','OnSuccess'}Send-MailMessage @mailParams
Testing a TLS SMTP Relay (Certificate)
nota: deve ter o certificado SSL público no formato PFX antes de poder prosseguir com este teste.
Uma vez que o relé TLS SMTP necessita de um certificado, não pode usar o Send-MailMessage
PowerShell cmdlet porque não lhe permite seleccionar um certificado específico. Em vez disso, use dois objectos. net chamados System.Net.Mail.SmtpClient para definir os parâmetros de SMTP e System.Net.Mail.MailMessage para compor a mensagem.
abaixo encontrará um excerto de código PowerShell que poderá usar para testar o relé SMTP TLS. Não se esqueça de alterar o pfxFile
pfxPass
From
To
e SmtpServer
valores a utilizar o Office 365 de retransmissão de SMTP configurações antes de executá-lo.
# specify the full path of your PFX certificate$pfxFile = "C:\Certificate\cert.pfx"$pfxPass = '<cert password here>'$pfxBytes = Get-Content -path $pfxFile -encoding Byte -ErrorAction:SilentlyContinue$X509Cert = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Certificate2$X509Cert.Import(]$pfxBytes, $pfxPass,"Exportable,PersistKeySet")# Build SMTP properties$smtpServer = '<tenant>.mail.protection.outlook.com'$smtpPort = '25'$smtp = New-Object Net.Mail.SmtpClient($smtpServer,$smtpPort)$smtp.ClientCertificates.Add($X509Cert)$smtp.EnableSSL = $true# Compose message$emailMessage = New-Object System.Net.Mail.MailMessage$emailMessage.From = ''$emailMessage.To.Add('')$emailMessage.To.Add('')$emailMessage.Subject = ('SMTP Relay (TLS) - ' + (Get-Date -Format g))$emailMessage.Body = 'This is a test email using SMTP Relay (TLS)'# Send the message$smtp.Send($emailMessage)
Se configurado o conector TLS estiver correto, os destinatários definem através do método Add()
deve receber o e-mail de ensaio.
a validar o relé Hops SMTP usando o cabeçalho da mensagem
Agora tem um relé SMTP funcional configurado com um relé SMTP local e um relé SMTP do Office 365. Todos os testes foram bem sucedidos e seus dispositivos podem enviar mensagens para receptores internos e externos. Bom trabalho!se ainda tiver dúvidas e precisar de confirmar se estas mensagens estão a passar pelo relé SMTP do Office 365, pode rever os cabeçalhos das mensagens nos e-mails recebidos.
Nota: A abertura dos cabeçalhos das mensagens varia entre diferentes clientes de correio. O exemplo abaixo é específico do Gmail.
abra o e-mail na interface Gmail, abra a mensagem, e clique nos três pontos verticais (1), em seguida, clique em Mostrar original (2).
Uma nova página irá mostrar os cabeçalhos de mensagem de email. Carregue em Copiar para a área de transferência (1).
Abra uma nova guia no navegador e navegue até https://testconnectivity.microsoft.com/.
Go to the Message Analyzer (1) tab, paste os dados copiados para a caixa (2), e clique em Analisar os cabeçalhos (3).
O resultado da avaliação será apresentado em tabela, como mostrado abaixo.
Você deve ver o seguinte fluxo de trabalho nos resultados acima:
- endereço de IP 192.168.0.3 o indica a origem do computador.o servidor SMTP on-prem recebeu a mensagem.a troca de Proteção Online (EOP) recebeu a mensagem.
- troca servidor on-line e reencaminhado para entrega de saída recebeu a mensagem.Office 365 to google.com entregou a mensagem.com base nos resultados da análise, pode confirmar que a mensagem passou pelo relé SMTP do Office 365 como previsto.
resumo
neste artigo, você aprendeu a criar um relé SMTP TLS e não-TLS Office 365. Você também aprendeu a testar e confirmar a sua funcionalidade usando técnicas diferentes e como validar as rotas SMTP que a mensagem tinha passado.
Leitura Adicional
Leave a Reply