Paper: NDNizing Existing Applications: Research Issues and Experiences
At the current stage, MailSync is a proof-of-concept application powered by Named Data Networking (NDN). MailSync project consists of two applicaitons - a laptop version and an Android version.
- greenmail-mailsync: MailSync laptop version
- mailsync-android: MailSync Android version
Download activation.jar and mail.jar from this website:
* https://code.google.com/archive/p/javamail-android/downloads
Install these two lib locally using Maven:
* mvn install:install-file -Dfile=/[CHANGE IT]/activation.jar -DgroupId=javax.activation -DartifactId=activation -Dversion=10.0.0 -Dpackaging=jar
* mvn install:install-file -Dfile=/[CHANGE IT]/mail.jar -DgroupId=com.sun.mail -DartifactId=javax.mail -Dversion=10.0.0 -Dpackaging=jar
Download Thunderbird mail client from this website:
* https://www.thunderbird.net/en-US/
Configure the Thunderbird server settings:
* Server Name: 127.0.0.1
* Port: 3143
* Connection security: None
* Authentication method: Password, transmitted insecurely
Follow the guide to install NFD and run it in the background.
On your Android device, configure your Gmail client incoming server:
* Server name: 127.0.0.1
* Port: 3143
* Security: none
Download NFD Android version Google Play store and run it in the background.
- Run NFD on Android;
- Run MailSync on Android; * Change the default account and password to yours and #; * Click the "Clear All" button; * Click the "Run" button;
- Go back to NFD to check if there is a "mailSync" route created;
- Use another email account to send a email to your test account;
- Go back to MailSync, scroll down the screen to load the new email
- Wait for a while to let the app processing email data
- Cut off the Internet and turn on the hotspot (without data usage)
- Connect your laptop to the hotspot you just set up
- Run Thunderbird
- Run MailSync on your laptop, it will fetch emails from Android device automatically
- After the synchronizaiton is done, go to Thunderbird and click the "Get Message" button on top-left corner;
- You should get the email.
- NFD, jNDN
- Email: Greenmail, Javamail
- Database: Couchbase (laptop Java version), Couchbase Lite (Android version)
- Install NFD
- Install Javamail as shown above
- Maven
- Android Studio
- IMAP connection sometimes crashes for unknown reason
- For the first time a user connects to MailSync on Android, it takes long time to synchronize. The ideal case might be for the first time, MailSync doesn't store all user's emails into database. Only when new emails come in, we store them.
- No retransmission mechanism for NDN which causes the whole synchronization failed if a single email chunk get lost.
- No security mechanisms
- UI/UX to be improved
Play it, crash it and report more issues on the Issue page.
Please read the NDN Contributing Guide. We are not currently using Gerrit on this project, so that part can be ignored for now. Contributions should follow the NDN Style Guide.
Our chat channel is on Slack
Please join our mailing list to discuss questions regarding the project: https://named-data.net/codebase/platform/support/mailing-lists/