Saudações,
Em TI, é sempre bom nos aplicar-nos a leitura, e descobrir coisa novas. Foi assim que há alguns meses, quando surgiu a noticia do PRIMS, o projeto Norte Americano de vigilância mundia, que eu encontrei o Bitmessage.
O Bitmessage é um projeto de troca de e-mails criptografados que utiliza a logica P2P. A grosso modo... cada pc ligado a rede é um servidor e também um cliente. Não há um servidor central!
O projeto ainda está em fase Beta!
E-mail PHP com Bitmessage
Mesmo em fase Beta, o Bitmessage tem se mostrado eficiente. Sim, como todo programa de computador, este também está sujeito a falhas, brechas de segurança, etc. Mas, eu acredito que seja um projeto promissor.
Enviar um e-mail pelo Bitmessage, usando o PHP, tornou-se relativamente simples devido o projeto Class.bitmessage.php.
A Class.bitmessage.php foi desenvolvida para se comunicar com a API do PyBitmessage.
O PyBitmessage é o cliente oficial do Bitmessage. Baixe-o em bitmessage.org.
É ele que iremos usar para a comunicação entre o PHP e o Bitmessage.
Primeiro, vamos configurar o PyBitmessage para atender requisições em uma porta especifica.
Usando o manual da API ( bitmessage.org/wiki/API ) como referencia, edite o arquivo keys.dat:
# vi keys.dat
Certifique-se que você tem as seguintes linhas adicionadas:
apienabled = true
apiport = 8442
apiinterface = seu-ip
apiusername = seu-usuario
apipassword = sua-senha
Salve o arquivo e abra o PyBitmessage. Eu uso Linux... se este é o seu caso, você verá uma tela como esta:
Caso você queira executar o PyBitmessage em modo Daemon ( bitmessage.org/wiki/Daemon ), adicione a linha daemon = true ao seu arquivo key.dat. No modo Daemon a GUI não será exibida.
Agora, vamos à classe PHP. Acesse o site conver.github.io/class.bitmessage.php e baixe a Class.bitmessage.php.
Descompacte a classe na pasta web do seu servidor/site.
Aqui eu tenho o Nginx + PHP-FPM ( dotjunior.ddns.net:9090 ), e a minha estrutura de pastas está assim:
/WWW-ROOT
|__foo
|
|__class-bitmessage-php/
|__________________|__class.bitmessage.php
|__________________|__curl.php
|__________________|__envia.php
|
|__bar
Eu não vou me focar na criação do um formulário html. Eu vou direto ao "envio"!
Com a classe devidamente descompactada na sua pasta web, crie um arquivo PHP chamado envia.php:
# vi envia.php
Dentro deste, adicione o conteúdo:
<?php // CARREGANDO CLASS require_once ('curl.php'); require_once ('class.bitmessage.php'); // CHAMANDO A API DEFINIDA EM key.dat $bitmessageObj = new bitmessage("seu-usuario:sua-senha@seu-ip:8442/"); $bitmessageObj->setStrip(true); // GERANDO O E-MAIL $toAddress = 'BM-2********************************A'; $fromAddress = 'BM-2********************************A'; $subject = 'Teste - ' . date('D/M/Y h:i:s'); $message = 'Minha nova mensagem.'; // ENVIANDO MENSAGEM $bitmessageObj->sendMessage($toAddress, $fromAddress, $subject, $message); ?>
No teste acima eu usei a minha própria ID para enviar e receber o e-mail. Se você for usar, por exemplo, um form html com o método POST, para coletar as variáveis, faça algo parecido com:
$toAddress = $_POST['email'];
$message = $_POST['mensagem'];
Depois de criado o arquivo envia.php, acesse-o no seu site.
Levando em conta a minha estrutura... aqui ficou assim:
http://junior-pc:9090/class-bitmessage-php/envia.php
Ao acessar o endereço acima, o PHP simplesmente irá chamar a API do PyBitmessage e enviará a mensagem via Bitmessage.
Não será mostrado nem uma mensagem do tipo "Envido com Sucesso"; isto você pode adicionar depois! =)
Depois que o PHP envia a mensagem, instantaneamente o e-mail chega.
Veja uma captura de tela do meu PyBitmessage...
Caixa de entrada (INBOX):
Vou torcer para que futuramente o Bitmessage saia da fase Beta, e seja um protocolo confiável, seguro e uma alternativa, não um substituto, para envio e recebimento de e-mails.
Para mais informações acesse:
Bitmessage: https://bitmessage.org
PyBitmessage: https://bitmessage.org/wiki/PyBitmessage
Class.bitmessage.php: http://conver.github.io/class.bitmessage.php/
Paz a todos!
0 comentários:
Postar um comentário