http API for IMAP

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
23 messages Options
12
Reply | Threaded
Open this post in threaded view
|

http API for IMAP

Dovecot mailing list

I would love to write a progressive web app for accessing dovecot (via IMAP)

But JavaScript in the browser can only use http/https.

Is there a way to access mails in dovecot via https?

Maybe by a third-party tool which I don't know yet....

Regards,

  Thomas Güttler


-- 
Thomas Guettler http://www.thomas-guettler.de/
I am looking for feedback: https://github.com/guettli/programming-guidelines
Reply | Threaded
Open this post in threaded view
|

Re: http API for IMAP

Dovecot mailing list
Thomas Güttler via dovecot skrev den 2019-11-13 14:40:
> I would love to write a progressive web app for accessing dovecot (via
> IMAP)

like all other webmail is using imap

> But JavaScript in the browser can only use http/https.

so what ? :=)

hopefully you wont run webmail over http

> Is there a way to access mails in dovecot via https?

google jmap, with is imho work on progress in dovecot

> Maybe by a third-party tool which I don't know yet....

feel free to make another imap based webmail
Reply | Threaded
Open this post in threaded view
|

Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list
* Thomas Güttler via dovecot:

> Is there a way to access mails in dovecot via https?

Why on earth would that be beneficial?

  "The Internet Message Access Protocol, Version 4rev1 (IMAP4rev1)
   allows a client to access and manipulate electronic mail messages
   on a server." (RFC 3501)

Putting it bluntly: Learn to use the protocol specifically designed for
the task at hand, not a protocol with different design goals that you
happen to know better.

-Ralph
Reply | Threaded
Open this post in threaded view
|

Re: http API for IMAP

Dovecot mailing list
Ralph Seichter via dovecot skrev den 2019-11-13 17:21:

> * Thomas Güttler via dovecot:
>
>> Is there a way to access mails in dovecot via https?
>
> Why on earth would that be beneficial?
>
>   "The Internet Message Access Protocol, Version 4rev1 (IMAP4rev1)
>    allows a client to access and manipulate electronic mail messages
>    on a server." (RFC 3501)
>
> Putting it bluntly: Learn to use the protocol specifically designed for
> the task at hand, not a protocol with different design goals that you
> happen to know better.

hurray for gmail.com

where pop3s imaps is default disabled

i see forward to have dovecot supporting jmap

https://dovecot.org/pipermail/dovecot/2016-December/106491.html

https://www.dovecot.nl/pipermail/dovecot/2019-May/116048.html <sorry
ssl>
Reply | Threaded
Open this post in threaded view
|

JMAP: Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list


Am 13.11.19 um 15:07 schrieb Benny Pedersen via dovecot:

> Thomas Güttler via dovecot skrev den 2019-11-13 14:40:
>> I would love to write a progressive web app for accessing dovecot (via
>> IMAP)
>
> like all other webmail is using imap
>
>> But JavaScript in the browser can only use http/https.
>
> so what ? :=)
>
> hopefully you wont run webmail over http
>
>> Is there a way to access mails in dovecot via https?
>
> google jmap, with is imho work on progress in dovecot

Yes, great. That's what I have been looking for.

Is there already an open source imap2jmap server?

Again, thank you for these four letters: jmap. That
was what I had on my mind.

Regards,
   Thomas

--
Thomas Guettler http://www.thomas-guettler.de/
I am looking for feedback: https://github.com/guettli/programming-guidelines
Reply | Threaded
Open this post in threaded view
|

Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list


Am 13.11.19 um 17:21 schrieb Ralph Seichter via dovecot:

> * Thomas Güttler via dovecot:
>
>> Is there a way to access mails in dovecot via https?
>
> Why on earth would that be beneficial?
>
>    "The Internet Message Access Protocol, Version 4rev1 (IMAP4rev1)
>     allows a client to access and manipulate electronic mail messages
>     on a server." (RFC 3501)
>
> Putting it bluntly: Learn to use the protocol specifically designed for
> the task at hand, not a protocol with different design goals that you
> happen to know better.

Stateless, http and URLs are the future. JavaScript running on in browser or
mobile phone can't connect to IMAP/SMTP.

AFAIK you can't sent a link/URL to a mail on a shared folder to a friend.
Like "Hi  bob, she loves me. See this message from here https:/...../"

Regards,
   Thomas Güttler




--
Thomas Guettler http://www.thomas-guettler.de/
I am looking for feedback: https://github.com/guettli/programming-guidelines
Reply | Threaded
Open this post in threaded view
|

Re: JMAP: Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list
Thomas Güttler via dovecot skrev den 2019-11-14 08:55:

> Is there already an open source imap2jmap server?

why do you say imap here ?

https://www.cyrusimap.org/imap/developer/jmap.html

cyrus already have it, we just wait for dovecot :)

did you google ?
Reply | Threaded
Open this post in threaded view
|

Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list
A HTTP API for IMAP and for that matter, POP3 and SMTP is exactly what we built where I work.

For anyone wonder why build such a thing? A simplified interface is an exceptionally powerful tool. Many of our clients have encountered issues constructing multipart http requests so if that’s an issue, good luck getting IMAP to work. Since multipart turns out to be such an issue we’ve turned out support for a variety of uploads including (completely non-standard) where the request body is just the file content.

We’ve built our API in Java and as such have simply used the JavaMail API. Admittedly though the plan is to get off this design since when there’s 10s of thousands messages in an IMAP maildir folder the index can grow to an unmanageable size.

On Thu, Nov 14, 2019 at 2:59 AM Thomas Güttler via dovecot <[hidden email]> wrote:


Am 13.11.19 um 17:21 schrieb Ralph Seichter via dovecot:
> * Thomas Güttler via dovecot:
>
>> Is there a way to access mails in dovecot via https?
>
> Why on earth would that be beneficial?
>
>    "The Internet Message Access Protocol, Version 4rev1 (IMAP4rev1)
>     allows a client to access and manipulate electronic mail messages
>     on a server." (RFC 3501)
>
> Putting it bluntly: Learn to use the protocol specifically designed for
> the task at hand, not a protocol with different design goals that you
> happen to know better.

Stateless, http and URLs are the future. JavaScript running on in browser or
mobile phone can't connect to IMAP/SMTP.

AFAIK you can't sent a link/URL to a mail on a shared folder to a friend.
Like "Hi  bob, she loves me. See this message from here https:/...../"

Regards,
   Thomas Güttler




--
Thomas Guettler http://www.thomas-guettler.de/
I am looking for feedback: https://github.com/guettli/programming-guidelines
Reply | Threaded
Open this post in threaded view
|

Re: JMAP: Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list
Am 14.11.19 um 14:03 schrieb Benny Pedersen via dovecot:
> Thomas Güttler via dovecot skrev den 2019-11-14 08:55:
>
>> Is there already an open source imap2jmap server?
>
> why do you say imap here ?
>
> https://www.cyrusimap.org/imap/developer/jmap.html
>
> cyrus already have it, we just wait for dovecot :)


I used my favorite search engine (ecosia) and found

    https://proxy.jmap.io/

This way you can use JMAP even if you imap server does not
support it.


Regards,
   Thomas Güttler


--
Thomas Guettler http://www.thomas-guettler.de/
I am looking for feedback: https://github.com/guettli/programming-guidelines
Reply | Threaded
Open this post in threaded view
|

Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list


Am 14.11.19 um 14:21 schrieb Phillip Odam via dovecot:
> A HTTP API for IMAP and for that matter, POP3 and SMTP is exactly what we built where I work.


Did you build upon JMAP? If not, why not?

Regards,
  Thomas Güttler

--
Thomas Guettler http://www.thomas-guettler.de/
I am looking for feedback: https://github.com/guettli/programming-guidelines
Reply | Threaded
Open this post in threaded view
|

Re: JMAP: Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list
Thomas Güttler via dovecot skrev den 2019-11-14 14:44:

> https://proxy.jmap.io/
>
> This way you can use JMAP even if you imap server does not
> support it.

fair, i just try avoid proxy in all terms
Reply | Threaded
Open this post in threaded view
|

Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list
You just described a more complex environment not a simplified environment. You can run code within code within code. Already we have all this abstraction and it’s leading to people not understanding and implementing solutions that make very little sense. Like what you describe. Why would you want to run an IMAP server in a browser? It’s so wrong I don’t even know where to start.

If you are not talking about an IMAP server and you are talking about an IMAP client you are in the wrong forum.


> On Nov 14, 2019, at 8:21 AM, Phillip Odam via dovecot <[hidden email]> wrote:
>
> A HTTP API for IMAP and for that matter, POP3 and SMTP is exactly what we built where I work.
>
> For anyone wonder why build such a thing? A simplified interface is an exceptionally powerful tool. Many of our clients have encountered issues constructing multipart http requests so if that’s an issue, good luck getting IMAP to work. Since multipart turns out to be such an issue we’ve turned out support for a variety of uploads including (completely non-standard) where the request body is just the file content.
>
> We’ve built our API in Java and as such have simply used the JavaMail API. Admittedly though the plan is to get off this design since when there’s 10s of thousands messages in an IMAP maildir folder the index can grow to an unmanageable size.
>
> On Thu, Nov 14, 2019 at 2:59 AM Thomas Güttler via dovecot <[hidden email]> wrote:
>
>
> Am 13.11.19 um 17:21 schrieb Ralph Seichter via dovecot:
> > * Thomas Güttler via dovecot:
> >
> >> Is there a way to access mails in dovecot via https?
> >
> > Why on earth would that be beneficial?
> >
> >    "The Internet Message Access Protocol, Version 4rev1 (IMAP4rev1)
> >     allows a client to access and manipulate electronic mail messages
> >     on a server." (RFC 3501)
> >
> > Putting it bluntly: Learn to use the protocol specifically designed for
> > the task at hand, not a protocol with different design goals that you
> > happen to know better.
>
> Stateless, http and URLs are the future. JavaScript running on in browser or
> mobile phone can't connect to IMAP/SMTP.
>
> AFAIK you can't sent a link/URL to a mail on a shared folder to a friend.
> Like "Hi  bob, she loves me. See this message from here https:/...../"
>
> Regards,
>    Thomas Güttler
>
>
>
>
> --
> Thomas Guettler http://www.thomas-guettler.de/
> I am looking for feedback: https://github.com/guettli/programming-guidelines

Reply | Threaded
Open this post in threaded view
|

Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list
* Thomas Güttler via dovecot:

> Stateless, http and URLs are the future.

A bold claim, and not worth anything without proof, which is impossible
to provide because you cannot predict the future.

> JavaScript running on in browser or mobile phone can't connect to
> IMAP/SMTP.

That's simply not true. There are JavaScript libraries like SmtpJS, a
low-level TCP/UDP socket API, and more.

Please do your research before stating obvious falsehoods.

-Ralph
Reply | Threaded
Open this post in threaded view
|

Re: http API for IMAP

Dovecot mailing list


Am 14.11.19 um 19:18 schrieb Ralph Seichter via dovecot:
> * Thomas Güttler via dovecot:
>
>> Stateless, http and URLs are the future.
>
> A bold claim, and not worth anything without proof, which is impossible
> to provide because you cannot predict the future.

Yes, you are right. I can't predict the future. But I can look at the current state of
the art. AFAIK nobody will use CORBA today if he starts from scratch.
Most people use http based APIs today.


>> JavaScript running on in browser or mobile phone can't connect to
>> IMAP/SMTP.
>
> That's simply not true. There are JavaScript libraries like SmtpJS, a
> low-level TCP/UDP socket API, and more.

Quoting this answer: https://stackoverflow.com/a/46886237/633961

 > Note that smtpjs uses a service located at http://smtpjs. It's not truly a Javascript SMTP client. This "utility"
means you are uploading your email credentials to the server smtpjs.com. Use with extreme caution.

JS running in the browser can't. JS running in Node.js can.



> Please do your research before stating obvious falsehoods.

The above line is from you. Should I repeat it?


--
Thomas Guettler http://www.thomas-guettler.de/
I am looking for feedback: https://github.com/guettli/programming-guidelines
Reply | Threaded
Open this post in threaded view
|

Re: http API for IMAP

Dovecot mailing list
Hi all!

On 15/11/2019 14:06, Thomas Güttler via dovecot wrote:
[...]
>> Note that smtpjs uses a service located at http://smtpjs. It's not truly a Javascript SMTP client. This "utility" means you are uploading your email credentials to the server smtpjs.com. Use with extreme caution.

You really wanted to write here: You really don't want to use
that unless you are http://smtpjs or drive your honey pot with
specially created accounts.

MfG,
        Bernd
--
"I dislike type abstraction if it has no real reason. And saving
on typing is not a good reason - if your typing speed is the main
issue when you're coding, you're doing something seriously wrong."
    - Linus Torvalds

pEpkey.asc (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list
On 11/13/2019 11:59 PM, Thomas Güttler via dovecot wrote:

>
>
> Am 13.11.19 um 17:21 schrieb Ralph Seichter via dovecot:
>> * Thomas Güttler via dovecot:
>
> AFAIK you can't sent a link/URL to a mail on a shared folder to a friend.
> Like "Hi  bob, she loves me. See this message from here https:/...../"
>
> Regards,
>    Thomas Güttler
>

Actually - why not? It doesn't seem that difficult (at an abstract
level) to implement such with available tools. PHP has built-in support
for IMAP - so creating an interface that maps HTTP URI's to IMAP
commands doesn't look too bad.

I might even suggest leveraging existing platforms like Nextcloud -
instead of creating a whole new authentication, authorization,
processing, and presentation framework you'd "simply" write a Nextcloud
add-on that publishes IMAP folders/messages in whatever manner you
prefer. Nextcloud already provides for file-sharing - so I see this as a
good fit.

Daniel

Reply | Threaded
Open this post in threaded view
|

Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list
* Thomas Güttler via dovecot:

> Most people use http based APIs today.

And what makes you think that? Who is "most people", exactly? From my
experience over the last 35 years in the business, there is no clear
indication that HTTP-based APIs will dominate in the future. SMTP and
IMAP have been named dead or dying for so long that I forgot to keep
track, but they still work today, although modern designs would look
different.

> Quoting this answer: https://stackoverflow.com/a/46886237/633961

And how is that related? SmtpJS is just one example of how the goal can
be achieved if one is hell-bent on using JavaScript. You can write your
own proxy service if you like. Check out RFC 6455 et al. This does not
make using HTTP a smart choice in my book.

If one wants to use a web browser and/or smartphone as a client to
access mail, there are various good solutions available. To name just
two examples: RoundcubeMail just released version 1.4 with "responsive"
UI, and there is SOGo with its AJAX-based UI. To me, rewriting all the
functionality in JavaScript, especially when aiming to avoid the
protocol specifically designed to access mail storage backends, is just
not an idea worth pursuing.

> The above line is from you. Should I repeat it?

"Frankly, my dear, I don't give a damn." (R. Butler, 1939) :-)

-Ralph
Reply | Threaded
Open this post in threaded view
|

Re: JMAP: Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list
proxy.jmap.io is very stale code at the moment.  I'm hoping to have enough time to hack on it at the IETF hackathon this weekend :)

Cheers,

Bron.

On Fri, Nov 15, 2019, at 00:44, Thomas Güttler via dovecot wrote:
Am 14.11.19 um 14:03 schrieb Benny Pedersen via dovecot:
> Thomas Güttler via dovecot skrev den 2019-11-14 08:55:

>> Is there already an open source imap2jmap server?

> why do you say imap here ?

> https://www.cyrusimap.org/imap/developer/jmap.html

> cyrus already have it, we just wait for dovecot :)


I used my favorite search engine (ecosia) and found

    https://proxy.jmap.io/

This way you can use JMAP even if you imap server does not
support it.


Regards,
   Thomas Güttler


-- 
Thomas Guettler http://www.thomas-guettler.de/
I am looking for feedback: https://github.com/guettli/programming-guidelines


-- 
  Bron Gondwana


Reply | Threaded
Open this post in threaded view
|

Re: JMAP: Re: http API for IMAP

Dovecot mailing list
On 2019-11-16 08:15, Bron Gondwana via dovecot wrote:
> proxy.jmap.io is very stale code at the moment.  I'm hoping to have
> enough time to hack on it at the IETF hackathon this weekend :)

oauth is currently disabled :=)
Reply | Threaded
Open this post in threaded view
|

Perl was: JMAP: Re: http API for IMAP

Dovecot mailing list
In reply to this post by Dovecot mailing list


Am 16.11.19 um 08:15 schrieb Bron Gondwana via dovecot:
> proxy.jmap.io is very stale code at the moment.  I'm hoping to have enough time to hack on it at the IETF hackathon this
> weekend :)

I am a big biased. AFAIK it is written in Perl. I am very happy that I did not need to use Perl since 18 years now.
The regex where great. But time has changed.
Everytime you use regex today, I feel like being on the wrong track.

Related: https://github.com/guettli/programming-guidelines#regex-are-great---but-its-like-eating-rubbish

Regards,
   Thomas Güttler




> Cheers,
>
> Bron.
>
> On Fri, Nov 15, 2019, at 00:44, Thomas Güttler via dovecot wrote:
>> Am 14.11.19 um 14:03 schrieb Benny Pedersen via dovecot:
>> > Thomas Güttler via dovecot skrev den 2019-11-14 08:55:
>> >
>> >> Is there already an open source imap2jmap server?
>> >
>> > why do you say imap here ?
>> >
>> > https://www.cyrusimap.org/imap/developer/jmap.html
>> >
>> > cyrus already have it, we just wait for dovecot :)
>>
>>
>> I used my favorite search engine (ecosia) and found
>>
>>     https://proxy.jmap.io/
>>
>> This way you can use JMAP even if you imap server does not
>> support it.
>>
>>
>> Regards,
>>    Thomas Güttler
>>
>>
>> --
>> Thomas Guettler http://www.thomas-guettler.de/
>> I am looking for feedback: https://github.com/guettli/programming-guidelines
>>
>
> --
>    Bron Gondwana
>    [hidden email]
>
>

--
Thomas Guettler http://www.thomas-guettler.de/
I am looking for feedback: https://github.com/guettli/programming-guidelines
12