Welcome, Guest. Please login or register.

Author Topic: B2M | C# Bitmessage E-Mail Gateway | Now open source  (Read 20833 times)

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
B2M | C# Bitmessage E-Mail Gateway | Now open source
« on: April 26, 2013, 06:17:34 AM »
Bitmessage to E-mail Gateway
Apart from bitmessage.ch I am working on a local bitmessage to Email gateway so you can put PyBitmessage, B2M and your E-Mail application on a USB Drive for on the go mail support.
If the receiver uses this gateway too you can send each other multipart messages with attachments.

Download
The current version can be downloaded here.
This is currently a Windows Only Application but I eventually will release its source code so people can modify it to fit their needs and operating systems.
It's open source now: https://github.com/AyrA/BitMailServer
Last Changes
  • Quoted Printable encoding is now removed if "strip headers" is enabled.
  • New Settings Window.
  • Settings are verified on startup and the BitServer.ini is created when required.
  • You can let the server remove E-mail Headers before processing Messages to make them accessible from the Bitmessage Application.
  • Sending and receiving HTML E-mail with Attachments works now.
  • There is no console window anymore, just a tray Icon with a context menu.
Requirements
  • Windows with .NET Framework 2.0 (already installed on vista and newer)
  • Portable PyBitmessage with API setup
Features included:
  • Uses the bitmessage clients existing API, so deleted messages can be recovered if required.
  • POP3 Server
  • SMTP Server
  • No configuration of any sort required, runs as is. Finds the API data from the Bitmessage clients API file
  • No hassle with username and password for client configuration (because there aren't any).
  • heavily insults the user when connecting with telnet. Yes, this is a feature
  • Send Messages from disposable Addresses (creates an address, sends the message from it and deletes it again)
  • Multi threading safe: An active POP3 connection doesn't gets disturbed if Bitmessages arrive or are deleted from the GUI.
  • Create random single-use addresses.
  • Remove E-Mail Headers and quoted printable encoding to make Messages readable in Bitmessage itself.
  • Can process S/MIME encrypted E-Mails.
  • Create addresses from your E-Mail client.
Future enhancements:
  • Send mails to address by specifying the given label instead of the address (requires the specific Address book API to be implemented)
Installation Instructions:
  • Put the exe and its dll files (see link above) into any folder. I recommend the Bitmessage folder to keep everything together
  • Setup the bitmessage API params in keys.dat (see below)
  • launch bitmessage
  • launch the BitServer.exe executable you just downloaded
  • configure your E-Mail application
  • To send Messages, enter the address as <BM-Addr>@bitmessage.ch
Setting up keys.dat:

Open the keys.dat File in Notepad, the easiest way to do this, is to open notepad, and drag the file onto it.
in the [bitmessagesettings] section, paste the folowing code into it: (keep spaces around the "=" sign)
Code: [Select]
apienabled = true
apiport = 8442
apiinterface = 127.0.0.1
apiusername = whatever
apipassword = bitmessage.ch

You may change the username and Password if you like.
If some of the parameters above are already present in the file, delete them first.


Usage:
Once the keys.dat is set up properly, just run the Application, it sets up itself and is portable.
You can close the gateway anytime with its tray Icon.
To broadcast, send an address to broadcast at bitmesage.ch
To receive Broadcasts, open the Bitmessage GUI and subscribe to the specific Addresses you want.

Screenshots:
Settings window:
This Window allows you to setup the Application and enable/disable features.


Example of a Message with an Attachment:
The Application (if the "Strip Headers" Option is not enabled) fully supports E-mail MIME Format.


E-mail Configuration:
Set your E-mail address to <BM-Addr>@bitmessage.ch. If you have multiple addresses, use the one you intend to use most or create multiple accounts in your Application (not recommended, because they share the inbox).
Set your username and password to whatever you want.
Select POP3 protocol (do not use IMAP).
Enter localhost (or 127.0.0.1) for both POP3 and SMTP server.
Disable SMTP authentication (on Outlook, this is set by default).

Example Configuration Screen in Outlook:


Using multiple Addresses:
If you want to use multiple Bitmessage Addresses you do not need to configure multiple accounts. All incomming messages are received over POP no matter what address logs in. You can send from each addres you own. Just enable the "From" field in your E-Mail client and enter any <BM-addr>@bitmessage.ch sender you own.

Configuring via E-mail:
Send an E-mail to cmd @ bitmessage.ch with the text "help" in the subject. You will then get an incomming E-mail with instructions.

Using disposable Addresses:
Set random at bitmessage.ch as your sending address and any message you send will generate a unique random address.

Donations:
If you like this software you can donate using Bitcoin: 1ML5aXvR3WTn2vB3ehTgqyZUhSGDjVWe4B


Why @bitmessage.ch
bitmessage.ch is my domain, which is used for the public bitmessage gateway. By using bitmessage.ch I can guarantee, that E-Mail clients accept the mail, due to it being a valid domain. Also I can guarantee, that special addresses (for example broadcast@bitm...) are not used in real.
Your Messages WILL NOT be sent to bitmessage.ch, this was just used to make your address a valid E-Mail Address to prevent some spam filters from sorting it out.
« Last Edit: July 07, 2013, 02:38:12 PM by AyrA »
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
Re: B2M | Bitmessage2Mail Gateway
« Reply #1 on: April 27, 2013, 05:50:46 PM »
Sidenote: never enter "NOOP" when connected to the local SMTP server via telnet, he hates that. Also he and the POP3 server get angry if you enter commands/arguments wrong
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #2 on: May 01, 2013, 07:44:51 AM »
Update: Made some changes to the code to handle E-Mail clients better, that do not wait for an answer between command.
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #3 on: May 07, 2013, 05:25:20 AM »
Update: Made Header Pasring a bit more efficient and robust.
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #4 on: May 07, 2013, 07:41:00 AM »
Solved a Bug that made the application crash with thunderbird
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch

dokument

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 488
  • Karma: +37/-0
    • View Profile
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #5 on: May 08, 2013, 12:43:11 AM »
Is this open source?
BM-2cTtoitr47Q7weyKr9pFX363YBRMQfBWzt

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #6 on: May 08, 2013, 03:30:53 AM »
currently not. It's still in beta and in development. I plan on releasing its source code, once I am finished with it and do not plan on programming on it any further. Also the code is written without any public accepted guidlines so probably nobody would understand what I did there. Need to clean it up first.
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #7 on: May 27, 2013, 09:14:09 AM »
I updated the Application. It no longer opens a nasty Console window. Instead it places itself in the system Tray and allows to exit with a right click.
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #8 on: May 29, 2013, 07:30:05 PM »
Next Update released. It can no properly send and receive HTML Mails with attachments and embedded Images. Includes Mails to and from Mailing Lists.
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch

pointychimp

  • Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #9 on: May 29, 2013, 08:28:49 PM »
Trying it out, so far it works fine with Thunderbird. If I continue to find it useful, I'll definitely donate. I think this is a step in the right direction for bitmessage. Of course ... I just found out about it a few days ago ... so what do I know!


edit: and I would really love to see it become open source in the very near future.
« Last Edit: May 29, 2013, 08:35:53 PM by pointychimp »

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #10 on: May 30, 2013, 04:25:42 PM »
Nice to see someone using the stuff I make. However, keep in mind, that it will send your E-mail headers into bitmessage too. People without this Application have to crawl through the Headers to find the text you wrote.
If you use it together with other users it works great.
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #11 on: June 03, 2013, 06:21:31 PM »
new Update!
Major Changes:

The Application has now a settings Window and allows to strip E-mail Headers from Messages.
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #12 on: June 04, 2013, 06:06:16 PM »
new Update!
Major Changes:

The Application will remove quoted printable encoding from messages when "strip E-mail Headers from Messages" is enabled.
Quoted printable will replace special chars with =XX, where XX is the uppercase hexadecimal representation, making messages harder to read for bitmessage client users. Enabling the "strip Headers" checkbox will replace these encodings with their char, if it is valid.
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #13 on: June 19, 2013, 07:31:30 AM »
You can now send S/MIME encrypted E-Mails with this tool if you have a certificate. (Requires you to turn "Strip Headers" off)
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch

AyrA

  • BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1251
  • Karma: +74/-7
  • bitmessage.ch and timeservice operator
    • View Profile
    • AyrAs Homepage
Re: B2M | Bitmessage2Mail Gateway Download
« Reply #14 on: June 27, 2013, 09:15:04 AM »
I just made it open source: https://github.com/AyrA/BitMailServer
My Address: BM-Bc7Rspa4zxAPy9PK26vmcyoovftipStp
Bitmessage Time Service (Subscribe): BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash
Support the Multipart Message Declaration Draft for Bitmessage: https://bitmessage.org/forum/index.php/topic,1553.0.html
Free Bitmessage to E-Mail Gateway: https://bitmessage.ch