Skip to main content

Messing mail server terms

Rất nhiều thuật ngữ liên quan đến mail server khiến mn messing. What's the different between POSTFIX and SSMTP ? What DoveCot does ?

Key point:
Typical deployment[Wiki]

As an SMTP server, Postfix implements a first layer of defense against spambots and malware. Administrators can combine Postfix with other software that provides spam/virus filtering (e.g., Amavisd-new), message-store access (e.g., Dovecot), or complex SMTP-level access-policies (e.g., postfwd, policyd-weight or greylisting).

From http://www.dovecot.org/

Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is an excellent choice for both small and large installations. It's fast, simple to set up, requires no special administration and it uses very little memory.

Some of the most notable features of Dovecot include:

Dovecot is among the highest performing IMAP servers while still supporting the standard mbox and Maildir formats. The mailboxes are transparently indexed, which gives Dovecot its good performance while still providing full compatibility with existing mailbox handling tools.
Dovecot is standards compliant. Dovecot v1.1 passes all IMAP server standard compliancy tests while most other servers fail many of them.
Dovecot's indexes are self-optimizing. They contain exactly what the user's client commonly needs, no more and no less.
Dovecot is self-healing. It tries to fix most of the problems it notices by itself, such as broken index files. The problems are however logged so the administrator can later try to figure out what caused them.
...

So what are IMAP n POP3 ?

http://serverfault.com/questions/626803/why-use-dovecot-and-postfix-sendmail

MTA is the service that route messages from one region to another. You drop the letter in the public submission box and MTA pass it to the city where recipient live. Then local delivery agent (LDA) delivers letter to the recipient's residence. And then recipient fetch the letter from his personal POP/IMAP mailbox and read it with MUA.
Email simply resembles old good classic mail service. When you get the similarity, you'll get the meaning of each service.
May be that helps
MTA: MTA
MDA:enter image description here
POP/IMAP:enter image description here



Còn rất nhiều thuật ngữ liên quan đến server mail linux tốn thời gian mới hiểu rõ được. 
Khi config, install các mail software khác nhau chúng ta sẽ có cơ hội tìm hiểu sự khác biệt giữa chúng.

As an SMTP client, Postfix implements a high-performance parallelized mail-delivery engine. Postfix is often combined with mailing-list software (such as Mailman).

Như ở trên nói khi deploy Postfix như là 1 SMTP server. Còn đây là khía cạnh SMTP client.
What's the SMTP server ?

Thông thường nếu muốn hiểu sâu 1 khái niệm chg ta nên tìm hiểu nó như 1 người ngoại đạo ko biết gì như thế tránh được hiểu 1 cách mơ hồ hoặc ngại RTFM "read the fucking manual".

Để rõ hơn  về POSTFIX chúng ta thử coi Architecture của nó:

Postfix consists of a combination of server programs that run in the background, and client programs that are invoked by user programs or by system administrators.


(Ảnh nét hơn cb coi wiki postfix)
Đây có thề là key tại sao chúng ta hay bị mess với các trình/thao tác mail: VD cài postfix, test sendmail bằng "lệnh" sendmail hay "lệnh" mail, send = code... "Lệnh" ở đây có đồng nghĩa với software, program hay mail client ?

The Postfix core consists of several dozen server programs that run in the background, each handling one specific aspect of email delivery. Examples are the SMTP server, the scheduler, the address rewriter, and the local delivery server. For damage-control purposes, most server programs run with fixed reduced privileges, and terminate voluntarily after processing a limited number of requests. To conserve system resources, most server programs terminate when they become idle.

Client programs run outside the Postfix core. They interact with Postfix server programs through mail delivery instructions in the user's ~/.forward file, and through small "gate" programs to submit mail or to request queue status information.

Other programs provide administrative support to start or stop Postfix, query status information, manipulate the queue, or to examine or update its configuration files.

Yellow ellipses
One of Postfix' many daemons serving exactly one purpose. This split-up into many smaller pieces of software is considered one of the reasons why Postfix is secure and stable.
Blue boxes
The blue boxes represent so-called lookup tables. A lookup table consists of two columns (key and value) containing information used for access control, e-mail routing etc.
Yellow boxes
The yellow boxes are either mail queues or files. In either case, e-mails are stored on persistent media (e.g., a hard disk).
White clouds
The clouds stand for points at which e-mails enter or leave Postfix. For example, smtpd receives mail from other mail servers or users whereas smtp relays mail to other MTAs.

Quest: DoveCot fit như thế nào vô hình vẽ postfix trên ?

Further reading: (For Expert)
Ai muốn nghiên cứu sâu hơn như về bảo mật, tối ưu tốc độ thì coi tiếp document.

Implementation
The Postfix implementation uses safe subsets of the C language and of the POSIX system API. These subsets are buried under an abstraction layer that contains about 50% of all Postfix source code, and that provides the foundation on which all Postfix programs are built. For example, the "vstring" primitive makes Postfix code resistant to buffer overflow[5] attacks, and the "safe open" primitive makes Postfix code resistant to race condition attacks on systems that implement the POSIX file system API. This abstraction layer does not affect the attack resistance of non-Postfix code, such as code in system libraries or in third-party libraries.



Comments

Popular posts from this blog

Rand mm 10

https://stackoverflow.com/questions/2447791/define-vs-const Oh const vs define, many time I got unexpected interview question. As this one, I do not know much or try to study this. My work flow, and I believe of many programmer is that search topic only when we have task or job to tackle. We ignore many 'basic', 'fundamental' documents, RTFM is boring. So I think it is a trade off between the two way of study language. And I think there are a bridge or balanced way to extract both advantage of two method. There are some huge issue with programmer like me that prevent we master some technique that take only little time if doing properly. For example, some Red Hat certificate program, lesson, course that I have learned during Collage gave our exceptional useful when it cover almost all topic while working with Linux. I remember it called something like RHEL (RedHat Enterprise Linux) Certificate... I think there are many tons of documents, guide n books about Linux bu

Martin Fowler - Software Architecture - Making Architecture matter

  https://martinfowler.com/architecture/ One can appreciate the point of this presentation when one's sense of code smell is trained, functional and utilized. Those controlling the budget as well as developer leads should understand the design stamina hypothesis, so that the appropriate focus and priority is given to internal quality - otherwise pay a high price soon. Andrew Farrell 8 months ago I love that he was able to give an important lesson on the “How?” of software architecture at the very end: delegate decisions to those with the time to focus on them. Very nice and straight-forward talk about the value of software architecture For me, architecture is the distribution of complexity in a system. And also, how subsystems communicate with each other. A battle between craftmanship and the economics and economics always win... https://hackernoon.com/applying-clean-architecture-on-web-application-with-modular-pattern-7b11f1b89011 1. Independent of Frameworks 2. Testable 3. Indepe