Código fonte Wiki de Servidor de e-mail (100)
Ocultar últimos autores
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | Cadastro de servidores de e-mail (SMTP) |
![]() |
1.2 | 2 | |
![]() |
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 | |||
![]() |
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 | |||
![]() |
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> |
![]() |
1.2 | 20 | ))) |
![]() |
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. |
![]() |
1.5 | 22 | |
![]() |
3.1 | 23 | == Autenticação OAUTH2 == |
![]() |
1.5 | 24 | |
![]() |
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 | |||
![]() |
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 | ||
![]() |
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| | ||
![]() |
1.5 | 104 | |xcape.mail.xoauth2.scope|[[https:~~/~~/outlook.office.com/.default>>https://outlook.office.com/.default]]|Dado atual para esse campo |
![]() |
3.1 | 105 | |
106 | |||
107 | |||
108 |