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 |