As a proof of concept (POC) we want to have a IMAP server, which simulates successful logins to all IMAP clients and redirects it to another IMAP server, which is configured in the database. Basically a IMAP proxy
Your task is to implement the POC, which allows any client to login to your implemented IMAP server. Your server does:
- start a IMAP port (local socket)
- allow access from any client to your port
- fetch e-mail, userid, domain of the requesting imap account and persist this into the database.
- Domains is a own table, which also contains a target hostname/IP and target/hostname port for the given domain to which you need to forward the requests
- forward to target hosts with this rules:
...- if it is a fresh domain, add a lookup of the DNS SRV record _imap._tcp.example.com. and imaps._tcp.example.com. see [login to view URL] and use the reported
...- it it is missing iterate over all target hostnames and try. On success (only one hit) update the target accordingly. On multiple hits or no hit fail with a the corresponding IMAP error IMAP_WRONG_MAILHOST [login to view URL]:~:text=When%20users%20attempt%20to%20access,IMAP%2Doriented%20repository%20of%20messages.
- unencrypted, SSL and TLS have to work for the clients
You need to implement for:
- linux & windows
- implement repositories with JPA and query api
- implement junit test to verfy all accesses
- manual tests are done with thunderbird and outlook
only call from JUnit (no UI)
liquibase as database management
What is NOT needed:
- a UI (not required, implement a JUnit test to call your functions)
- a service architecture/packaging (like with spring or JEE)
What are our requirements?
- your code passes checkstyle, pmd and spotbugs (we will share you a git repo with eclipse settings)
- create a model class representing the input of your function
- create a service class implementing the logic
- create a unit test, which tests the service class
- we do NOT need a UI, we only need the model + service method to access the logic via API or via JUnit
- if you need libs beside of selenium or jgrapht, apache commons are fine. Other libs NEED prior clearance
- the runtime is JRE (no JavaEE nor Spring-container)
- delivery in our git
- if you do a good job on supporting our team, we are open to integrate you into regular work and we will share you more tasks about google apis
What is our budget?
we do not disclose our budget nor planned hourly rate. Offer us your best bid.
This job is created with a placeholder budget/rate. So ignore our rates/budgets and post your best bid.
Your placed bid is based on the fact, that you have read the job description and it is the upper bound on your bid.
Do not wait for our availability here. Just answer, just ask or just reply.
Hello, I have 15 years experience in programming field, mostly PHP and Java. Currently i am individual freelancer and don't have any team yet. You have interesting project that i am willing to explore, but i have no Daha Fazla
Bu iş için 5 freelancer ortalamada $746 teklif veriyor
I am IT professional with 18 years of experience and working as architect in Java MuleSoft technologies. I have delivered more than 30 projects on time with minimal post prod issues