Código fonte Wiki de Servidor de e-mail (100)

Versão 3.2 por FlowFast em 2024/09/10 08:22

Ocultar últimos autores
FlowFast 1.1 1 Cadastro de servidores de e-mail (SMTP)
FlowFast 1.2 2
FlowFast 1.3 3 O envio de e-mail é feito através da biblioteca javamail. Para configuração são usados um conjunto de chaves e valores de acordo com cada servidor.
4
5
FlowFast 1.2 6 Relação de chaves especiais
7
8 |Chave|Descrição
9 |xcape.max.threads|(((
10 Número máximo de threads que poderão conectar simultaneamente no servidor para evitar bloqueios. (A Miscrosoft, por exemple, limita em 3 conexões simultâneas)
11
12 Como o envio dos e-mails é individual e pode ser assíncrono ao disparar muitos e-mails, com um robô, por exemplo, sem esse parâmetro configurado o sistema irá abrir diversas threads para enviar esses e-mails e processará várias ao mesmo tempo.
13 )))
14 |xcape.mail.from|(((
15 Define o campo "from" do e-mail.
16
17 Alguns servidores permitem alterar o e-mail de envio para que seja diferente do usuário.
18
FlowFast 1.3 19 Pode ser útil também para poder dar um "Nome" para o e-mail, para que quem recebe visualizar esta descrição e não somente o e-mail, utilizando essa sintaxe "Nome<seuemail@dominio.com.br>. ex: FlowFast<contato@xcape.com.br>
FlowFast 1.2 20 )))
FlowFast 3.2 21 |xcape.mail.reply-to|Define o campo "reply-to"(responder para) do e-mail. Com esse informação quando a pessoa responder este será o e-mail padrão da resposta utilizado.
FlowFast 1.5 22
FlowFast 3.1 23 == Autenticação OAUTH2 ==
FlowFast 1.5 24
FlowFast 3.1 25
26 === Configuração Office 365 ===
27
28 **Licença necessária:** Office 365 ou Exchange Online
29
30 OBS: Atribuir para o usuário da conta de e-mail a licença. (Pode levar ate 30 min para a licença ser efetivamente aplicada ao usuário (aguardar))
31
32
33
34 1 - Faça o login no portal Azure (https:~/~/portal.azure.com/#home)
35 2 - Clique em "Microsoft Entra ID"
36 3 - Selecione "Registro de Aplicativos" no menu a esquerda
37 4 - Se seu aplicativo não estiver registrado, verifique o procedimento de criação de aplicativos em https:~/~/learn.microsoft.com/en-us/entra/identity-platform/quickstart-register-app
38 5 - Se a aplicação já estiver registrada, selecione "Todos os aplicativos"
39 6 - Selecione sua aplicação 
40 7 - Preste atenção nas informações no topo da pagina, você precisará das credenciais do diretório (locatário) e da aplicação:
41 a) ID do aplicativo (cliente)
42 b) ID do diretório (locatário)
43
44 8 - Selecione "Permissões de APIs" no menu a esquerda.
45 9 - Selecione "Adicionar uma permissão"
46 10 - Na nova janela, selecione "APIs que a minha organização usa"
47 11 - Digite "Office 365" na barra de pesquisa
48 12 - Selecione "Office 365 Exchange Online" nos resultados
49 13 - Selecione "Permissões de aplicativo"
50 14 - Abra a sessão "Mail" e marque a permissão "Mail.Send"
51 15 - Abra a sessão "SMTP" e marque a permissão "SMTP. SendAsApp"
52 16 - Clique em "Adicionar permissões" no final da pagina
53 17- Clique em "Conceder consentimento do administrador para ..." ao lado de "Adicionar uma permissão"
54 18 - Selecione "Sim" na nova janela e realize o login com uma conta de administrador se for solicitado
55 19 - Clique em "Certificados e segredos" no menu da esquerda.
56 20 - Clique em "Novo Segredo de cliente"
57 21 - Informe uma descrição e uma data de expiração do segredo (esse segredo deve ser renovado manualmente quando atingir essa data)
58 22 - Clique em "Adicionar"
59 23 - Anote o valor da coluna "Valor" do segredo gerado. Essa informação somente está visivel durante um pequeno período de tempo depois da criação.
60
61 ===
62 Configuração do Exchange ===
63
64 Informações do portal necessárias:
65
66 1 - Faça login no portal do azure (https:~/~/portal.azure.com/#home)
67 2 - Selecione "Microsoft Entra ID"
68 3 - Selecione "Aplicativos Empresariais" no menu a esquerda
69 4 - Selecione seu aplicativo
70 5 - Anote o valor do "ID do Objeto"
71
72 6 - Abra uma janela de comandos "Powershell" como um administrador do computador.
73 7 - Execute "Install-Module -Name ExchangeOnlineManagement -RequiredVersion 3.4.0"
74 8 - Execute "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned"
75 9 - Execute "ExchangeOnlineManagement Import-module"
76 10 -Execute "Connect-ExchangeOnline -Organization [tenantId]" aonde [tenantId] é o valor do "ID do diretório" no azure acima.
77 11 - Entre com uma conta de administrador na janela que irá abrir.
78 12 - Execute "New-ServicePrincipal -AppId [appId] -ObjectId [objId]" onde [appId] é o valor de "ID do aplicativo" obtido no portal [objId] é o valor anotado no passo 5.
79 13 - Execute "Get-ServicePrincipal | fl" para verificar a informação do serviço criado
80 14 - Anote o valor do "ExchangeObjectId"
81 15 - Execute "Add-MailboxPermission -Identity "[username]" -User [exchangeId] -AccessRights FullAccess" onde [username] é a conta de email de origem que você deseja enviar os emails e [exchangeId] é o valor anotado no passo 14.
82 16 - Valide que a permissao foi adicionada com "Get-MailboxPermission -Identity "[username]" e valide que exista um registro com o seu [objId] do passo 5
83 17 - Execute "Set-TransportConfig -SmtpClientAuthenticationDisabled $false"
84
85 OBS: Este comando pode levar ate 30 minutos para ser efetivado
86
87 18 - Execute "Disconnect-ExchangeOnline"
88
89
90 === Configuração Flowfast ===
91
FlowFast 1.5 92 Para utilizar autenticação OAUTH2 é necessário adicionar a chave **mail.smtp.auth.mechanisms** com o valor **XOAUTH2**, e as seguintes chave de acordo com o servidor
93
94 **Microsoft (Office)**
95
96 |Chave|Conteúdo|Obs
97 |xcape.mail.xoauth2.provider|(((
98 MS
99 )))|Definir essa valor para que o sistema execute o procedimento necessário para Microsoft
100 |xcape.mail.xoauth2.url|[[https:~~/~~/login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token>>https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token]]|Esta é a URL atual do serviço
FlowFast 2.1 101 |xcape.mail.xoauth2.tenant_id|Tenant ID da conta (Locatário)|
102 |xcape.mail.xoauth2.client_id|Client ID do aplicativo|
103 |xcape.mail.xoauth2.client_secret|Client Secret do aplicativo|
FlowFast 1.5 104 |xcape.mail.xoauth2.scope|[[https:~~/~~/outlook.office.com/.default>>https://outlook.office.com/.default]]|Dado atual para esse campo
FlowFast 3.1 105
106
107
108