You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by David Leangen <ap...@leangen.net> on 2020/06/17 02:12:38 UTC

Meaning of "Mail Server"

Hello!

When writing the docs, I came to understand that what we mean by “Mail Server” is not very clear to me.

There is “SMTP Server” (which is a “Mail Server”).

There is “POP Server” (which is a “Mail Server”).

There is “IMAP Server” (which is a “Mail Server”).

There may be other “things” that can be called a “Mail Server”. (If you think of one, please let me know!)


So is our definition of “Mail Server” something like this?

Mail Server: a server that is comprised of at least one of: SMTP Server, POP Server, IMAP Server.



Cheers,
=David



Re: Meaning of "Mail Server"

Posted by David Leangen <ap...@leangen.net>.
> Why not just refer to Apache James as a ‘mail transfer agent’ and then you can refer to the LMTP, SMTP, POP3 and IMAP server applications as servers.

Yes, that makes sense.

What I wonder about though is what to do about “Mailets”. There are things in James that are not “standard”, but are IMO very important features.


Cheers,
=David


Re: Meaning of "Mail Server"

Posted by Garry Hurley <ga...@gmail.com>.
Why not just refer to Apache James as a ‘mail transfer agent’ and then you can refer to the LMTP, SMTP, POP3 and IMAP server applications as servers. In reality, they are ‘servers’ because they SERVICE client requests. Outlook is not a mail server, it is a client, just like PINE and Eudora (hey, I liked that application).  They all need to talk to mail server applications which may or may not run under the same mail transfer agent. 


Sent from my iPhone

> On Jun 19, 2020, at 8:08 AM, David Leangen <ap...@leangen.net> wrote:
> 
> 
> Thank you for the comments.
> 
>> Email has been here for a long time and the terms are pretty well
>> established IMO. We should not try to reinvent them and try to adopt and
>> perhaps try to explain them in simpler terms.
>> 
>> From https://en.wikipedia.org/wiki/Email_agent_(infrastructure) and
>> https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
>> 
>>    Mail user agent (MUA)[4][5][6]
>>    Mail submission agent (MSA)[7]
>>    Mail transfer agent (MTA)[8][9][10][11]
>>    Mail delivery agent (MDA)[8][12][13][14]
>>    Mail retrieval agent (MRA)[15][16]
>> 
>> I think we should focus on the above terms and align with the "industry" .
> 
> I agree with:
> 
> * Email has been here for a long time
> * The terms are pretty well established
> * We should not try to reinvent [anything]
> * We should align with the “industry”
> 
> I think there are some other things to consider not the least of which is that the terms, although well established, are not always entirely precise or clear.
> 
> The language I have used in the document is language that was already being used by James. So your critique is not just a critique of the new documentation, but rather a critique of how James has been approached so far.
> 
> There are other terms that are not in the list above, like:
> 
> * SMTP Server
> * IMAP Server
> 
> I am enamored with DDD, so I like the idea of having a “ubiquitous language”, i.e. a language that is shared between the actual users as well as the developers. If the developers use a tekkie language that the users don’t understand, it creates a large wedge.
> 
> When I look at my email client (indeed, almost any client??) I do not see any of those above terms anywhere. What I do see is a configuration for “Incoming Mail Server (IMAP)” and “Outgoing Mail Server (SMTP)”. Those are the terms already being used by James.
> 
> If we make the change towards the language you are proposing, then the codebase **MUST** be updated IMO to match the language.
> 
> So although I agree with much of the broad statements you make, with regard to those terms in particular, what is the advantage in making such a change if it no longer matches what the users understand? What is the value? That is not rhetorical, I am interested in hearing your thoughts.
> 
> Cheers,
> =David
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: Meaning of "Mail Server"

Posted by David Leangen <ap...@leangen.net>.
Thank you for the comments.

> Email has been here for a long time and the terms are pretty well
> established IMO. We should not try to reinvent them and try to adopt and
> perhaps try to explain them in simpler terms.
> 
> From https://en.wikipedia.org/wiki/Email_agent_(infrastructure) and
> https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
> 
>     Mail user agent (MUA)[4][5][6]
>     Mail submission agent (MSA)[7]
>     Mail transfer agent (MTA)[8][9][10][11]
>     Mail delivery agent (MDA)[8][12][13][14]
>     Mail retrieval agent (MRA)[15][16]
> 
> I think we should focus on the above terms and align with the "industry" .

I agree with:

 * Email has been here for a long time
 * The terms are pretty well established
 * We should not try to reinvent [anything]
 * We should align with the “industry”

I think there are some other things to consider not the least of which is that the terms, although well established, are not always entirely precise or clear.

The language I have used in the document is language that was already being used by James. So your critique is not just a critique of the new documentation, but rather a critique of how James has been approached so far.

There are other terms that are not in the list above, like:

 * SMTP Server
 * IMAP Server

I am enamored with DDD, so I like the idea of having a “ubiquitous language”, i.e. a language that is shared between the actual users as well as the developers. If the developers use a tekkie language that the users don’t understand, it creates a large wedge.

When I look at my email client (indeed, almost any client??) I do not see any of those above terms anywhere. What I do see is a configuration for “Incoming Mail Server (IMAP)” and “Outgoing Mail Server (SMTP)”. Those are the terms already being used by James.

If we make the change towards the language you are proposing, then the codebase **MUST** be updated IMO to match the language.

So although I agree with much of the broad statements you make, with regard to those terms in particular, what is the advantage in making such a change if it no longer matches what the users understand? What is the value? That is not rhetorical, I am interested in hearing your thoughts.

Cheers,
=David



Re: Meaning of "Mail Server"

Posted by Eugen Stan <eu...@netdava.com>.
Hi David,

Email has been here for a long time and the terms are pretty well
established IMO. We should not try to reinvent them and try to adopt and
perhaps try to explain them in simpler terms.

From https://en.wikipedia.org/wiki/Email_agent_(infrastructure) and
https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol

    Mail user agent (MUA)[4][5][6]
    Mail submission agent (MSA)[7]
    Mail transfer agent (MTA)[8][9][10][11]
    Mail delivery agent (MDA)[8][12][13][14]
    Mail retrieval agent (MRA)[15][16]

I think we should focus on the above terms and align with the "industry" .


La 17.06.2020 05:12, David Leangen a scris:
> Hello!
>
> When writing the docs, I came to understand that what we mean by “Mail Server” is not very clear to me.
>
> There is “SMTP Server” (which is a “Mail Server”).
>
> There is “POP Server” (which is a “Mail Server”).
>
> There is “IMAP Server” (which is a “Mail Server”).
>
> There may be other “things” that can be called a “Mail Server”. (If you think of one, please let me know!)
>
>
> So is our definition of “Mail Server” something like this?
>
> Mail Server: a server that is comprised of at least one of: SMTP Server, POP Server, IMAP Server.
>
>
>
> Cheers,
> =David
>
>
-- 
Eugen Stan
+40720 898 747 / netdava.com


Re: Meaning of "Mail Server"

Posted by David Leangen <ap...@leangen.net>.
> Let's then dig further[…]

Thanks!

I think I have enough to do another iteration, then we can continue the discussion from the new documentation if needed.

Cheers,
=David


Re: Meaning of "Mail Server"

Posted by Tellier Benoit <bt...@apache.org>.

Le 18/06/2020 à 11:15, David Leangen a écrit :
> 
> Hi,
> 
> Thanks for thinking about this.
> 
>>> When writing the docs, I came to understand that what we mean by “Mail Server” is not very clear to me.
> 
>> Somehow. Let me give a try at generifying this:
>>
>> A mail server is a software whose responsibility is storing,
>> transferring or processing emails.
>>
>> SMTP servers, POP3 servers, IMAP servers and JMAP servers fall into this
>> category.
> 
> So 3 things?
> 
>  1. Storing
>  2. Transferring
>  3. Processing
> 
> Let me dig in to all of these.
> 
> Storing - My understanding is that this is optional. A server can be stateless, depending on the protocol being served, so no storing necessary. Is my understanding correct?

That is why I used the term "or" instead of "and".

> Transferring - I can’t think of any counter-argument.
> 
> Processing - This is a very generic term. Basically any server can be said to “process” something. Maybe we need to be a little more specific. But then again, I’m not sure how.

True.

Let's then dig further: what do we call processing?

Mail processing is the action of modifying an email and triggering side
effects for it (mail storing and transfer mentioned above being some
first class citizen side effects).

I nuanced that via the concept of "main responsibility". My website
sending a newsletter can not be considered a mail server because its
main responsibility is to display my blog.


> Cheers,
> =David
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: Meaning of "Mail Server"

Posted by David Leangen <ap...@leangen.net>.
Hi,

Thanks for thinking about this.

>> When writing the docs, I came to understand that what we mean by “Mail Server” is not very clear to me.

> Somehow. Let me give a try at generifying this:
> 
> A mail server is a software whose responsibility is storing,
> transferring or processing emails.
> 
> SMTP servers, POP3 servers, IMAP servers and JMAP servers fall into this
> category.

So 3 things?

 1. Storing
 2. Transferring
 3. Processing

Let me dig in to all of these.

Storing - My understanding is that this is optional. A server can be stateless, depending on the protocol being served, so no storing necessary. Is my understanding correct?

Transferring - I can’t think of any counter-argument.

Processing - This is a very generic term. Basically any server can be said to “process” something. Maybe we need to be a little more specific. But then again, I’m not sure how.


Cheers,
=David


Re: Meaning of "Mail Server"

Posted by Tellier Benoit <bt...@apache.org>.
Hello,

Le 17/06/2020 à 09:12, David Leangen a écrit :
> Hello!
> 
> When writing the docs, I came to understand that what we mean by “Mail Server” is not very clear to me.
> 
> There is “SMTP Server” (which is a “Mail Server”).
> 
> There is “POP Server” (which is a “Mail Server”).
> 
> There is “IMAP Server” (which is a “Mail Server”).
> 
> There may be other “things” that can be called a “Mail Server”. (If you think of one, please let me know!)
> 
> 
> So is our definition of “Mail Server” something like this?
 > Mail Server: a server that is comprised of at least one of: SMTP
Server, POP Server, IMAP Server.

Somehow. Let me give a try at generifying this:

A mail server is a software whose responsibility is storing,
transferring or processing emails.

SMTP servers, POP3 servers, IMAP servers and JMAP servers fall into this
category.

Cheers,

Benoit

> 
> 
> 
> Cheers,
> =David
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org