Este é um servidor de API simples para enviar e-mails usando SMTP. Aqui está uma breve visão geral dos arquivos e funcionalidades relevantes:
main.go
: O arquivo principal contendo o código-fonte da API.Dockerfile
: Arquivo para a construção de uma imagem Docker para implantação.docker-compose.yml
: Arquivo de composição do Docker para orquestração de contêineres.config.json
: Arquivo de configuração que contém informações confidenciais como endereço de e-mail e senha para autenticação SMTP.
Antes de implantar a API, você precisa configurar o arquivo config.json
com as credenciais corretas. Aqui está um exemplo de como deve ser o formato:
{
"email": "[email protected]",
"password": "sua_senha_de_email"
}
Certifique-se de ter o Docker instalado em sua máquina antes de prosseguir.
- Clone este repositório.
- Configure o arquivo
config.json
conforme mencionado anteriormente. - Abra um terminal na raiz do projeto.
- Execute o comando
docker-compose up -d
para iniciar o contêiner em segundo plano.
Se desejar acessar a API de fora da sua máquina local, verifique se a porta 32781 está aberta e acessível para o mundo externo. Você pode fazer isso usando um serviço online ou um utilitário local como o nmap
.
Por exemplo, no terminal, você pode executar o comando:
nmap -p 32781 localhost
Isso verificará se a porta 32781 está aberta em localhost
. Certifique-se de substituir localhost
pelo endereço IP da máquina onde a API está sendo executada, se aplicável.
Este guia fornece instruções sobre como consumir a API de Envio de E-mails usando PHP e Python.
- POST
/send-email
: Envia um e-mail usando os parâmetros fornecidos.
Aqui está um exemplo simples de como enviar um e-mail usando a API em PHP:
<?php
$url = 'http://localhost:32781/send-email';
$data = array(
'emissor' => '[email protected]',
'assunto' => 'Assunto do E-mail',
'destinatario' => '[email protected]',
'mensagem' => 'Corpo da mensagem do e-mail',
'usuario' => 'Seu Nome'
);
$options = array(
'http' => array(
'header' => "Content-type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) {
echo "Erro ao enviar e-mail";
} else {
echo "E-mail enviado com sucesso!";
}
?>