Pesquise...

Últimos Posts

Arquivo de Posts

2018 - 2017 - 2016 - 2015 - 2014 - 2013 - 2012

Postagens Populares

Vem Comigo!

     
  •      
  •  
  •  
  •  
  •  
  •  
Tecnologia do Blogger.

Total de Acessos



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):



Itens enviados (SENT):


Bem, é isto!!!

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:


Paz a todos!

0 comentários:

Postar um comentário