2016-04-26 05:44:09 -05:00
|
|
|
// Flow of outbound mails
|
|
|
|
//
|
|
|
|
// Convert to png with Graphviz:
|
|
|
|
// dot -Tpng flow.outbound.dot -o flow.outbound.png
|
|
|
|
digraph outbound {
|
|
|
|
label="Flow of Outbound Mail"
|
|
|
|
|
|
|
|
sender[label="Sender"]
|
|
|
|
recipient[label="Recipient"]
|
|
|
|
rcpt_server[label="Recipient Server"]
|
|
|
|
|
2019-10-07 09:20:32 -05:00
|
|
|
postfix_smtp[label="Postfix (smtp)", style=filled]
|
2016-04-26 05:44:09 -05:00
|
|
|
postfix_queue[label="Postfix (queue)", style=filled]
|
|
|
|
postfix_submission[label="Postfix (submission, port 587, TLS)", style=filled]
|
2019-10-07 09:20:32 -05:00
|
|
|
postfix_queue_10028[label="Postfix queue", style=filled]
|
2016-04-26 05:44:09 -05:00
|
|
|
|
|
|
|
//postfix_iredapd[label="Postfix (smtpd)"]
|
|
|
|
dovecot[label="Dovecot (POP3/IMAP/Sieve/LDA/LMTP/SASL)", style=filled]
|
|
|
|
iredapd[label="iRedAPD (Postfix Policy Server)", style=filled, shape=diamond]
|
|
|
|
db[label="OpenLDAP, MySQL/MariaDB/PostgreSQL", style=filled]
|
|
|
|
sa_clamav[label="SpamAssassin, ClamAV", style=filled]
|
|
|
|
amavisd_10026[label="Amavisd (for submission, port 10026)", style=filled, shape=diamond]
|
2019-10-07 09:20:32 -05:00
|
|
|
amavisd_10027[label="Amavisd (for MLMMJ mailing list, port 10027)", style=filled, shape=diamond]
|
2016-04-26 05:44:09 -05:00
|
|
|
//mailboxes[label="Mailboxes"]
|
|
|
|
|
2019-10-07 09:20:32 -05:00
|
|
|
sender -> postfix_submission[label=" Connects to iRedMail Server", style=dotted]
|
|
|
|
postfix_submission -> iredapd[label=" White/Blacklisting\n Throttling\n Sender Address Rewriting (SRS, port 7778)\n ..."]
|
2016-04-26 05:44:09 -05:00
|
|
|
iredapd -> postfix_submission[label=" DUNNO \nREJECT \n...", color=blue]
|
|
|
|
postfix_submission -> amavisd_10026[label=" Spam/Virus Scanning"]
|
2019-10-07 09:20:32 -05:00
|
|
|
amavisd_10026 -> sa_clamav[label=" Spam/Virus Scanning \nDKIM verification \n...", dir="both"]
|
|
|
|
amavisd_10026 -> postfix_queue[label=" Inject scanned message to Postfix queue"]
|
2016-04-26 05:44:09 -05:00
|
|
|
|
2019-10-07 09:20:32 -05:00
|
|
|
postfix_queue -> postfix_smtp
|
|
|
|
postfix_smtp -> rcpt_server[label=" Leave iRedMail Server", style=dotted]
|
2016-04-26 05:44:09 -05:00
|
|
|
rcpt_server -> recipient[style=dotted]
|
|
|
|
|
|
|
|
amavisd_10026 -> postfix_submission[label=" REJECT, BOUNCE, ... \n(Detected SPAM/VIRUS, ...)", color=blue]
|
|
|
|
|
|
|
|
iredapd -> db[label=" User Verification\n Additional SQL/LDAP queries"]
|
|
|
|
amavisd_10026 -> db[label=" User verification \nWhite/Blacklisting \nQuarantine Spam/Virus \n..."]
|
|
|
|
postfix_submission -> db[label=" User Verification"]
|
|
|
|
|
|
|
|
postfix_submission -> dovecot[label="User Authentication \n(Dovecot is SASL AUTH server)"]
|
|
|
|
dovecot -> db
|
|
|
|
|
|
|
|
//postfix_submission -> sender[label=" REJECT, ...", color=red]
|
|
|
|
|
2019-10-07 09:20:32 -05:00
|
|
|
// MLMMJ mailing list
|
|
|
|
postfix_submission -> amavisd_10027[label="Recipient is a mailing list"]
|
|
|
|
amavisd_10027 -> sa_clamav[label="Spam/Virus scanning\n DKIM signing\n ...", dir="both"]
|
|
|
|
amavisd_10027 -> postfix_queue_10028[label=" Inject scanned message to Postfix queue (Port 10028)"]
|
|
|
|
postfix_queue_10028 -> postfix_smtp
|
2016-04-26 05:44:09 -05:00
|
|
|
}
|