Feb 25, 2020
This commit is contained in:
		
							
								
								
									
										28
									
								
								jails/config/mail/.secret/dkim/ahlawat.com.dkim.key
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								jails/config/mail/.secret/dkim/ahlawat.com.dkim.key
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
-----BEGIN PRIVATE KEY-----
 | 
			
		||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDDECIuIzM+f5+s
 | 
			
		||||
PdoTBSLGpARZkcKWboSUfLdiFsBEXkV5KLy12S6T2ja0oH5C6GfhkqpdzAsCPHKs
 | 
			
		||||
SdIyJAmHj7FXnbOnP93N64E3n/wONj5cq9QAz2acKxS167DXpnSE7K+egcqI7ePL
 | 
			
		||||
BBecLnKUUnSQ4JMAeUBatjnl5SsKF7pwDM1DsOYvWFpDH0BfjIlZq1JJIUnfE7pK
 | 
			
		||||
b3ppdBSF0bum+/Y6TZVJdNg4fYj5k68vLeBp8PkJj60pO4B7oexLpXcz/pqkGi9a
 | 
			
		||||
K5P86RzZliKMqGVAs3TmxWMskoX2Hpm1VXIg/Pht75FuaPqwkAW8FVb3Y7yvfmgU
 | 
			
		||||
O7FaP423AgMBAAECggEAP7BG2LWZh7B32+8eAtPMdPsciHo1BJT1KN5HqfkvsaLu
 | 
			
		||||
IA8S/nT45kF7VyKH1yS2tkoC4jk65vIBpws7XC+0BNT/3FGbVOJfc1qPiC/uRl2j
 | 
			
		||||
ovJfeBw/roHKc1OPG/o3VSdKeAB8tpSlqaWeZ9oqgw8hDCSnGqJ8RqH06YEXumVO
 | 
			
		||||
/59N5/kweoN1902nrsnhhY72cx/YY7TFZt+sbCs1D8rimHFX5UQUWGQgwqKeCvG2
 | 
			
		||||
VmBtU+oXCBKdaR+IcJd9Oy/qkmEQZ6dDL7n/HUwOcRzuBuZoeXN9sc9z81mYEI2Q
 | 
			
		||||
bYpowPOyqFArB08HjQpFndQFSyNwiVVSzaOHRUNBwQKBgQDkECi9WkyqGgVvSM6f
 | 
			
		||||
fC9OTKKk5kI12j4I3aQKZSnW/eNTpaHykRhvUsr36zp58vRN4G9YDJyblgOhgr1U
 | 
			
		||||
7SBwqZRLETwG0ktKDipgibWjBm+K5LfK+wWRwn/qzq494Qg2GQ/DniXqCZ6SI1s1
 | 
			
		||||
wMBHS9s/VYPGaYvYrS1TD90JpwKBgQDa9R90rcyNlXTLHwYzxgjJczLKHz+0ANlR
 | 
			
		||||
GORg31/VBxs94IYby+cZ/oGRjCB5syR/SaN5Z+N2w8GT0yFWN8UCJS0G4I6fGtCb
 | 
			
		||||
wYWzhK2UtI4WyOH9jIdl8AYjFGRZMFJEkDPmac54jtNcqhfO/Eei9+yHq7llEnUP
 | 
			
		||||
F4qKf8K9cQKBgQDEwDgVW4DGQxqrLhmrt3wsRasPLeKzCOv5xBTQLwRQiMoEkOFN
 | 
			
		||||
HeYBrGCUT6gsKvCe+t+0C3VUOLA7N0pVqRkSeQoJVP3/OI9hfSUMEeHUminCnpz9
 | 
			
		||||
DWB5pl2q2dGyaqAl46sY7SfyZ4gYtU3r6rU3DPdCBWlg1A+kx4pRnV7pAwKBgCOu
 | 
			
		||||
fonNKOCJ0panX6NgSl5J36UAoqj62m9U1yLSRBO7LL1QsYomGGssBoFpjIFIqFH1
 | 
			
		||||
9iX6wB7Cl/E3Ht+mBvzqggP05EkZXZWEW/19SaxKID2mTu260PXTv6xHznKaZU23
 | 
			
		||||
Ej4iT/tlixw2u9qHUkVEkc8qNPQ7pcfn1jPrzhiBAoGBAN075cp3R9bzzfVzrFRh
 | 
			
		||||
ZFWzSnWieSsOP635nj48HXKyne7gjvG1IG/HHSi3XPmRIdWTAfOYz29rWQEOaY7b
 | 
			
		||||
wbNhvH7jvtq/A7/Uifh6l8cnN9TFAmN/wmKEUCloVxg1/GltXbR6UwzbJWAs40ya
 | 
			
		||||
VtAxvncs1bqtPBAgfE5wwdCd
 | 
			
		||||
-----END PRIVATE KEY-----
 | 
			
		||||
							
								
								
									
										28
									
								
								jails/config/mail/.secret/dkim/beyondbell.com.dkim.key
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								jails/config/mail/.secret/dkim/beyondbell.com.dkim.key
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
-----BEGIN PRIVATE KEY-----
 | 
			
		||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDYdTOGw8TvQtkr
 | 
			
		||||
Z139xpQC1iXu/X+2ei7ascX6C2G8WM7NS3XphgMd0LgzEm9POoJyYP7KVjQdPK5m
 | 
			
		||||
mRoZOCATmFhNPGSer96qjASHgm10GISKlUyGKRWv1mNHsLJaLwsd8ef13+qBsTvG
 | 
			
		||||
pT0z2I/0OWwAuqQuZdMPuVskspF8jusycibpQ7WjqaOynPEUuRZHDLQToso02+Vd
 | 
			
		||||
X3l3bU08Rz3vW7+hNjZYuzsfCTBzD91kxTGyetqg2CXyLM/dWbDFgY72zG682X0d
 | 
			
		||||
CtoWoEAKdUJkPDxQeKJtqh84TsAOUvg/z3W6J7uJow9OcWsXWJcAJ/HG8gNPq4ho
 | 
			
		||||
sVbc96SzAgMBAAECggEADXPTPPfjwF7uMkVdUQ1LW5XFi8HTcxrK2KqdvDmC3HrE
 | 
			
		||||
d3vOGzJJ9UtodzwZENp5CvS+QQL0gDCqQhQXzCNx0uXv7vTm5/nUI9NJ4MYZWVLA
 | 
			
		||||
wgAfXmMlRuVTDDyOCQ7NaRIEsYI2B9Nk/KZ+VD+MSshazvzKgVuwr1R8tp4mbpAx
 | 
			
		||||
8f4xe51b5ZVqTLcnkoSR6lTmKMQruIZwQpvaGYZLjBRaBcACwYkbZksQZkx7xZdZ
 | 
			
		||||
enpLcKoCc1xXg+gjlfF9HOD1e2GlYQTOgfDcQVJEIS+jjzMyiJA1BxqL8/LkafeD
 | 
			
		||||
CKfx8mzd1LjyDDaAP8ruZb4Ns/6SazAPozxBSRnP2QKBgQD+uf+evckgN6+3/Bur
 | 
			
		||||
egP6I4dUKw1joCo69p98388mWq+ywhIc2rquEfSoQCqjli4pG3iwBbDVxgjk08GV
 | 
			
		||||
ayFaP3X3LvuqCZBktSjEJR6WUMB0kW77BigLCtbzyd2R9upp0A3CnXsmmLVL+o5n
 | 
			
		||||
TD5w6cd67NPS/NGo2FyA6JQO5QKBgQDZijnfG4Yt6BdX3+WBFXNGkhdJziokmrfG
 | 
			
		||||
no5p/tw+/kJfHFC017Z+EbLbcWMKL9cDzl9uMXGDy1xd8+OfolxZZEnrmt4btbmh
 | 
			
		||||
wVzTPrhREwjqzwu/Y2jQwFBef+zJ+b8a1uZOFYVIWWeGCT7wirq54AslE8y0lNEF
 | 
			
		||||
olBnP44TtwKBgQDyn4k50z16QXBOx4Q3fZ3CKQsigWtcZFc1GGlrEOaHesN1eeK0
 | 
			
		||||
tyYu3Q1zIMM8U7SeFPuMda8sv1cDVitCPetjwaSED61IFZoCQoeU5GJQ/JODtG7I
 | 
			
		||||
DOIhOm7pgHJaMJywsqoYn9WIOtYci4gOHhIvjI0jqeZNReARehwJ8P3tfQKBgEWD
 | 
			
		||||
hAalNvVIat0rsJzVC+cLG+H7vT/BKOSRGhUI2bxPZ0oZNDj1jV0vrqWsz+cbbmvK
 | 
			
		||||
8He32PwyaaukGaKTMUtnXq+o5zyXj1/+9/iQ3DkcCgdubeSUkZPTQFtSKYpJAiZD
 | 
			
		||||
cYiWG+cImqocHj6jNhPbYfRRJWK3Ayv3uBWmG3J1AoGAGjKqKpd8+00IxElXpov9
 | 
			
		||||
At2YzPZlzPQCU0+vcreGVTaO9wNdVKfc6uaeAO4D0DP9SOwEqRC9rv8FNb8DxgTB
 | 
			
		||||
ryWMy8rY/CC3mhK6hnsWNRC0a1myKva2XwQ+jMKuCsznFE0N2xjizNdv2/HM2dcr
 | 
			
		||||
ropb+P1w1KZyTiNbTTTC1eQ=
 | 
			
		||||
-----END PRIVATE KEY-----
 | 
			
		||||
							
								
								
									
										28
									
								
								jails/config/mail/.secret/dkim/diyit.org.dkim.key
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								jails/config/mail/.secret/dkim/diyit.org.dkim.key
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
-----BEGIN PRIVATE KEY-----
 | 
			
		||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDc2cV9/D/MWdUl
 | 
			
		||||
DBfKzA3zNjFbzDJd4WP1fdRRIdell57kJwyKehYCw/HxWy4+AnWj6c2fhPXI2EQp
 | 
			
		||||
K3I1QjNSxV4kq+Lr2SFJuDiZvDRLzihu24N6go34R9712mbZOWWl0KyihO6E2cH8
 | 
			
		||||
h6cr2iahXmAjqVtm9/mBmdnrQ2Bv0fusdpS24x3NOPs4Q5gJTadJFGBkwXb88D/+
 | 
			
		||||
mBDcEUFwDul4bVQWvqHk+8EJwApGLo7YVL2F0A25FAm43rWexjb+JeTsHRqN/TaV
 | 
			
		||||
ALzQPr/DQIb2wyWsTnQMnd0t8qg9ErDAKgxMDeGDRFbHr5wNMTrewQkW7yd+H0T0
 | 
			
		||||
Wa97aDXbAgMBAAECggEANUp/M0VZB7BtlED0xMS0YQmko2gEh07J1gUE5IbsCFMr
 | 
			
		||||
zhX2GrwW75fkm77Ky7/AL0tNiL6GqG43FFAdgOh2hfSGIQcw/IQqWiWP0tjtLZWT
 | 
			
		||||
gByL/1XdeBmvnVeUFbqZ4ocWASlefMQm4Q7Csfwz8iBZxoEpQxF3LWS4huJ9NL3d
 | 
			
		||||
qiI1jX5otXN0ybA6jDpridvExRwWT6KrAykUrh5f7vRGUp0I7/GltvSHS4mu24C1
 | 
			
		||||
08RUPE5NjynEX/amc1urMwH3ZdOZgCx819DfQXpQts9/TejSLlLL8s4lXTsZDoab
 | 
			
		||||
DiJ1zZKZEpMIheEGAWSyLtqc1QxypauVAMeM6ZgasQKBgQD88Yf1E7X8zS4hYSyu
 | 
			
		||||
WHiUgrin/0febsHWZAVBTwnzpDwfY0jNnq57tiALyaVzk3vCL3a9WckpXPbQk4Yk
 | 
			
		||||
Oypu1eDyGT4Xf7hrXqFTlMtkupa3Os5/MlTXOFMMs5VISsxrbVjNlvSxITXASWwr
 | 
			
		||||
IYVjmhgTx8Rg3ApM5X/Tqd8XxwKBgQDfhPZ2t+4fBwhzgydKnkPWMbJ6k17tWoZu
 | 
			
		||||
8tzCzrxJd/cYUmi/44sOLrFCLwaS28I4sR7iBPCeiFnnbqlv+f6uw2Xmr5jc/BsT
 | 
			
		||||
md6yl2gNmow//iGFwf8lAsA1VyoFbZoAvQUMVElaxvCngifsTNqRHap8KY6xv5r/
 | 
			
		||||
C6MEoGd5TQKBgQDEoPXxnEsCpHXR2Pqk5X2G5T+qyRYTYcIpaUN0i37O+cMLG2FD
 | 
			
		||||
BrHY1bF/uFd3yxSP1dnWRG/OSchMSAIlNCE+W+EsEldkaRLx1HRQxwB941a6RWq1
 | 
			
		||||
EmlFjTFyVEAeHJdgg3ZfC5RYBdsFCY6e0MYisW06IzcTnLodIOMHpawZjQKBgQC+
 | 
			
		||||
1RVbnINXyDhl7rbQFTlTmVCJKGMmgGBAP2dNhxXoH909zbYTBmFFdYXvPJj/L1Kt
 | 
			
		||||
9kKos5D/uOgRGEDfEnBnovnQL2FyYmd3n6orjerPmoBdbkoOmeeNIMEbiVSeF8oh
 | 
			
		||||
EUBLG3cZYro6OXx+WctNlCdnJE/o3+6kC7pdi9lsDQKBgEtkK4RpB1OKJm6sEiWe
 | 
			
		||||
hoTI6yqflpkivWtV3F8/D37LbYT5wiAsRr6AkgetB7jsi0t//thJiAUUxhtb+u4M
 | 
			
		||||
1zR7i9bIRv3lU8TgYpfS/Yq3T9feZoj682LKtBMPoSgm/p5+ogzIlAU3cpjAW+A8
 | 
			
		||||
2CyzbDc7K58vuzaR8RHpnzYi
 | 
			
		||||
-----END PRIVATE KEY-----
 | 
			
		||||
							
								
								
									
										28
									
								
								jails/config/mail/.secret/dkim/diyit.space.dkim.key
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								jails/config/mail/.secret/dkim/diyit.space.dkim.key
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
-----BEGIN PRIVATE KEY-----
 | 
			
		||||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDJE2rtl2EGU7YD
 | 
			
		||||
TWSlapLqMgn02m9Valldv6u3NP5CZTwI9/xrlEZYzjArInvLE4SFx5VlgC52K92A
 | 
			
		||||
tZUqs7ckZgDmMOIr1vXGP3YgzGO9NK3hqyPHlu2Twuu96rP9+CTTlU8ovun14Ucu
 | 
			
		||||
b0+W3pH646kMZBc0wAAj0xg+QI0PhFphQZyHkV9laOFwx/ErCu9SdUfcUY+zouSG
 | 
			
		||||
DMxPAL8pT1JS5IOVGDM7rXbAwZ1+LrHTmOD1Mi6jtYtV7/Pqga6CBpcQFa/kMvza
 | 
			
		||||
idjPkVyUg4YY/9i+P9dRQMK6dJgmRSaLLaOTaYHCT6PgpWQvKhYJZsNIB+LmfdHp
 | 
			
		||||
gzE4s0tfAgMBAAECggEBALtNkzVu5bp3D/1TgoV0GRZ/NjcXos32GvjxKoummZJP
 | 
			
		||||
qvTPzBqKLF1c9BG6NYadz7yuhcPe+2iow9S5URJOBjOpsPy8XHJp8teRFgDHY8FD
 | 
			
		||||
6RVlzhaFyRjzYZWvo6rYE7XkR7C05ktcZmoi1gi7m1AR8c7RDazdjUPRx6t1hfEE
 | 
			
		||||
ubocsnwZ5McU3tHVHj8pHBM9nKaarVd3BSTydStjGOmoS+E5BR1NLMDpx3Aw9S/V
 | 
			
		||||
tn1iJxxF9+GONFfCBQ/IQ4+rBbOPsICwhhhrTpJwPilzBynGQevtEHdpq6ewS2bq
 | 
			
		||||
ESsgQoax70cW1TymOPOzYQvPUzJy0S68OoSMAXVr8MECgYEA755LulHIALONfQWG
 | 
			
		||||
XBUT7UMaePyLDkuNoGkIDqIdqZiJf8kxDs8yWznCGim/vlnmK2hVn1nqi+omtbaG
 | 
			
		||||
AsCgU9q2JnP4r0Nr7yb/L4WAHp5WxR5ifS/aOHUple9oQwfPkzpxWEGFFvN0PW7p
 | 
			
		||||
4lk4lRNvI4q5zMdugpbwn4vbzEMCgYEA1tKRDfPY/9GV/dYnt433bjtlNU9j7UCc
 | 
			
		||||
8iP26Rg8zjC4tzlVoZDZjov5FMG2Ifb7cLNroONATg2ivKNyRm73Le9p2KVqtvTX
 | 
			
		||||
zHs1sKVJofWQ4+GzJd8MkUEXu397oTUudGV+z82Hd0iKkQBT7EYBybHl6kY4XbR1
 | 
			
		||||
BS36gdW2oLUCgYBvt1LBNH3V7eCqiFfjOKSIuv9tpvjCGnGWd0GdaPIBby+0Fz47
 | 
			
		||||
FFj69UvM3OgbvFg2prc8yzQyNWIE2GtUfzCAx/iipvEr7Xg2EO1q34gjPllgH9F1
 | 
			
		||||
YkkQh3dzAyKOFecuUlIj/rApSipIthxvPn/F6UCoxnXnxpd8ZRkcmZ1JdwKBgQCZ
 | 
			
		||||
bltb88YRMMhIPCSx3RvUB2gJ42Ijmfp+l2FKqp0DR5kmhDS86I/6V87XHGPRbm23
 | 
			
		||||
2O4OQ0Eyflq1EKgV1juE+3JF4h+N/OIEkhuOxv8IRjPuDs29RsnbFPq2WB8czLcZ
 | 
			
		||||
O0SPduRCNfWCCxHltzqfrAfig7TOeIz73hMFmHaP4QKBgQCN1XzjGMrL0ZlFQTM1
 | 
			
		||||
ljaqWEaQ+JSzZtiVDdPcuKytyvz59OdJnag9O0TBaOY6XGG1Dbl8FJEG9KZCwYRv
 | 
			
		||||
a+CKb6qHyowgu17GlWQBn2i3Ep5GOQhkR4ghvDXZPwOJfW5VbfWo4N/r3Q81kaRO
 | 
			
		||||
Iovk5uipUk5dtW69hOYmq4OBxA==
 | 
			
		||||
-----END PRIVATE KEY-----
 | 
			
		||||
							
								
								
									
										3
									
								
								jails/config/mail/dcc_conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								jails/config/mail/dcc_conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
DCCM_LOG_AT=NEVER
 | 
			
		||||
DCCM_REJECT_AT=MANY
 | 
			
		||||
DCCIFD_ENABLE=on
 | 
			
		||||
							
								
								
									
										2
									
								
								jails/config/mail/dovecot/README
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								jails/config/mail/dovecot/README
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
Configuration files go to this directory. See example configuration files in
 | 
			
		||||
/usr/local/etc/dovecot/example-config/
 | 
			
		||||
							
								
								
									
										21
									
								
								jails/config/mail/dovecot/conf.d/10-auth.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								jails/config/mail/dovecot/conf.d/10-auth.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
			
		||||
# cache all authentication results for one hour
 | 
			
		||||
auth_cache_size = 10M
 | 
			
		||||
auth_cache_ttl = 1 hour
 | 
			
		||||
auth_cache_negative_ttl = 1 hour
 | 
			
		||||
 | 
			
		||||
# only use plain username/password auth - OK since everything is over TLS
 | 
			
		||||
auth_mechanisms = plain
 | 
			
		||||
 | 
			
		||||
# passdb specifies how users are authenticated - LDAP in my case
 | 
			
		||||
passdb {
 | 
			
		||||
  driver = ldap
 | 
			
		||||
  args = /usr/local/etc/dovecot/ldap.conf.ext
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# userdb specifies the location of users' "home" directories - where their
 | 
			
		||||
# mail is stored. e.g. /var/mail/vhosts/exmaple.com/user
 | 
			
		||||
# %d = domain, %n = user
 | 
			
		||||
userdb {
 | 
			
		||||
  driver = static
 | 
			
		||||
  args = uid=vmail gid=vmail home=/data/vhosts/%d/%n
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										28
									
								
								jails/config/mail/dovecot/conf.d/10-mail.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								jails/config/mail/dovecot/conf.d/10-mail.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
# default home directory location for all users
 | 
			
		||||
mail_home = /data/vhosts/%d/%n
 | 
			
		||||
 | 
			
		||||
# directory to store mail. The tilda makes it relative to the *dovecot*
 | 
			
		||||
# virtual home directory.
 | 
			
		||||
#
 | 
			
		||||
# I use mdbox - this is Dovecot's own high-performance mail store format.
 | 
			
		||||
# There are other slower, more "traditional" formats you can choose from.
 | 
			
		||||
# Read about them here: https://wiki2.dovecot.org/MailboxFormat
 | 
			
		||||
mail_location = mdbox:~/mdbox
 | 
			
		||||
 | 
			
		||||
# nothing fancy - just a standard default namespace with '/' as the
 | 
			
		||||
# hierarchy separator
 | 
			
		||||
namespace inbox {
 | 
			
		||||
  separator = /
 | 
			
		||||
  inbox = yes
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# set this to the group that owns your vmail directory.
 | 
			
		||||
mail_privileged_group = vmail
 | 
			
		||||
 | 
			
		||||
# these lines enable attachment deduplication. Attachments must be somewhat
 | 
			
		||||
# large (64k) to store them separately from the mail store.
 | 
			
		||||
mail_attachment_dir = /data/attachments
 | 
			
		||||
mail_attachment_min_size = 64k
 | 
			
		||||
 | 
			
		||||
# we'll uncomment this after we set up Solr in the following section:
 | 
			
		||||
mail_plugins = $mail_plugins fts fts_solr
 | 
			
		||||
							
								
								
									
										60
									
								
								jails/config/mail/dovecot/conf.d/10-master.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								jails/config/mail/dovecot/conf.d/10-master.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,60 @@
 | 
			
		||||
default_client_limit = 1500
 | 
			
		||||
 | 
			
		||||
# to improve performance, disable fsync globally - we will enable it for
 | 
			
		||||
# some specific services later on
 | 
			
		||||
mail_fsync = never
 | 
			
		||||
 | 
			
		||||
service imap-login {
 | 
			
		||||
  # plain-text IMAP should only be accessible from localhost
 | 
			
		||||
  inet_listener imap {
 | 
			
		||||
    address = 127.0.0.1, ::1
 | 
			
		||||
  }
 | 
			
		||||
  inet_listener imaps {
 | 
			
		||||
  }
 | 
			
		||||
  # enable high-performance mode, described here:
 | 
			
		||||
  # https://wiki.dovecot.org/LoginProcess
 | 
			
		||||
  service_count = 0
 | 
			
		||||
  # set to the number of CPU cores on your server
 | 
			
		||||
  process_min_avail = 3
 | 
			
		||||
  vsz_limit = 1G
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# disable POP3 altogether
 | 
			
		||||
service pop3-login {
 | 
			
		||||
  inet_listener pop3 {
 | 
			
		||||
    port = 0
 | 
			
		||||
  }
 | 
			
		||||
  inet_listener pop3s {
 | 
			
		||||
    port = 0
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# enable semi-long-lived IMAP processes to improve performance
 | 
			
		||||
service imap {
 | 
			
		||||
  service_count = 256
 | 
			
		||||
  # set to the number of CPU cores on your server
 | 
			
		||||
  process_min_avail = 3
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# expose an LMTP socket for postfix to deliver mail
 | 
			
		||||
service lmtp {
 | 
			
		||||
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
 | 
			
		||||
    group = postfix
 | 
			
		||||
    mode = 0600
 | 
			
		||||
    user = postfix
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# expose an auth socket for postfix to authenticate users
 | 
			
		||||
service auth {
 | 
			
		||||
  unix_listener /var/spool/postfix/private/auth {
 | 
			
		||||
    mode = 0660
 | 
			
		||||
    user = postfix
 | 
			
		||||
    group = postfix
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# no need to run this as root
 | 
			
		||||
service auth-worker {
 | 
			
		||||
  user = vmail
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										11
									
								
								jails/config/mail/dovecot/conf.d/10-ssl.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								jails/config/mail/dovecot/conf.d/10-ssl.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
			
		||||
# require SSL for all non-localhost connections
 | 
			
		||||
ssl = required
 | 
			
		||||
 | 
			
		||||
ssl_cert = </mnt/certs/fullchain.pem
 | 
			
		||||
ssl_key = </mnt/certs/privkeyr.pem
 | 
			
		||||
 | 
			
		||||
# require modern crypto - taken from Mozilla's SSL recommendations page
 | 
			
		||||
#ssl_dh_parameters_length = 2048
 | 
			
		||||
#ssl_protocols = !SSLv2 !SSLv3 !TLSv1 !TLSv1.1 TLSv1.2
 | 
			
		||||
#ssl_cipher_list = ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
 | 
			
		||||
ssl_prefer_server_ciphers = yes
 | 
			
		||||
							
								
								
									
										7
									
								
								jails/config/mail/dovecot/conf.d/15-lda.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								jails/config/mail/dovecot/conf.d/15-lda.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
			
		||||
# configuration for mail delivered by the `dovecot-lda` command. Shouldn't
 | 
			
		||||
# be needed since we are using LMTP, but kept for backwards compatibility.
 | 
			
		||||
protocol lda {
 | 
			
		||||
  # use fsync for write-safety - this deals with delivering actual mail
 | 
			
		||||
  mail_fsync = optimized
 | 
			
		||||
  mail_plugins = $mail_plugins sieve
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										24
									
								
								jails/config/mail/dovecot/conf.d/15-mailboxes.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								jails/config/mail/dovecot/conf.d/15-mailboxes.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
			
		||||
# define any special IMAP folders here. You can force them to be created or
 | 
			
		||||
# created+subscribed automatically used the `auto` option.
 | 
			
		||||
namespace inbox {
 | 
			
		||||
  mailbox Drafts {
 | 
			
		||||
    auto = subscribe
 | 
			
		||||
    special_use = \Drafts
 | 
			
		||||
  }
 | 
			
		||||
  mailbox Junk {
 | 
			
		||||
    auto = create
 | 
			
		||||
    special_use = \Junk
 | 
			
		||||
  }
 | 
			
		||||
  mailbox Trash {
 | 
			
		||||
    auto = create
 | 
			
		||||
    special_use = \Trash
 | 
			
		||||
  }
 | 
			
		||||
  mailbox Archive {
 | 
			
		||||
    auto = subscribe
 | 
			
		||||
    special_use = \Archive
 | 
			
		||||
  }
 | 
			
		||||
  mailbox Sent {
 | 
			
		||||
    auto = subscribe
 | 
			
		||||
    special_use = \Sent
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								jails/config/mail/dovecot/conf.d/20-imap.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								jails/config/mail/dovecot/conf.d/20-imap.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
# Use a longer IDLE interval to reduce network chatter and save battery
 | 
			
		||||
# life. Max is 30 minutes.
 | 
			
		||||
imap_idle_notify_interval = 29 mins
 | 
			
		||||
 | 
			
		||||
protocol imap {
 | 
			
		||||
  # max IMAP connections per IP address
 | 
			
		||||
  mail_max_userip_connections = 50
 | 
			
		||||
  # imap_sieve will be used for spam training by rspamd
 | 
			
		||||
  mail_plugins = $mail_plugins imap_sieve
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										5
									
								
								jails/config/mail/dovecot/conf.d/20-lmtp.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								jails/config/mail/dovecot/conf.d/20-lmtp.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
protocol lmtp {
 | 
			
		||||
  # use fsync for write-safety - this deals with delivering actual mail
 | 
			
		||||
  mail_fsync = optimized
 | 
			
		||||
  mail_plugins = $mail_plugins sieve
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										14
									
								
								jails/config/mail/dovecot/conf.d/20-managesieve.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								jails/config/mail/dovecot/conf.d/20-managesieve.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
			
		||||
protocols = $protocols sieve
 | 
			
		||||
 | 
			
		||||
# uncomment if you want remote managesieve functionality - unfortunately
 | 
			
		||||
# almost no mail clients support it :(
 | 
			
		||||
#
 | 
			
		||||
# service managesieve-login {
 | 
			
		||||
#   inet_listener sieve_deprecated {
 | 
			
		||||
#     port = 0
 | 
			
		||||
#   }
 | 
			
		||||
# 
 | 
			
		||||
#   service_count = 0
 | 
			
		||||
#   process_min_avail = 3
 | 
			
		||||
#   vsz_limit = 1G
 | 
			
		||||
# }
 | 
			
		||||
							
								
								
									
										6
									
								
								jails/config/mail/dovecot/conf.d/90-fts.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								jails/config/mail/dovecot/conf.d/90-fts.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
# We'll uncomment these when we set up Solr in the next section:
 | 
			
		||||
plugin {
 | 
			
		||||
  fts_autoindex = yes
 | 
			
		||||
  fts = solr
 | 
			
		||||
  fts_solr = url=http://127.0.0.1:8983/solr/dovecot/
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								jails/config/mail/dovecot/conf.d/90-imapsieve.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								jails/config/mail/dovecot/conf.d/90-imapsieve.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
			
		||||
plugin {
 | 
			
		||||
  sieve_plugins = sieve_imapsieve sieve_extprograms
 | 
			
		||||
 | 
			
		||||
  # From elsewhere to Junk folder
 | 
			
		||||
  imapsieve_mailbox1_name = Junk
 | 
			
		||||
  imapsieve_mailbox1_causes = COPY
 | 
			
		||||
  imapsieve_mailbox1_before = file:/usr/local/etc/dovecot/sieve/report-spam.sieve
 | 
			
		||||
 | 
			
		||||
  # From Junk folder to elsewhere
 | 
			
		||||
  imapsieve_mailbox2_name = *
 | 
			
		||||
  imapsieve_mailbox2_from = Junk
 | 
			
		||||
  imapsieve_mailbox2_causes = COPY
 | 
			
		||||
  imapsieve_mailbox2_before = file:/usr/local/etc/dovecot/sieve/report-ham.sieve
 | 
			
		||||
 | 
			
		||||
  sieve_pipe_bin_dir = /usr/local/etc/dovecot/sieve
 | 
			
		||||
 | 
			
		||||
  sieve_global_extensions = +vnd.dovecot.pipe
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										21
									
								
								jails/config/mail/dovecot/conf.d/90-sieve.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								jails/config/mail/dovecot/conf.d/90-sieve.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
			
		||||
plugin {
 | 
			
		||||
  # location of users' sieve directory and their "active" sieve script
 | 
			
		||||
  sieve = file:~/sieve;active=~/.dovecot.sieve
 | 
			
		||||
 | 
			
		||||
  # directory of global sieve scripts to run before and after processing ALL
 | 
			
		||||
  # incoming mail
 | 
			
		||||
  sieve_before = /usr/local/etc/dovecot/sieve-before.d
 | 
			
		||||
  sieve_after  = /usr/local/etc/dovecot/sieve-after.d
 | 
			
		||||
 | 
			
		||||
  # make sieve aware of user+tag@domain.tld aliases
 | 
			
		||||
  recipient_delimiter = +
 | 
			
		||||
 | 
			
		||||
  # maximum size of all user's sieve scripts
 | 
			
		||||
  sieve_quota_max_storage = 50M
 | 
			
		||||
}
 | 
			
		||||
# We'll uncomment these when we set up Solr in the next section:
 | 
			
		||||
# plugin {
 | 
			
		||||
#   fts_autoindex = yes
 | 
			
		||||
#   fts = solr
 | 
			
		||||
#   fts_solr = url=http://127.0.0.1:8983/solr/dovecot/
 | 
			
		||||
# }
 | 
			
		||||
							
								
								
									
										9
									
								
								jails/config/mail/dovecot/dovecot.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								jails/config/mail/dovecot/dovecot.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
# IMAP for remote access, LMTP for local delivery
 | 
			
		||||
protocols = imap lmtp
 | 
			
		||||
 | 
			
		||||
# set these to the uid of your `vmail` user
 | 
			
		||||
first_valid_uid = 145
 | 
			
		||||
last_valid_uid = 145
 | 
			
		||||
 | 
			
		||||
!include conf.d/*.conf
 | 
			
		||||
!include_try local.conf
 | 
			
		||||
							
								
								
									
										128
									
								
								jails/config/mail/dovecot/example-config/conf.d/10-auth.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										128
									
								
								jails/config/mail/dovecot/example-config/conf.d/10-auth.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,128 @@
 | 
			
		||||
##
 | 
			
		||||
## Authentication processes
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Disable LOGIN command and all other plaintext authentications unless
 | 
			
		||||
# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
 | 
			
		||||
# matches the local IP (ie. you're connecting from the same computer), the
 | 
			
		||||
# connection is considered secure and plaintext authentication is allowed.
 | 
			
		||||
# See also ssl=required setting.
 | 
			
		||||
#disable_plaintext_auth = yes
 | 
			
		||||
 | 
			
		||||
# Authentication cache size (e.g. 10M). 0 means it's disabled. Note that
 | 
			
		||||
# bsdauth, PAM and vpopmail require cache_key to be set for caching to be used.
 | 
			
		||||
#auth_cache_size = 0
 | 
			
		||||
# Time to live for cached data. After TTL expires the cached record is no
 | 
			
		||||
# longer used, *except* if the main database lookup returns internal failure.
 | 
			
		||||
# We also try to handle password changes automatically: If user's previous
 | 
			
		||||
# authentication was successful, but this one wasn't, the cache isn't used.
 | 
			
		||||
# For now this works only with plaintext authentication.
 | 
			
		||||
#auth_cache_ttl = 1 hour
 | 
			
		||||
# TTL for negative hits (user not found, password mismatch).
 | 
			
		||||
# 0 disables caching them completely.
 | 
			
		||||
#auth_cache_negative_ttl = 1 hour
 | 
			
		||||
 | 
			
		||||
# Space separated list of realms for SASL authentication mechanisms that need
 | 
			
		||||
# them. You can leave it empty if you don't want to support multiple realms.
 | 
			
		||||
# Many clients simply use the first one listed here, so keep the default realm
 | 
			
		||||
# first.
 | 
			
		||||
#auth_realms =
 | 
			
		||||
 | 
			
		||||
# Default realm/domain to use if none was specified. This is used for both
 | 
			
		||||
# SASL realms and appending @domain to username in plaintext logins.
 | 
			
		||||
#auth_default_realm = 
 | 
			
		||||
 | 
			
		||||
# List of allowed characters in username. If the user-given username contains
 | 
			
		||||
# a character not listed in here, the login automatically fails. This is just
 | 
			
		||||
# an extra check to make sure user can't exploit any potential quote escaping
 | 
			
		||||
# vulnerabilities with SQL/LDAP databases. If you want to allow all characters,
 | 
			
		||||
# set this value to empty.
 | 
			
		||||
#auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
 | 
			
		||||
 | 
			
		||||
# Username character translations before it's looked up from databases. The
 | 
			
		||||
# value contains series of from -> to characters. For example "#@/@" means
 | 
			
		||||
# that '#' and '/' characters are translated to '@'.
 | 
			
		||||
#auth_username_translation =
 | 
			
		||||
 | 
			
		||||
# Username formatting before it's looked up from databases. You can use
 | 
			
		||||
# the standard variables here, eg. %Lu would lowercase the username, %n would
 | 
			
		||||
# drop away the domain if it was given, or "%n-AT-%d" would change the '@' into
 | 
			
		||||
# "-AT-". This translation is done after auth_username_translation changes.
 | 
			
		||||
#auth_username_format = %Lu
 | 
			
		||||
 | 
			
		||||
# If you want to allow master users to log in by specifying the master
 | 
			
		||||
# username within the normal username string (ie. not using SASL mechanism's
 | 
			
		||||
# support for it), you can specify the separator character here. The format
 | 
			
		||||
# is then <username><separator><master username>. UW-IMAP uses "*" as the
 | 
			
		||||
# separator, so that could be a good choice.
 | 
			
		||||
#auth_master_user_separator =
 | 
			
		||||
 | 
			
		||||
# Username to use for users logging in with ANONYMOUS SASL mechanism
 | 
			
		||||
#auth_anonymous_username = anonymous
 | 
			
		||||
 | 
			
		||||
# Maximum number of dovecot-auth worker processes. They're used to execute
 | 
			
		||||
# blocking passdb and userdb queries (eg. MySQL and PAM). They're
 | 
			
		||||
# automatically created and destroyed as needed.
 | 
			
		||||
#auth_worker_max_count = 30
 | 
			
		||||
 | 
			
		||||
# Host name to use in GSSAPI principal names. The default is to use the
 | 
			
		||||
# name returned by gethostname(). Use "$ALL" (with quotes) to allow all keytab
 | 
			
		||||
# entries.
 | 
			
		||||
#auth_gssapi_hostname =
 | 
			
		||||
 | 
			
		||||
# Kerberos keytab to use for the GSSAPI mechanism. Will use the system
 | 
			
		||||
# default (usually /etc/krb5.keytab) if not specified. You may need to change
 | 
			
		||||
# the auth service to run as root to be able to read this file.
 | 
			
		||||
#auth_krb5_keytab = 
 | 
			
		||||
 | 
			
		||||
# Do NTLM and GSS-SPNEGO authentication using Samba's winbind daemon and
 | 
			
		||||
# ntlm_auth helper. <doc/wiki/Authentication/Mechanisms/Winbind.txt>
 | 
			
		||||
#auth_use_winbind = no
 | 
			
		||||
 | 
			
		||||
# Path for Samba's ntlm_auth helper binary.
 | 
			
		||||
#auth_winbind_helper_path = /usr/bin/ntlm_auth
 | 
			
		||||
 | 
			
		||||
# Time to delay before replying to failed authentications.
 | 
			
		||||
#auth_failure_delay = 2 secs
 | 
			
		||||
 | 
			
		||||
# Require a valid SSL client certificate or the authentication fails.
 | 
			
		||||
#auth_ssl_require_client_cert = no
 | 
			
		||||
 | 
			
		||||
# Take the username from client's SSL certificate, using 
 | 
			
		||||
# X509_NAME_get_text_by_NID() which returns the subject's DN's
 | 
			
		||||
# CommonName. 
 | 
			
		||||
#auth_ssl_username_from_cert = no
 | 
			
		||||
 | 
			
		||||
# Space separated list of wanted authentication mechanisms:
 | 
			
		||||
#   plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey
 | 
			
		||||
#   gss-spnego
 | 
			
		||||
# NOTE: See also disable_plaintext_auth setting.
 | 
			
		||||
auth_mechanisms = plain
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Password and user databases
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Password database is used to verify user's password (and nothing more).
 | 
			
		||||
# You can have multiple passdbs and userdbs. This is useful if you want to
 | 
			
		||||
# allow both system users (/etc/passwd) and virtual users to login without
 | 
			
		||||
# duplicating the system users into virtual database.
 | 
			
		||||
#
 | 
			
		||||
# <doc/wiki/PasswordDatabase.txt>
 | 
			
		||||
#
 | 
			
		||||
# User database specifies where mails are located and what user/group IDs
 | 
			
		||||
# own them. For single-UID configuration use "static" userdb.
 | 
			
		||||
#
 | 
			
		||||
# <doc/wiki/UserDatabase.txt>
 | 
			
		||||
 | 
			
		||||
#!include auth-deny.conf.ext
 | 
			
		||||
#!include auth-master.conf.ext
 | 
			
		||||
 | 
			
		||||
!include auth-system.conf.ext
 | 
			
		||||
#!include auth-sql.conf.ext
 | 
			
		||||
#!include auth-ldap.conf.ext
 | 
			
		||||
#!include auth-passwdfile.conf.ext
 | 
			
		||||
#!include auth-checkpassword.conf.ext
 | 
			
		||||
#!include auth-vpopmail.conf.ext
 | 
			
		||||
#!include auth-static.conf.ext
 | 
			
		||||
@ -0,0 +1,60 @@
 | 
			
		||||
##
 | 
			
		||||
## Director-specific settings.
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Director can be used by Dovecot proxy to keep a temporary user -> mail server
 | 
			
		||||
# mapping. As long as user has simultaneous connections, the user is always
 | 
			
		||||
# redirected to the same server. Each proxy server is running its own director
 | 
			
		||||
# process, and the directors are communicating the state to each others.
 | 
			
		||||
# Directors are mainly useful with NFS-like setups.
 | 
			
		||||
 | 
			
		||||
# List of IPs or hostnames to all director servers, including ourself.
 | 
			
		||||
# Ports can be specified as ip:port. The default port is the same as
 | 
			
		||||
# what director service's inet_listener is using.
 | 
			
		||||
#director_servers = 
 | 
			
		||||
 | 
			
		||||
# List of IPs or hostnames to all backend mail servers. Ranges are allowed
 | 
			
		||||
# too, like 10.0.0.10-10.0.0.30.
 | 
			
		||||
#director_mail_servers = 
 | 
			
		||||
 | 
			
		||||
# How long to redirect users to a specific server after it no longer has
 | 
			
		||||
# any connections.
 | 
			
		||||
#director_user_expire = 15 min
 | 
			
		||||
 | 
			
		||||
# How the username is translated before being hashed. Useful values include
 | 
			
		||||
# %Ln if user can log in with or without @domain, %Ld if mailboxes are shared
 | 
			
		||||
# within domain.
 | 
			
		||||
#director_username_hash = %Lu
 | 
			
		||||
 | 
			
		||||
# To enable director service, uncomment the modes and assign a port.
 | 
			
		||||
service director {
 | 
			
		||||
  unix_listener login/director {
 | 
			
		||||
    #mode = 0666
 | 
			
		||||
  }
 | 
			
		||||
  fifo_listener login/proxy-notify {
 | 
			
		||||
    #mode = 0666
 | 
			
		||||
  }
 | 
			
		||||
  unix_listener director-userdb {
 | 
			
		||||
    #mode = 0600
 | 
			
		||||
  }
 | 
			
		||||
  inet_listener {
 | 
			
		||||
    #port = 
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Enable director for the wanted login services by telling them to
 | 
			
		||||
# connect to director socket instead of the default login socket:
 | 
			
		||||
service imap-login {
 | 
			
		||||
  #executable = imap-login director
 | 
			
		||||
}
 | 
			
		||||
service pop3-login {
 | 
			
		||||
  #executable = pop3-login director
 | 
			
		||||
}
 | 
			
		||||
service submission-login {
 | 
			
		||||
  #executable = submission-login director
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Enable director for LMTP proxying:
 | 
			
		||||
protocol lmtp {
 | 
			
		||||
  #auth_socket_path = director-userdb
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										109
									
								
								jails/config/mail/dovecot/example-config/conf.d/10-logging.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								jails/config/mail/dovecot/example-config/conf.d/10-logging.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,109 @@
 | 
			
		||||
##
 | 
			
		||||
## Log destination.
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Log file to use for error messages. "syslog" logs to syslog,
 | 
			
		||||
# /dev/stderr logs to stderr.
 | 
			
		||||
#log_path = syslog
 | 
			
		||||
 | 
			
		||||
# Log file to use for informational messages. Defaults to log_path.
 | 
			
		||||
#info_log_path = 
 | 
			
		||||
# Log file to use for debug messages. Defaults to info_log_path.
 | 
			
		||||
#debug_log_path = 
 | 
			
		||||
 | 
			
		||||
# Syslog facility to use if you're logging to syslog. Usually if you don't
 | 
			
		||||
# want to use "mail", you'll use local0..local7. Also other standard
 | 
			
		||||
# facilities are supported.
 | 
			
		||||
#syslog_facility = mail
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Logging verbosity and debugging.
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Log filter is a space-separated list conditions. If any of the conditions
 | 
			
		||||
# match, the log filter matches (i.e. they're ORed together). Parenthesis
 | 
			
		||||
# are supported if multiple conditions need to be matched together.
 | 
			
		||||
# Supported conditions are:
 | 
			
		||||
#  event:<name wildcard> - Match event name. '*' and '?' wildcards supported.
 | 
			
		||||
#  source:<filename>[:<line number>] - Match source code filename [and line]
 | 
			
		||||
#  field:<key>=<value wildcard> - Match field key to a value. Can be specified
 | 
			
		||||
#    multiple times to match multiple keys.
 | 
			
		||||
#  cat[egory]:<value> - Match a category. Can be specified multiple times to
 | 
			
		||||
#    match multiple categories.
 | 
			
		||||
# For example: event:http_request_* (cat:error cat:storage)
 | 
			
		||||
 | 
			
		||||
# Filter to specify what debug logging to enable. This will eventually replace
 | 
			
		||||
# mail_debug and auth_debug settings.
 | 
			
		||||
#log_debug = 
 | 
			
		||||
 | 
			
		||||
# Crash after logging a matching event. For example category:error will crash
 | 
			
		||||
# any time an error is logged, which can be useful for debugging.
 | 
			
		||||
#log_core_filter = 
 | 
			
		||||
 | 
			
		||||
# Log unsuccessful authentication attempts and the reasons why they failed.
 | 
			
		||||
#auth_verbose = no
 | 
			
		||||
 | 
			
		||||
# In case of password mismatches, log the attempted password. Valid values are
 | 
			
		||||
# no, plain and sha1. sha1 can be useful for detecting brute force password
 | 
			
		||||
# attempts vs. user simply trying the same password over and over again.
 | 
			
		||||
# You can also truncate the value to n chars by appending ":n" (e.g. sha1:6).
 | 
			
		||||
#auth_verbose_passwords = no
 | 
			
		||||
 | 
			
		||||
# Even more verbose logging for debugging purposes. Shows for example SQL
 | 
			
		||||
# queries.
 | 
			
		||||
#auth_debug = no
 | 
			
		||||
 | 
			
		||||
# In case of password mismatches, log the passwords and used scheme so the
 | 
			
		||||
# problem can be debugged. Enabling this also enables auth_debug.
 | 
			
		||||
#auth_debug_passwords = no
 | 
			
		||||
 | 
			
		||||
# Enable mail process debugging. This can help you figure out why Dovecot
 | 
			
		||||
# isn't finding your mails.
 | 
			
		||||
#mail_debug = no
 | 
			
		||||
 | 
			
		||||
# Show protocol level SSL errors.
 | 
			
		||||
#verbose_ssl = no
 | 
			
		||||
 | 
			
		||||
# mail_log plugin provides more event logging for mail processes.
 | 
			
		||||
plugin {
 | 
			
		||||
  # Events to log. Also available: flag_change append
 | 
			
		||||
  #mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
 | 
			
		||||
  # Available fields: uid, box, msgid, from, subject, size, vsize, flags
 | 
			
		||||
  # size and vsize are available only for expunge and copy events.
 | 
			
		||||
  #mail_log_fields = uid box msgid size
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Log formatting.
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Prefix for each line written to log file. % codes are in strftime(3)
 | 
			
		||||
# format.
 | 
			
		||||
#log_timestamp = "%b %d %H:%M:%S "
 | 
			
		||||
 | 
			
		||||
# Space-separated list of elements we want to log. The elements which have
 | 
			
		||||
# a non-empty variable value are joined together to form a comma-separated
 | 
			
		||||
# string.
 | 
			
		||||
#login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
 | 
			
		||||
 | 
			
		||||
# Login log format. %s contains login_log_format_elements string, %$ contains
 | 
			
		||||
# the data we want to log.
 | 
			
		||||
#login_log_format = %$: %s
 | 
			
		||||
 
 | 
			
		||||
# Log prefix for mail processes. See doc/wiki/Variables.txt for list of
 | 
			
		||||
# possible variables you can use.
 | 
			
		||||
#mail_log_prefix = "%s(%u)<%{pid}><%{session}>: "
 | 
			
		||||
 | 
			
		||||
# Format to use for logging mail deliveries:
 | 
			
		||||
#  %$ - Delivery status message (e.g. "saved to INBOX")
 | 
			
		||||
#  %m / %{msgid} - Message-ID
 | 
			
		||||
#  %s / %{subject} - Subject
 | 
			
		||||
#  %f / %{from} - From address
 | 
			
		||||
#  %p / %{size} - Physical size
 | 
			
		||||
#  %w / %{vsize} - Virtual size
 | 
			
		||||
#  %e / %{from_envelope} - MAIL FROM envelope
 | 
			
		||||
#  %{to_envelope} - RCPT TO envelope
 | 
			
		||||
#  %{delivery_time} - How many milliseconds it took to deliver the mail
 | 
			
		||||
#  %{session_time} - How long LMTP session took, not including delivery_time
 | 
			
		||||
#  %{storage_id} - Backend-specific ID for mail, e.g. Maildir filename
 | 
			
		||||
#deliver_log_format = msgid=%m: %$
 | 
			
		||||
							
								
								
									
										414
									
								
								jails/config/mail/dovecot/example-config/conf.d/10-mail.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										414
									
								
								jails/config/mail/dovecot/example-config/conf.d/10-mail.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,414 @@
 | 
			
		||||
##
 | 
			
		||||
## Mailbox locations and namespaces
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Location for users' mailboxes. The default is empty, which means that Dovecot
 | 
			
		||||
# tries to find the mailboxes automatically. This won't work if the user
 | 
			
		||||
# doesn't yet have any mail, so you should explicitly tell Dovecot the full
 | 
			
		||||
# location.
 | 
			
		||||
#
 | 
			
		||||
# If you're using mbox, giving a path to the INBOX file (eg. /var/mail/%u)
 | 
			
		||||
# isn't enough. You'll also need to tell Dovecot where the other mailboxes are
 | 
			
		||||
# kept. This is called the "root mail directory", and it must be the first
 | 
			
		||||
# path given in the mail_location setting.
 | 
			
		||||
#
 | 
			
		||||
# There are a few special variables you can use, eg.:
 | 
			
		||||
#
 | 
			
		||||
#   %u - username
 | 
			
		||||
#   %n - user part in user@domain, same as %u if there's no domain
 | 
			
		||||
#   %d - domain part in user@domain, empty if there's no domain
 | 
			
		||||
#   %h - home directory
 | 
			
		||||
#
 | 
			
		||||
# See doc/wiki/Variables.txt for full list. Some examples:
 | 
			
		||||
#
 | 
			
		||||
#   mail_location = maildir:~/Maildir
 | 
			
		||||
#   mail_location = mbox:~/mail:INBOX=/var/mail/%u
 | 
			
		||||
#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
 | 
			
		||||
#
 | 
			
		||||
# <doc/wiki/MailLocation.txt>
 | 
			
		||||
#
 | 
			
		||||
#mail_location = 
 | 
			
		||||
 | 
			
		||||
# If you need to set multiple mailbox locations or want to change default
 | 
			
		||||
# namespace settings, you can do it by defining namespace sections.
 | 
			
		||||
#
 | 
			
		||||
# You can have private, shared and public namespaces. Private namespaces
 | 
			
		||||
# are for user's personal mails. Shared namespaces are for accessing other
 | 
			
		||||
# users' mailboxes that have been shared. Public namespaces are for shared
 | 
			
		||||
# mailboxes that are managed by sysadmin. If you create any shared or public
 | 
			
		||||
# namespaces you'll typically want to enable ACL plugin also, otherwise all
 | 
			
		||||
# users can access all the shared mailboxes, assuming they have permissions
 | 
			
		||||
# on filesystem level to do so.
 | 
			
		||||
namespace inbox {
 | 
			
		||||
  # Namespace type: private, shared or public
 | 
			
		||||
  #type = private
 | 
			
		||||
 | 
			
		||||
  # Hierarchy separator to use. You should use the same separator for all
 | 
			
		||||
  # namespaces or some clients get confused. '/' is usually a good one.
 | 
			
		||||
  # The default however depends on the underlying mail storage format.
 | 
			
		||||
  #separator = 
 | 
			
		||||
 | 
			
		||||
  # Prefix required to access this namespace. This needs to be different for
 | 
			
		||||
  # all namespaces. For example "Public/".
 | 
			
		||||
  #prefix = 
 | 
			
		||||
 | 
			
		||||
  # Physical location of the mailbox. This is in same format as
 | 
			
		||||
  # mail_location, which is also the default for it.
 | 
			
		||||
  #location =
 | 
			
		||||
 | 
			
		||||
  # There can be only one INBOX, and this setting defines which namespace
 | 
			
		||||
  # has it.
 | 
			
		||||
  inbox = yes
 | 
			
		||||
 | 
			
		||||
  # If namespace is hidden, it's not advertised to clients via NAMESPACE
 | 
			
		||||
  # extension. You'll most likely also want to set list=no. This is mostly
 | 
			
		||||
  # useful when converting from another server with different namespaces which
 | 
			
		||||
  # you want to deprecate but still keep working. For example you can create
 | 
			
		||||
  # hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/".
 | 
			
		||||
  #hidden = no
 | 
			
		||||
 | 
			
		||||
  # Show the mailboxes under this namespace with LIST command. This makes the
 | 
			
		||||
  # namespace visible for clients that don't support NAMESPACE extension.
 | 
			
		||||
  # "children" value lists child mailboxes, but hides the namespace prefix.
 | 
			
		||||
  #list = yes
 | 
			
		||||
 | 
			
		||||
  # Namespace handles its own subscriptions. If set to "no", the parent
 | 
			
		||||
  # namespace handles them (empty prefix should always have this as "yes")
 | 
			
		||||
  #subscriptions = yes
 | 
			
		||||
 | 
			
		||||
  # See 15-mailboxes.conf for definitions of special mailboxes.
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Example shared namespace configuration
 | 
			
		||||
#namespace {
 | 
			
		||||
  #type = shared
 | 
			
		||||
  #separator = /
 | 
			
		||||
 | 
			
		||||
  # Mailboxes are visible under "shared/user@domain/"
 | 
			
		||||
  # %%n, %%d and %%u are expanded to the destination user.
 | 
			
		||||
  #prefix = shared/%%u/
 | 
			
		||||
 | 
			
		||||
  # Mail location for other users' mailboxes. Note that %variables and ~/
 | 
			
		||||
  # expands to the logged in user's data. %%n, %%d, %%u and %%h expand to the
 | 
			
		||||
  # destination user's data.
 | 
			
		||||
  #location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
 | 
			
		||||
 | 
			
		||||
  # Use the default namespace for saving subscriptions.
 | 
			
		||||
  #subscriptions = no
 | 
			
		||||
 | 
			
		||||
  # List the shared/ namespace only if there are visible shared mailboxes.
 | 
			
		||||
  #list = children
 | 
			
		||||
#}
 | 
			
		||||
# Should shared INBOX be visible as "shared/user" or "shared/user/INBOX"?
 | 
			
		||||
#mail_shared_explicit_inbox = no
 | 
			
		||||
 | 
			
		||||
# System user and group used to access mails. If you use multiple, userdb
 | 
			
		||||
# can override these by returning uid or gid fields. You can use either numbers
 | 
			
		||||
# or names. <doc/wiki/UserIds.txt>
 | 
			
		||||
#mail_uid =
 | 
			
		||||
#mail_gid =
 | 
			
		||||
 | 
			
		||||
# Group to enable temporarily for privileged operations. Currently this is
 | 
			
		||||
# used only with INBOX when either its initial creation or dotlocking fails.
 | 
			
		||||
# Typically this is set to "mail" to give access to /var/mail.
 | 
			
		||||
#mail_privileged_group =
 | 
			
		||||
 | 
			
		||||
# Grant access to these supplementary groups for mail processes. Typically
 | 
			
		||||
# these are used to set up access to shared mailboxes. Note that it may be
 | 
			
		||||
# dangerous to set these if users can create symlinks (e.g. if "mail" group is
 | 
			
		||||
# set here, ln -s /var/mail ~/mail/var could allow a user to delete others'
 | 
			
		||||
# mailboxes, or ln -s /secret/shared/box ~/mail/mybox would allow reading it).
 | 
			
		||||
#mail_access_groups =
 | 
			
		||||
 | 
			
		||||
# Allow full filesystem access to clients. There's no access checks other than
 | 
			
		||||
# what the operating system does for the active UID/GID. It works with both
 | 
			
		||||
# maildir and mboxes, allowing you to prefix mailboxes names with eg. /path/
 | 
			
		||||
# or ~user/.
 | 
			
		||||
#mail_full_filesystem_access = no
 | 
			
		||||
 | 
			
		||||
# Dictionary for key=value mailbox attributes. This is used for example by
 | 
			
		||||
# URLAUTH and METADATA extensions.
 | 
			
		||||
#mail_attribute_dict =
 | 
			
		||||
 | 
			
		||||
# A comment or note that is associated with the server. This value is
 | 
			
		||||
# accessible for authenticated users through the IMAP METADATA server
 | 
			
		||||
# entry "/shared/comment". 
 | 
			
		||||
#mail_server_comment = ""
 | 
			
		||||
 | 
			
		||||
# Indicates a method for contacting the server administrator. According to
 | 
			
		||||
# RFC 5464, this value MUST be a URI (e.g., a mailto: or tel: URL), but that
 | 
			
		||||
# is currently not enforced. Use for example mailto:admin@example.com. This
 | 
			
		||||
# value is accessible for authenticated users through the IMAP METADATA server
 | 
			
		||||
# entry "/shared/admin".
 | 
			
		||||
#mail_server_admin = 
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Mail processes
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Don't use mmap() at all. This is required if you store indexes to shared
 | 
			
		||||
# filesystems (NFS or clustered filesystem).
 | 
			
		||||
#mmap_disable = no
 | 
			
		||||
 | 
			
		||||
# Rely on O_EXCL to work when creating dotlock files. NFS supports O_EXCL
 | 
			
		||||
# since version 3, so this should be safe to use nowadays by default.
 | 
			
		||||
#dotlock_use_excl = yes
 | 
			
		||||
 | 
			
		||||
# When to use fsync() or fdatasync() calls:
 | 
			
		||||
#   optimized (default): Whenever necessary to avoid losing important data
 | 
			
		||||
#   always: Useful with e.g. NFS when write()s are delayed
 | 
			
		||||
#   never: Never use it (best performance, but crashes can lose data)
 | 
			
		||||
#mail_fsync = optimized
 | 
			
		||||
 | 
			
		||||
# Locking method for index files. Alternatives are fcntl, flock and dotlock.
 | 
			
		||||
# Dotlocking uses some tricks which may create more disk I/O than other locking
 | 
			
		||||
# methods. NFS users: flock doesn't work, remember to change mmap_disable.
 | 
			
		||||
#lock_method = fcntl
 | 
			
		||||
 | 
			
		||||
# Directory where mails can be temporarily stored. Usually it's used only for
 | 
			
		||||
# mails larger than >= 128 kB. It's used by various parts of Dovecot, for
 | 
			
		||||
# example LDA/LMTP while delivering large mails or zlib plugin for keeping
 | 
			
		||||
# uncompressed mails.
 | 
			
		||||
#mail_temp_dir = /tmp
 | 
			
		||||
 | 
			
		||||
# Valid UID range for users, defaults to 500 and above. This is mostly
 | 
			
		||||
# to make sure that users can't log in as daemons or other system users.
 | 
			
		||||
# Note that denying root logins is hardcoded to dovecot binary and can't
 | 
			
		||||
# be done even if first_valid_uid is set to 0.
 | 
			
		||||
#first_valid_uid = 500
 | 
			
		||||
#last_valid_uid = 0
 | 
			
		||||
 | 
			
		||||
# Valid GID range for users, defaults to non-root/wheel. Users having
 | 
			
		||||
# non-valid GID as primary group ID aren't allowed to log in. If user
 | 
			
		||||
# belongs to supplementary groups with non-valid GIDs, those groups are
 | 
			
		||||
# not set.
 | 
			
		||||
#first_valid_gid = 1
 | 
			
		||||
#last_valid_gid = 0
 | 
			
		||||
 | 
			
		||||
# Maximum allowed length for mail keyword name. It's only forced when trying
 | 
			
		||||
# to create new keywords.
 | 
			
		||||
#mail_max_keyword_length = 50
 | 
			
		||||
 | 
			
		||||
# ':' separated list of directories under which chrooting is allowed for mail
 | 
			
		||||
# processes (ie. /var/mail will allow chrooting to /var/mail/foo/bar too).
 | 
			
		||||
# This setting doesn't affect login_chroot, mail_chroot or auth chroot
 | 
			
		||||
# settings. If this setting is empty, "/./" in home dirs are ignored.
 | 
			
		||||
# WARNING: Never add directories here which local users can modify, that
 | 
			
		||||
# may lead to root exploit. Usually this should be done only if you don't
 | 
			
		||||
# allow shell access for users. <doc/wiki/Chrooting.txt>
 | 
			
		||||
#valid_chroot_dirs = 
 | 
			
		||||
 | 
			
		||||
# Default chroot directory for mail processes. This can be overridden for
 | 
			
		||||
# specific users in user database by giving /./ in user's home directory
 | 
			
		||||
# (eg. /home/./user chroots into /home). Note that usually there is no real
 | 
			
		||||
# need to do chrooting, Dovecot doesn't allow users to access files outside
 | 
			
		||||
# their mail directory anyway. If your home directories are prefixed with
 | 
			
		||||
# the chroot directory, append "/." to mail_chroot. <doc/wiki/Chrooting.txt>
 | 
			
		||||
#mail_chroot = 
 | 
			
		||||
 | 
			
		||||
# UNIX socket path to master authentication server to find users.
 | 
			
		||||
# This is used by imap (for shared users) and lda.
 | 
			
		||||
#auth_socket_path = /var/run/dovecot/auth-userdb
 | 
			
		||||
 | 
			
		||||
# Directory where to look up mail plugins.
 | 
			
		||||
#mail_plugin_dir = /usr/lib/dovecot
 | 
			
		||||
 | 
			
		||||
# Space separated list of plugins to load for all services. Plugins specific to
 | 
			
		||||
# IMAP, LDA, etc. are added to this list in their own .conf files.
 | 
			
		||||
#mail_plugins = 
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Mailbox handling optimizations
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Mailbox list indexes can be used to optimize IMAP STATUS commands. They are
 | 
			
		||||
# also required for IMAP NOTIFY extension to be enabled.
 | 
			
		||||
#mailbox_list_index = yes
 | 
			
		||||
 | 
			
		||||
# Trust mailbox list index to be up-to-date. This reduces disk I/O at the cost
 | 
			
		||||
# of potentially returning out-of-date results after e.g. server crashes.
 | 
			
		||||
# The results will be automatically fixed once the folders are opened.
 | 
			
		||||
#mailbox_list_index_very_dirty_syncs = yes
 | 
			
		||||
 | 
			
		||||
# Should INBOX be kept up-to-date in the mailbox list index? By default it's
 | 
			
		||||
# not, because most of the mailbox accesses will open INBOX anyway.
 | 
			
		||||
#mailbox_list_index_include_inbox = no
 | 
			
		||||
 | 
			
		||||
# The minimum number of mails in a mailbox before updates are done to cache
 | 
			
		||||
# file. This allows optimizing Dovecot's behavior to do less disk writes at
 | 
			
		||||
# the cost of more disk reads.
 | 
			
		||||
#mail_cache_min_mail_count = 0
 | 
			
		||||
 | 
			
		||||
# When IDLE command is running, mailbox is checked once in a while to see if
 | 
			
		||||
# there are any new mails or other changes. This setting defines the minimum
 | 
			
		||||
# time to wait between those checks. Dovecot can also use inotify and
 | 
			
		||||
# kqueue to find out immediately when changes occur.
 | 
			
		||||
#mailbox_idle_check_interval = 30 secs
 | 
			
		||||
 | 
			
		||||
# Save mails with CR+LF instead of plain LF. This makes sending those mails
 | 
			
		||||
# take less CPU, especially with sendfile() syscall with Linux and FreeBSD.
 | 
			
		||||
# But it also creates a bit more disk I/O which may just make it slower.
 | 
			
		||||
# Also note that if other software reads the mboxes/maildirs, they may handle
 | 
			
		||||
# the extra CRs wrong and cause problems.
 | 
			
		||||
#mail_save_crlf = no
 | 
			
		||||
 | 
			
		||||
# Max number of mails to keep open and prefetch to memory. This only works with
 | 
			
		||||
# some mailbox formats and/or operating systems.
 | 
			
		||||
#mail_prefetch_count = 0
 | 
			
		||||
 | 
			
		||||
# How often to scan for stale temporary files and delete them (0 = never).
 | 
			
		||||
# These should exist only after Dovecot dies in the middle of saving mails.
 | 
			
		||||
#mail_temp_scan_interval = 1w
 | 
			
		||||
 | 
			
		||||
# How many slow mail accesses sorting can perform before it returns failure.
 | 
			
		||||
# With IMAP the reply is: NO [LIMIT] Requested sort would have taken too long.
 | 
			
		||||
# The untagged SORT reply is still returned, but it's likely not correct.
 | 
			
		||||
#mail_sort_max_read_count = 0
 | 
			
		||||
 | 
			
		||||
protocol !indexer-worker {
 | 
			
		||||
  # If folder vsize calculation requires opening more than this many mails from
 | 
			
		||||
  # disk (i.e. mail sizes aren't in cache already), return failure and finish
 | 
			
		||||
  # the calculation via indexer process. Disabled by default. This setting must
 | 
			
		||||
  # be 0 for indexer-worker processes.
 | 
			
		||||
  #mail_vsize_bg_after_count = 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Maildir-specific settings
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# By default LIST command returns all entries in maildir beginning with a dot.
 | 
			
		||||
# Enabling this option makes Dovecot return only entries which are directories.
 | 
			
		||||
# This is done by stat()ing each entry, so it causes more disk I/O.
 | 
			
		||||
# (For systems setting struct dirent->d_type, this check is free and it's
 | 
			
		||||
# done always regardless of this setting)
 | 
			
		||||
#maildir_stat_dirs = no
 | 
			
		||||
 | 
			
		||||
# When copying a message, do it with hard links whenever possible. This makes
 | 
			
		||||
# the performance much better, and it's unlikely to have any side effects.
 | 
			
		||||
#maildir_copy_with_hardlinks = yes
 | 
			
		||||
 | 
			
		||||
# Assume Dovecot is the only MUA accessing Maildir: Scan cur/ directory only
 | 
			
		||||
# when its mtime changes unexpectedly or when we can't find the mail otherwise.
 | 
			
		||||
#maildir_very_dirty_syncs = no
 | 
			
		||||
 | 
			
		||||
# If enabled, Dovecot doesn't use the S=<size> in the Maildir filenames for
 | 
			
		||||
# getting the mail's physical size, except when recalculating Maildir++ quota.
 | 
			
		||||
# This can be useful in systems where a lot of the Maildir filenames have a
 | 
			
		||||
# broken size. The performance hit for enabling this is very small.
 | 
			
		||||
#maildir_broken_filename_sizes = no
 | 
			
		||||
 | 
			
		||||
# Always move mails from new/ directory to cur/, even when the \Recent flags
 | 
			
		||||
# aren't being reset.
 | 
			
		||||
#maildir_empty_new = no
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## mbox-specific settings
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Which locking methods to use for locking mbox. There are four available:
 | 
			
		||||
#  dotlock: Create <mailbox>.lock file. This is the oldest and most NFS-safe
 | 
			
		||||
#           solution. If you want to use /var/mail/ like directory, the users
 | 
			
		||||
#           will need write access to that directory.
 | 
			
		||||
#  dotlock_try: Same as dotlock, but if it fails because of permissions or
 | 
			
		||||
#               because there isn't enough disk space, just skip it.
 | 
			
		||||
#  fcntl  : Use this if possible. Works with NFS too if lockd is used.
 | 
			
		||||
#  flock  : May not exist in all systems. Doesn't work with NFS.
 | 
			
		||||
#  lockf  : May not exist in all systems. Doesn't work with NFS.
 | 
			
		||||
#
 | 
			
		||||
# You can use multiple locking methods; if you do the order they're declared
 | 
			
		||||
# in is important to avoid deadlocks if other MTAs/MUAs are using multiple
 | 
			
		||||
# locking methods as well. Some operating systems don't allow using some of
 | 
			
		||||
# them simultaneously.
 | 
			
		||||
#mbox_read_locks = fcntl
 | 
			
		||||
#mbox_write_locks = dotlock fcntl
 | 
			
		||||
 | 
			
		||||
# Maximum time to wait for lock (all of them) before aborting.
 | 
			
		||||
#mbox_lock_timeout = 5 mins
 | 
			
		||||
 | 
			
		||||
# If dotlock exists but the mailbox isn't modified in any way, override the
 | 
			
		||||
# lock file after this much time.
 | 
			
		||||
#mbox_dotlock_change_timeout = 2 mins
 | 
			
		||||
 | 
			
		||||
# When mbox changes unexpectedly we have to fully read it to find out what
 | 
			
		||||
# changed. If the mbox is large this can take a long time. Since the change
 | 
			
		||||
# is usually just a newly appended mail, it'd be faster to simply read the
 | 
			
		||||
# new mails. If this setting is enabled, Dovecot does this but still safely
 | 
			
		||||
# fallbacks to re-reading the whole mbox file whenever something in mbox isn't
 | 
			
		||||
# how it's expected to be. The only real downside to this setting is that if
 | 
			
		||||
# some other MUA changes message flags, Dovecot doesn't notice it immediately.
 | 
			
		||||
# Note that a full sync is done with SELECT, EXAMINE, EXPUNGE and CHECK 
 | 
			
		||||
# commands.
 | 
			
		||||
#mbox_dirty_syncs = yes
 | 
			
		||||
 | 
			
		||||
# Like mbox_dirty_syncs, but don't do full syncs even with SELECT, EXAMINE,
 | 
			
		||||
# EXPUNGE or CHECK commands. If this is set, mbox_dirty_syncs is ignored.
 | 
			
		||||
#mbox_very_dirty_syncs = no
 | 
			
		||||
 | 
			
		||||
# Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK
 | 
			
		||||
# commands and when closing the mailbox). This is especially useful for POP3
 | 
			
		||||
# where clients often delete all mails. The downside is that our changes
 | 
			
		||||
# aren't immediately visible to other MUAs.
 | 
			
		||||
#mbox_lazy_writes = yes
 | 
			
		||||
 | 
			
		||||
# If mbox size is smaller than this (e.g. 100k), don't write index files.
 | 
			
		||||
# If an index file already exists it's still read, just not updated.
 | 
			
		||||
#mbox_min_index_size = 0
 | 
			
		||||
 | 
			
		||||
# Mail header selection algorithm to use for MD5 POP3 UIDLs when
 | 
			
		||||
# pop3_uidl_format=%m. For backwards compatibility we use apop3d inspired
 | 
			
		||||
# algorithm, but it fails if the first Received: header isn't unique in all
 | 
			
		||||
# mails. An alternative algorithm is "all" that selects all headers.
 | 
			
		||||
#mbox_md5 = apop3d
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## mdbox-specific settings
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Maximum dbox file size until it's rotated.
 | 
			
		||||
#mdbox_rotate_size = 10M
 | 
			
		||||
 | 
			
		||||
# Maximum dbox file age until it's rotated. Typically in days. Day begins
 | 
			
		||||
# from midnight, so 1d = today, 2d = yesterday, etc. 0 = check disabled.
 | 
			
		||||
#mdbox_rotate_interval = 0
 | 
			
		||||
 | 
			
		||||
# When creating new mdbox files, immediately preallocate their size to
 | 
			
		||||
# mdbox_rotate_size. This setting currently works only in Linux with some
 | 
			
		||||
# filesystems (ext4, xfs).
 | 
			
		||||
#mdbox_preallocate_space = no
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Mail attachments
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# sdbox and mdbox support saving mail attachments to external files, which
 | 
			
		||||
# also allows single instance storage for them. Other backends don't support
 | 
			
		||||
# this for now.
 | 
			
		||||
 | 
			
		||||
# Directory root where to store mail attachments. Disabled, if empty.
 | 
			
		||||
#mail_attachment_dir =
 | 
			
		||||
 | 
			
		||||
# Attachments smaller than this aren't saved externally. It's also possible to
 | 
			
		||||
# write a plugin to disable saving specific attachments externally.
 | 
			
		||||
#mail_attachment_min_size = 128k
 | 
			
		||||
 | 
			
		||||
# Filesystem backend to use for saving attachments:
 | 
			
		||||
#  posix : No SiS done by Dovecot (but this might help FS's own deduplication)
 | 
			
		||||
#  sis posix : SiS with immediate byte-by-byte comparison during saving
 | 
			
		||||
#  sis-queue posix : SiS with delayed comparison and deduplication
 | 
			
		||||
#mail_attachment_fs = sis posix
 | 
			
		||||
 | 
			
		||||
# Hash format to use in attachment filenames. You can add any text and
 | 
			
		||||
# variables: %{md4}, %{md5}, %{sha1}, %{sha256}, %{sha512}, %{size}.
 | 
			
		||||
# Variables can be truncated, e.g. %{sha256:80} returns only first 80 bits
 | 
			
		||||
#mail_attachment_hash = %{sha1}
 | 
			
		||||
 | 
			
		||||
# Settings to control adding $HasAttachment or $HasNoAttachment keywords.
 | 
			
		||||
# By default, all MIME parts with Content-Disposition=attachment, or inlines
 | 
			
		||||
# with filename parameter are consired attachments.
 | 
			
		||||
#   add-flags-on-save - Add the keywords when saving new mails.
 | 
			
		||||
#   content-type=type or !type - Include/exclude content type. Excluding will
 | 
			
		||||
#     never consider the matched MIME part as attachment. Including will only
 | 
			
		||||
#     negate an exclusion (e.g. content-type=!foo/* content-type=foo/bar).
 | 
			
		||||
#   exclude-inlined - Exclude any Content-Disposition=inline MIME part.
 | 
			
		||||
#mail_attachment_detection_options =
 | 
			
		||||
							
								
								
									
										130
									
								
								jails/config/mail/dovecot/example-config/conf.d/10-master.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								jails/config/mail/dovecot/example-config/conf.d/10-master.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,130 @@
 | 
			
		||||
#default_process_limit = 100
 | 
			
		||||
#default_client_limit = 1000
 | 
			
		||||
 | 
			
		||||
# Default VSZ (virtual memory size) limit for service processes. This is mainly
 | 
			
		||||
# intended to catch and kill processes that leak memory before they eat up
 | 
			
		||||
# everything.
 | 
			
		||||
#default_vsz_limit = 256M
 | 
			
		||||
 | 
			
		||||
# Login user is internally used by login processes. This is the most untrusted
 | 
			
		||||
# user in Dovecot system. It shouldn't have access to anything at all.
 | 
			
		||||
#default_login_user = dovenull
 | 
			
		||||
 | 
			
		||||
# Internal user is used by unprivileged processes. It should be separate from
 | 
			
		||||
# login user, so that login processes can't disturb other processes.
 | 
			
		||||
#default_internal_user = dovecot
 | 
			
		||||
 | 
			
		||||
service imap-login {
 | 
			
		||||
  inet_listener imap {
 | 
			
		||||
    #port = 143
 | 
			
		||||
  }
 | 
			
		||||
  inet_listener imaps {
 | 
			
		||||
    #port = 993
 | 
			
		||||
    #ssl = yes
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # Number of connections to handle before starting a new process. Typically
 | 
			
		||||
  # the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
 | 
			
		||||
  # is faster. <doc/wiki/LoginProcess.txt>
 | 
			
		||||
  #service_count = 1
 | 
			
		||||
 | 
			
		||||
  # Number of processes to always keep waiting for more connections.
 | 
			
		||||
  #process_min_avail = 0
 | 
			
		||||
 | 
			
		||||
  # If you set service_count=0, you probably need to grow this.
 | 
			
		||||
  #vsz_limit = $default_vsz_limit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
service pop3-login {
 | 
			
		||||
  inet_listener pop3 {
 | 
			
		||||
    #port = 110
 | 
			
		||||
  }
 | 
			
		||||
  inet_listener pop3s {
 | 
			
		||||
    #port = 995
 | 
			
		||||
    #ssl = yes
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
service submission-login {
 | 
			
		||||
  inet_listener submission {
 | 
			
		||||
    #port = 587
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
service lmtp {
 | 
			
		||||
  unix_listener lmtp {
 | 
			
		||||
    #mode = 0666
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # Create inet listener only if you can't use the above UNIX socket
 | 
			
		||||
  #inet_listener lmtp {
 | 
			
		||||
    # Avoid making LMTP visible for the entire internet
 | 
			
		||||
    #address =
 | 
			
		||||
    #port = 
 | 
			
		||||
  #}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
service imap {
 | 
			
		||||
  # Most of the memory goes to mmap()ing files. You may need to increase this
 | 
			
		||||
  # limit if you have huge mailboxes.
 | 
			
		||||
  #vsz_limit = $default_vsz_limit
 | 
			
		||||
 | 
			
		||||
  # Max. number of IMAP processes (connections)
 | 
			
		||||
  #process_limit = 1024
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
service pop3 {
 | 
			
		||||
  # Max. number of POP3 processes (connections)
 | 
			
		||||
  #process_limit = 1024
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
service submission {
 | 
			
		||||
  # Max. number of SMTP Submission processes (connections)
 | 
			
		||||
  #process_limit = 1024
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
service auth {
 | 
			
		||||
  # auth_socket_path points to this userdb socket by default. It's typically
 | 
			
		||||
  # used by dovecot-lda, doveadm, possibly imap process, etc. Users that have
 | 
			
		||||
  # full permissions to this socket are able to get a list of all usernames and
 | 
			
		||||
  # get the results of everyone's userdb lookups.
 | 
			
		||||
  #
 | 
			
		||||
  # The default 0666 mode allows anyone to connect to the socket, but the
 | 
			
		||||
  # userdb lookups will succeed only if the userdb returns an "uid" field that
 | 
			
		||||
  # matches the caller process's UID. Also if caller's uid or gid matches the
 | 
			
		||||
  # socket's uid or gid the lookup succeeds. Anything else causes a failure.
 | 
			
		||||
  #
 | 
			
		||||
  # To give the caller full permissions to lookup all users, set the mode to
 | 
			
		||||
  # something else than 0666 and Dovecot lets the kernel enforce the
 | 
			
		||||
  # permissions (e.g. 0777 allows everyone full permissions).
 | 
			
		||||
  unix_listener auth-userdb {
 | 
			
		||||
    #mode = 0666
 | 
			
		||||
    #user = 
 | 
			
		||||
    #group = 
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # Postfix smtp-auth
 | 
			
		||||
  #unix_listener /var/spool/postfix/private/auth {
 | 
			
		||||
  #  mode = 0666
 | 
			
		||||
  #}
 | 
			
		||||
 | 
			
		||||
  # Auth process is run as this user.
 | 
			
		||||
  #user = $default_internal_user
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
service auth-worker {
 | 
			
		||||
  # Auth worker process is run as root by default, so that it can access
 | 
			
		||||
  # /etc/shadow. If this isn't necessary, the user should be changed to
 | 
			
		||||
  # $default_internal_user.
 | 
			
		||||
  #user = root
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
service dict {
 | 
			
		||||
  # If dict proxy is used, mail processes should have access to its socket.
 | 
			
		||||
  # For example: mode=0660, group=vmail and global mail_access_groups=vmail
 | 
			
		||||
  unix_listener dict {
 | 
			
		||||
    #mode = 0600
 | 
			
		||||
    #user = 
 | 
			
		||||
    #group = 
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										78
									
								
								jails/config/mail/dovecot/example-config/conf.d/10-ssl.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								jails/config/mail/dovecot/example-config/conf.d/10-ssl.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,78 @@
 | 
			
		||||
##
 | 
			
		||||
## SSL settings
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
 | 
			
		||||
#ssl = yes
 | 
			
		||||
 | 
			
		||||
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
 | 
			
		||||
# dropping root privileges, so keep the key file unreadable by anyone but
 | 
			
		||||
# root. Included doc/mkcert.sh can be used to easily generate self-signed
 | 
			
		||||
# certificate, just make sure to update the domains in dovecot-openssl.cnf
 | 
			
		||||
ssl_cert = </etc/ssl/certs/dovecot.pem
 | 
			
		||||
ssl_key = </etc/ssl/private/dovecot.pem
 | 
			
		||||
 | 
			
		||||
# If key file is password protected, give the password here. Alternatively
 | 
			
		||||
# give it when starting dovecot with -p parameter. Since this file is often
 | 
			
		||||
# world-readable, you may want to place this setting instead to a different
 | 
			
		||||
# root owned 0600 file by using ssl_key_password = <path.
 | 
			
		||||
#ssl_key_password =
 | 
			
		||||
 | 
			
		||||
# PEM encoded trusted certificate authority. Set this only if you intend to use
 | 
			
		||||
# ssl_verify_client_cert=yes. The file should contain the CA certificate(s)
 | 
			
		||||
# followed by the matching CRL(s). (e.g. ssl_ca = </etc/ssl/certs/ca.pem)
 | 
			
		||||
#ssl_ca = 
 | 
			
		||||
 | 
			
		||||
# Require that CRL check succeeds for client certificates.
 | 
			
		||||
#ssl_require_crl = yes
 | 
			
		||||
 | 
			
		||||
# Directory and/or file for trusted SSL CA certificates. These are used only
 | 
			
		||||
# when Dovecot needs to act as an SSL client (e.g. imapc backend or
 | 
			
		||||
# submission service). The directory is usually /etc/ssl/certs in
 | 
			
		||||
# Debian-based systems and the file is /etc/pki/tls/cert.pem in
 | 
			
		||||
# RedHat-based systems.
 | 
			
		||||
#ssl_client_ca_dir =
 | 
			
		||||
#ssl_client_ca_file =
 | 
			
		||||
 | 
			
		||||
# Require valid cert when connecting to a remote server
 | 
			
		||||
#ssl_client_require_valid_cert = yes
 | 
			
		||||
 | 
			
		||||
# Request client to send a certificate. If you also want to require it, set
 | 
			
		||||
# auth_ssl_require_client_cert=yes in auth section.
 | 
			
		||||
#ssl_verify_client_cert = no
 | 
			
		||||
 | 
			
		||||
# Which field from certificate to use for username. commonName and
 | 
			
		||||
# x500UniqueIdentifier are the usual choices. You'll also need to set
 | 
			
		||||
# auth_ssl_username_from_cert=yes.
 | 
			
		||||
#ssl_cert_username_field = commonName
 | 
			
		||||
 | 
			
		||||
# SSL DH parameters
 | 
			
		||||
# Generate new params with `openssl dhparam -out /usr/local/etc/dovecot/dh.pem 4096`
 | 
			
		||||
# Or migrate from old ssl-parameters.dat file with the command dovecot
 | 
			
		||||
# gives on startup when ssl_dh is unset.
 | 
			
		||||
#ssl_dh = </usr/local/etc/dovecot/dh.pem
 | 
			
		||||
 | 
			
		||||
# Minimum SSL protocol version to use. Potentially recognized values are SSLv3,
 | 
			
		||||
# TLSv1, TLSv1.1, and TLSv1.2, depending on the OpenSSL version used.
 | 
			
		||||
#ssl_min_protocol = TLSv1
 | 
			
		||||
 | 
			
		||||
# SSL ciphers to use, the default is:
 | 
			
		||||
#ssl_cipher_list = ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH
 | 
			
		||||
# To disable non-EC DH, use:
 | 
			
		||||
#ssl_cipher_list = ALL:!DH:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH
 | 
			
		||||
 | 
			
		||||
# Colon separated list of elliptic curves to use. Empty value (the default)
 | 
			
		||||
# means use the defaults from the SSL library. P-521:P-384:P-256 would be an
 | 
			
		||||
# example of a valid value.
 | 
			
		||||
#ssl_curve_list =
 | 
			
		||||
 | 
			
		||||
# Prefer the server's order of ciphers over client's.
 | 
			
		||||
#ssl_prefer_server_ciphers = no
 | 
			
		||||
 | 
			
		||||
# SSL crypto device to use, for valid values run "openssl engine"
 | 
			
		||||
#ssl_crypto_device =
 | 
			
		||||
 | 
			
		||||
# SSL extra options. Currently supported options are:
 | 
			
		||||
#   compression - Enable compression.
 | 
			
		||||
#   no_ticket - Disable SSL session tickets.
 | 
			
		||||
#ssl_options =
 | 
			
		||||
							
								
								
									
										48
									
								
								jails/config/mail/dovecot/example-config/conf.d/15-lda.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								jails/config/mail/dovecot/example-config/conf.d/15-lda.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,48 @@
 | 
			
		||||
##
 | 
			
		||||
## LDA specific settings (also used by LMTP)
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Address to use when sending rejection mails.
 | 
			
		||||
# Default is postmaster@%d. %d expands to recipient domain.
 | 
			
		||||
#postmaster_address =
 | 
			
		||||
 | 
			
		||||
# Hostname to use in various parts of sent mails (e.g. in Message-Id) and
 | 
			
		||||
# in LMTP replies. Default is the system's real hostname@domain.
 | 
			
		||||
#hostname = 
 | 
			
		||||
 | 
			
		||||
# If user is over quota, return with temporary failure instead of
 | 
			
		||||
# bouncing the mail.
 | 
			
		||||
#quota_full_tempfail = no
 | 
			
		||||
 | 
			
		||||
# Binary to use for sending mails.
 | 
			
		||||
#sendmail_path = /usr/sbin/sendmail
 | 
			
		||||
 | 
			
		||||
# If non-empty, send mails via this SMTP host[:port] instead of sendmail.
 | 
			
		||||
#submission_host =
 | 
			
		||||
 | 
			
		||||
# Subject: header to use for rejection mails. You can use the same variables
 | 
			
		||||
# as for rejection_reason below.
 | 
			
		||||
#rejection_subject = Rejected: %s
 | 
			
		||||
 | 
			
		||||
# Human readable error message for rejection mails. You can use variables:
 | 
			
		||||
#  %n = CRLF, %r = reason, %s = original subject, %t = recipient
 | 
			
		||||
#rejection_reason = Your message to <%t> was automatically rejected:%n%r
 | 
			
		||||
 | 
			
		||||
# Delimiter character between local-part and detail in email address.
 | 
			
		||||
#recipient_delimiter = +
 | 
			
		||||
 | 
			
		||||
# Header where the original recipient address (SMTP's RCPT TO: address) is taken
 | 
			
		||||
# from if not available elsewhere. With dovecot-lda -a parameter overrides this. 
 | 
			
		||||
# A commonly used header for this is X-Original-To.
 | 
			
		||||
#lda_original_recipient_header =
 | 
			
		||||
 | 
			
		||||
# Should saving a mail to a nonexistent mailbox automatically create it?
 | 
			
		||||
#lda_mailbox_autocreate = no
 | 
			
		||||
 | 
			
		||||
# Should automatically created mailboxes be also automatically subscribed?
 | 
			
		||||
#lda_mailbox_autosubscribe = no
 | 
			
		||||
 | 
			
		||||
protocol lda {
 | 
			
		||||
  # Space separated list of plugins to load (default is global mail_plugins).
 | 
			
		||||
  #mail_plugins = $mail_plugins
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,78 @@
 | 
			
		||||
##
 | 
			
		||||
## Mailbox definitions
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Each mailbox is specified in a separate mailbox section. The section name
 | 
			
		||||
# specifies the mailbox name. If it has spaces, you can put the name
 | 
			
		||||
# "in quotes". These sections can contain the following mailbox settings:
 | 
			
		||||
#
 | 
			
		||||
# auto:
 | 
			
		||||
#   Indicates whether the mailbox with this name is automatically created
 | 
			
		||||
#   implicitly when it is first accessed. The user can also be automatically
 | 
			
		||||
#   subscribed to the mailbox after creation. The following values are
 | 
			
		||||
#   defined for this setting:
 | 
			
		||||
# 
 | 
			
		||||
#     no        - Never created automatically.
 | 
			
		||||
#     create    - Automatically created, but no automatic subscription.
 | 
			
		||||
#     subscribe - Automatically created and subscribed.
 | 
			
		||||
#  
 | 
			
		||||
# special_use:
 | 
			
		||||
#   A space-separated list of SPECIAL-USE flags (RFC 6154) to use for the
 | 
			
		||||
#   mailbox. There are no validity checks, so you could specify anything
 | 
			
		||||
#   you want in here, but it's not a good idea to use flags other than the
 | 
			
		||||
#   standard ones specified in the RFC:
 | 
			
		||||
#
 | 
			
		||||
#     \All      - This (virtual) mailbox presents all messages in the
 | 
			
		||||
#                 user's message store. 
 | 
			
		||||
#     \Archive  - This mailbox is used to archive messages.
 | 
			
		||||
#     \Drafts   - This mailbox is used to hold draft messages.
 | 
			
		||||
#     \Flagged  - This (virtual) mailbox presents all messages in the
 | 
			
		||||
#                 user's message store marked with the IMAP \Flagged flag.
 | 
			
		||||
#     \Junk     - This mailbox is where messages deemed to be junk mail
 | 
			
		||||
#                 are held.
 | 
			
		||||
#     \Sent     - This mailbox is used to hold copies of messages that
 | 
			
		||||
#                 have been sent.
 | 
			
		||||
#     \Trash    - This mailbox is used to hold messages that have been
 | 
			
		||||
#                 deleted.
 | 
			
		||||
#
 | 
			
		||||
# comment:
 | 
			
		||||
#   Defines a default comment or note associated with the mailbox. This
 | 
			
		||||
#   value is accessible through the IMAP METADATA mailbox entries
 | 
			
		||||
#   "/shared/comment" and "/private/comment". Users with sufficient
 | 
			
		||||
#   privileges can override the default value for entries with a custom
 | 
			
		||||
#   value.
 | 
			
		||||
 | 
			
		||||
# NOTE: Assumes "namespace inbox" has been defined in 10-mail.conf.
 | 
			
		||||
namespace inbox {
 | 
			
		||||
  # These mailboxes are widely used and could perhaps be created automatically:
 | 
			
		||||
  mailbox Drafts {
 | 
			
		||||
    special_use = \Drafts
 | 
			
		||||
  }
 | 
			
		||||
  mailbox Junk {
 | 
			
		||||
    special_use = \Junk
 | 
			
		||||
  }
 | 
			
		||||
  mailbox Trash {
 | 
			
		||||
    special_use = \Trash
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # For \Sent mailboxes there are two widely used names. We'll mark both of
 | 
			
		||||
  # them as \Sent. User typically deletes one of them if duplicates are created.
 | 
			
		||||
  mailbox Sent {
 | 
			
		||||
    special_use = \Sent
 | 
			
		||||
  }
 | 
			
		||||
  mailbox "Sent Messages" {
 | 
			
		||||
    special_use = \Sent
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # If you have a virtual "All messages" mailbox:
 | 
			
		||||
  #mailbox virtual/All {
 | 
			
		||||
  #  special_use = \All
 | 
			
		||||
  #  comment = All my messages
 | 
			
		||||
  #}
 | 
			
		||||
 | 
			
		||||
  # If you have a virtual "Flagged" mailbox:
 | 
			
		||||
  #mailbox virtual/Flagged {
 | 
			
		||||
  #  special_use = \Flagged
 | 
			
		||||
  #  comment = All my flagged messages
 | 
			
		||||
  #}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										98
									
								
								jails/config/mail/dovecot/example-config/conf.d/20-imap.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								jails/config/mail/dovecot/example-config/conf.d/20-imap.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,98 @@
 | 
			
		||||
##
 | 
			
		||||
## IMAP specific settings
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# If nothing happens for this long while client is IDLEing, move the connection
 | 
			
		||||
# to imap-hibernate process and close the old imap process. This saves memory,
 | 
			
		||||
# because connections use very little memory in imap-hibernate process. The
 | 
			
		||||
# downside is that recreating the imap process back uses some resources.
 | 
			
		||||
#imap_hibernate_timeout = 0
 | 
			
		||||
 | 
			
		||||
# Maximum IMAP command line length. Some clients generate very long command
 | 
			
		||||
# lines with huge mailboxes, so you may need to raise this if you get
 | 
			
		||||
# "Too long argument" or "IMAP command line too large" errors often.
 | 
			
		||||
#imap_max_line_length = 64k
 | 
			
		||||
 | 
			
		||||
# IMAP logout format string:
 | 
			
		||||
#  %i - total number of bytes read from client
 | 
			
		||||
#  %o - total number of bytes sent to client
 | 
			
		||||
#  %{fetch_hdr_count} - Number of mails with mail header data sent to client
 | 
			
		||||
#  %{fetch_hdr_bytes} - Number of bytes with mail header data sent to client
 | 
			
		||||
#  %{fetch_body_count} - Number of mails with mail body data sent to client
 | 
			
		||||
#  %{fetch_body_bytes} - Number of bytes with mail body data sent to client
 | 
			
		||||
#  %{deleted} - Number of mails where client added \Deleted flag
 | 
			
		||||
#  %{expunged} - Number of mails that client expunged, which does not
 | 
			
		||||
#                include automatically expunged mails
 | 
			
		||||
#  %{autoexpunged} - Number of mails that were automatically expunged after
 | 
			
		||||
#                    client disconnected
 | 
			
		||||
#  %{trashed} - Number of mails that client copied/moved to the
 | 
			
		||||
#               special_use=\Trash mailbox.
 | 
			
		||||
#  %{appended} - Number of mails saved during the session
 | 
			
		||||
#imap_logout_format = in=%i out=%o deleted=%{deleted} expunged=%{expunged} \
 | 
			
		||||
#  trashed=%{trashed} hdr_count=%{fetch_hdr_count} \
 | 
			
		||||
#  hdr_bytes=%{fetch_hdr_bytes} body_count=%{fetch_body_count} \
 | 
			
		||||
#  body_bytes=%{fetch_body_bytes}
 | 
			
		||||
 | 
			
		||||
# Override the IMAP CAPABILITY response. If the value begins with '+',
 | 
			
		||||
# add the given capabilities on top of the defaults (e.g. +XFOO XBAR).
 | 
			
		||||
#imap_capability = 
 | 
			
		||||
 | 
			
		||||
# How long to wait between "OK Still here" notifications when client is
 | 
			
		||||
# IDLEing.
 | 
			
		||||
#imap_idle_notify_interval = 2 mins
 | 
			
		||||
 | 
			
		||||
# ID field names and values to send to clients. Using * as the value makes
 | 
			
		||||
# Dovecot use the default value. The following fields have default values
 | 
			
		||||
# currently: name, version, os, os-version, support-url, support-email.
 | 
			
		||||
#imap_id_send = 
 | 
			
		||||
 | 
			
		||||
# ID fields sent by client to log. * means everything.
 | 
			
		||||
#imap_id_log =
 | 
			
		||||
 | 
			
		||||
# Workarounds for various client bugs:
 | 
			
		||||
#   delay-newmail:
 | 
			
		||||
#     Send EXISTS/RECENT new mail notifications only when replying to NOOP
 | 
			
		||||
#     and CHECK commands. Some clients ignore them otherwise, for example OSX
 | 
			
		||||
#     Mail (<v2.1). Outlook Express breaks more badly though, without this it
 | 
			
		||||
#     may show user "Message no longer in server" errors. Note that OE6 still
 | 
			
		||||
#     breaks even with this workaround if synchronization is set to
 | 
			
		||||
#     "Headers Only".
 | 
			
		||||
#   tb-extra-mailbox-sep:
 | 
			
		||||
#     Thunderbird gets somehow confused with LAYOUT=fs (mbox and dbox) and
 | 
			
		||||
#     adds extra '/' suffixes to mailbox names. This option causes Dovecot to
 | 
			
		||||
#     ignore the extra '/' instead of treating it as invalid mailbox name.
 | 
			
		||||
#   tb-lsub-flags:
 | 
			
		||||
#     Show \Noselect flags for LSUB replies with LAYOUT=fs (e.g. mbox).
 | 
			
		||||
#     This makes Thunderbird realize they aren't selectable and show them
 | 
			
		||||
#     greyed out, instead of only later giving "not selectable" popup error.
 | 
			
		||||
#
 | 
			
		||||
# The list is space-separated.
 | 
			
		||||
#imap_client_workarounds = 
 | 
			
		||||
 | 
			
		||||
# Host allowed in URLAUTH URLs sent by client. "*" allows all.
 | 
			
		||||
#imap_urlauth_host =
 | 
			
		||||
 | 
			
		||||
# Enable IMAP LITERAL- extension (replaces LITERAL+)
 | 
			
		||||
#imap_literal_minus = no
 | 
			
		||||
 | 
			
		||||
# What happens when FETCH fails due to some internal error:
 | 
			
		||||
#   disconnect-immediately:
 | 
			
		||||
#     The FETCH is aborted immediately and the IMAP client is disconnected.
 | 
			
		||||
#   disconnect-after:
 | 
			
		||||
#     The FETCH runs for all the requested mails returning as much data as
 | 
			
		||||
#     possible. The client is finally disconnected without a tagged reply.
 | 
			
		||||
#   no-after:
 | 
			
		||||
#     Same as disconnect-after, but tagged NO reply is sent instead of
 | 
			
		||||
#     disconnecting the client. If the client attempts to FETCH the same failed
 | 
			
		||||
#     mail more than once, the client is disconnected. This is to avoid clients
 | 
			
		||||
#     from going into infinite loops trying to FETCH a broken mail.
 | 
			
		||||
#imap_fetch_failure = disconnect-immediately
 | 
			
		||||
 | 
			
		||||
protocol imap {
 | 
			
		||||
  # Space separated list of plugins to load (default is global mail_plugins).
 | 
			
		||||
  #mail_plugins = $mail_plugins
 | 
			
		||||
 | 
			
		||||
  # Maximum number of IMAP connections allowed for a user from each IP address.
 | 
			
		||||
  # NOTE: The username is compared case-sensitively.
 | 
			
		||||
  #mail_max_userip_connections = 10
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										26
									
								
								jails/config/mail/dovecot/example-config/conf.d/20-lmtp.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								jails/config/mail/dovecot/example-config/conf.d/20-lmtp.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
			
		||||
##
 | 
			
		||||
## LMTP specific settings
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Support proxying to other LMTP/SMTP servers by performing passdb lookups.
 | 
			
		||||
#lmtp_proxy = no
 | 
			
		||||
 | 
			
		||||
# When recipient address includes the detail (e.g. user+detail), try to save
 | 
			
		||||
# the mail to the detail mailbox. See also recipient_delimiter and
 | 
			
		||||
# lda_mailbox_autocreate settings.
 | 
			
		||||
#lmtp_save_to_detail_mailbox = no
 | 
			
		||||
 | 
			
		||||
# Verify quota before replying to RCPT TO. This adds a small overhead.
 | 
			
		||||
#lmtp_rcpt_check_quota = no
 | 
			
		||||
 | 
			
		||||
# Which recipient address to use for Delivered-To: header and Received:
 | 
			
		||||
# header. The default is "final", which is the same as the one given to
 | 
			
		||||
# RCPT TO command. "original" uses the address given in RCPT TO's ORCPT
 | 
			
		||||
# parameter, "none" uses nothing. Note that "none" is currently always used
 | 
			
		||||
# when a mail has multiple recipients.
 | 
			
		||||
#lmtp_hdr_delivery_address = final
 | 
			
		||||
 | 
			
		||||
protocol lmtp {
 | 
			
		||||
  # Space separated list of plugins to load (default is global mail_plugins).
 | 
			
		||||
  #mail_plugins = $mail_plugins
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										99
									
								
								jails/config/mail/dovecot/example-config/conf.d/20-pop3.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								jails/config/mail/dovecot/example-config/conf.d/20-pop3.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,99 @@
 | 
			
		||||
##
 | 
			
		||||
## POP3 specific settings
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Don't try to set mails non-recent or seen with POP3 sessions. This is
 | 
			
		||||
# mostly intended to reduce disk I/O. With maildir it doesn't move files
 | 
			
		||||
# from new/ to cur/, with mbox it doesn't write Status-header.
 | 
			
		||||
#pop3_no_flag_updates = no
 | 
			
		||||
 | 
			
		||||
# Support LAST command which exists in old POP3 specs, but has been removed
 | 
			
		||||
# from new ones. Some clients still wish to use this though. Enabling this
 | 
			
		||||
# makes RSET command clear all \Seen flags from messages.
 | 
			
		||||
#pop3_enable_last = no
 | 
			
		||||
 | 
			
		||||
# If mail has X-UIDL header, use it as the mail's UIDL.
 | 
			
		||||
#pop3_reuse_xuidl = no
 | 
			
		||||
 | 
			
		||||
# Allow only one POP3 session to run simultaneously for the same user.
 | 
			
		||||
#pop3_lock_session = no
 | 
			
		||||
 | 
			
		||||
# POP3 requires message sizes to be listed as if they had CR+LF linefeeds.
 | 
			
		||||
# Many POP3 servers violate this by returning the sizes with LF linefeeds,
 | 
			
		||||
# because it's faster to get. When this setting is enabled, Dovecot still
 | 
			
		||||
# tries to do the right thing first, but if that requires opening the
 | 
			
		||||
# message, it fallbacks to the easier (but incorrect) size.
 | 
			
		||||
#pop3_fast_size_lookups = no
 | 
			
		||||
 | 
			
		||||
# POP3 UIDL (unique mail identifier) format to use. You can use following
 | 
			
		||||
# variables, along with the variable modifiers described in
 | 
			
		||||
# doc/wiki/Variables.txt (e.g. %Uf for the filename in uppercase)
 | 
			
		||||
#
 | 
			
		||||
#  %v - Mailbox's IMAP UIDVALIDITY
 | 
			
		||||
#  %u - Mail's IMAP UID
 | 
			
		||||
#  %m - MD5 sum of the mailbox headers in hex (mbox only)
 | 
			
		||||
#  %f - filename (maildir only)
 | 
			
		||||
#  %g - Mail's GUID
 | 
			
		||||
#
 | 
			
		||||
# If you want UIDL compatibility with other POP3 servers, use:
 | 
			
		||||
#  UW's ipop3d         : %08Xv%08Xu
 | 
			
		||||
#  Courier             : %f or %v-%u (both might be used simultaneously)
 | 
			
		||||
#  Cyrus (<= 2.1.3)    : %u
 | 
			
		||||
#  Cyrus (>= 2.1.4)    : %v.%u
 | 
			
		||||
#  Dovecot v0.99.x     : %v.%u
 | 
			
		||||
#  tpop3d              : %Mf
 | 
			
		||||
#
 | 
			
		||||
# Note that Outlook 2003 seems to have problems with %v.%u format which was
 | 
			
		||||
# Dovecot's default, so if you're building a new server it would be a good
 | 
			
		||||
# idea to change this. %08Xu%08Xv should be pretty fail-safe.
 | 
			
		||||
#
 | 
			
		||||
#pop3_uidl_format = %08Xu%08Xv
 | 
			
		||||
 | 
			
		||||
# Permanently save UIDLs sent to POP3 clients, so pop3_uidl_format changes
 | 
			
		||||
# won't change those UIDLs. Currently this works only with Maildir.
 | 
			
		||||
#pop3_save_uidl = no
 | 
			
		||||
 | 
			
		||||
# What to do about duplicate UIDLs if they exist?
 | 
			
		||||
#   allow: Show duplicates to clients.
 | 
			
		||||
#   rename: Append a temporary -2, -3, etc. counter after the UIDL.
 | 
			
		||||
#pop3_uidl_duplicates = allow
 | 
			
		||||
 | 
			
		||||
# This option changes POP3 behavior so that it's not possible to actually
 | 
			
		||||
# delete mails via POP3, only hide them from future POP3 sessions. The mails
 | 
			
		||||
# will still be counted towards user's quota until actually deleted via IMAP.
 | 
			
		||||
# Use e.g. "$POP3Deleted" as the value (it will be visible as IMAP keyword).
 | 
			
		||||
# Make sure you can legally archive mails before enabling this setting.
 | 
			
		||||
#pop3_deleted_flag =
 | 
			
		||||
 | 
			
		||||
# POP3 logout format string:
 | 
			
		||||
#  %i - total number of bytes read from client
 | 
			
		||||
#  %o - total number of bytes sent to client
 | 
			
		||||
#  %t - number of TOP commands
 | 
			
		||||
#  %p - number of bytes sent to client as a result of TOP command
 | 
			
		||||
#  %r - number of RETR commands
 | 
			
		||||
#  %b - number of bytes sent to client as a result of RETR command
 | 
			
		||||
#  %d - number of deleted messages
 | 
			
		||||
#  %{deleted_bytes} - number of bytes in deleted messages
 | 
			
		||||
#  %m - number of messages (before deletion)
 | 
			
		||||
#  %s - mailbox size in bytes (before deletion)
 | 
			
		||||
#  %u - old/new UIDL hash. may help finding out if UIDLs changed unexpectedly
 | 
			
		||||
#pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
 | 
			
		||||
 | 
			
		||||
# Workarounds for various client bugs:
 | 
			
		||||
#   outlook-no-nuls:
 | 
			
		||||
#     Outlook and Outlook Express hang if mails contain NUL characters.
 | 
			
		||||
#     This setting replaces them with 0x80 character.
 | 
			
		||||
#   oe-ns-eoh:
 | 
			
		||||
#     Outlook Express and Netscape Mail breaks if end of headers-line is
 | 
			
		||||
#     missing. This option simply sends it if it's missing.
 | 
			
		||||
# The list is space-separated.
 | 
			
		||||
#pop3_client_workarounds = 
 | 
			
		||||
 | 
			
		||||
protocol pop3 {
 | 
			
		||||
  # Space separated list of plugins to load (default is global mail_plugins).
 | 
			
		||||
  #mail_plugins = $mail_plugins
 | 
			
		||||
 | 
			
		||||
  # Maximum number of POP3 connections allowed for a user from each IP address.
 | 
			
		||||
  # NOTE: The username is compared case-sensitively.
 | 
			
		||||
  #mail_max_userip_connections = 10
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,112 @@
 | 
			
		||||
##
 | 
			
		||||
## Settings specific to SMTP Submission
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# SMTP Submission logout format string:
 | 
			
		||||
#  %i - total number of bytes read from client
 | 
			
		||||
#  %o - total number of bytes sent to client
 | 
			
		||||
#  %{command_count} - Number of commands received from client
 | 
			
		||||
#  %{reply_count} - Number of replies sent to client
 | 
			
		||||
#  %{session} - Session ID of the login session
 | 
			
		||||
#  %{transaction_id} - ID of the current transaction, if any
 | 
			
		||||
#submission_logout_format = in=%i out=%o
 | 
			
		||||
 | 
			
		||||
# Host name reported by the SMTP service, for example to the client in the
 | 
			
		||||
# initial greeting and to the relay server in the HELO/EHLO command.
 | 
			
		||||
# Default is the system's real hostname@domain.
 | 
			
		||||
#hostname =
 | 
			
		||||
 | 
			
		||||
# Maximum size of messages accepted for relay. This announced in the SIZE
 | 
			
		||||
# capability. If not configured, this is either determined from the relay
 | 
			
		||||
# server or left unlimited if no limit is known (relay will reply with error
 | 
			
		||||
# if some unknown limit exists there, which is duly passed to our client).
 | 
			
		||||
#submission_max_mail_size =
 | 
			
		||||
 | 
			
		||||
# Maximum number of recipients accepted per connection (default: unlimited)
 | 
			
		||||
#submission_max_recipients =
 | 
			
		||||
 | 
			
		||||
# Workarounds for various client bugs:
 | 
			
		||||
#   whitespace-before-path:
 | 
			
		||||
#     Allow one or more spaces or tabs between `MAIL FROM:' and path and between
 | 
			
		||||
#     `RCPT TO:' and path.
 | 
			
		||||
#   mailbox-for-path:
 | 
			
		||||
#     Allow using bare Mailbox syntax (i.e., without <...>) instead of full path
 | 
			
		||||
#     syntax.
 | 
			
		||||
#
 | 
			
		||||
# The list is space-separated.
 | 
			
		||||
#submission_client_workarounds =
 | 
			
		||||
 | 
			
		||||
# Relay server configuration:
 | 
			
		||||
#
 | 
			
		||||
# The Dovecot SMTP submission service directly proxies the mail transaction
 | 
			
		||||
# to the SMTP relay configured here.
 | 
			
		||||
 | 
			
		||||
# Host name for the relay server (required)
 | 
			
		||||
#submission_relay_host =
 | 
			
		||||
 | 
			
		||||
# Port for the relay server
 | 
			
		||||
#submission_relay_port = 25
 | 
			
		||||
 | 
			
		||||
# Is the relay server trusted? This determines whether we try to send
 | 
			
		||||
# (Postfix-specific) XCLIENT data to the relay server
 | 
			
		||||
#submission_relay_trusted = no
 | 
			
		||||
 | 
			
		||||
# Authentication data for the relay server if authentication is required
 | 
			
		||||
#submission_relay_user =
 | 
			
		||||
#submission_relay_master_user =
 | 
			
		||||
#submission_relay_password =
 | 
			
		||||
 | 
			
		||||
# SSL configuration for connection to relay server
 | 
			
		||||
#
 | 
			
		||||
# submission_relay_ssl:
 | 
			
		||||
#   Indicates whether SSL is used for the connection to the relay server. The
 | 
			
		||||
#   following values are defined for this setting:
 | 
			
		||||
#
 | 
			
		||||
#     no        - No SSL is used
 | 
			
		||||
#     smtps     - An SMTPS connection (immediate SSL) is used
 | 
			
		||||
#     starttls  - The STARTTLS command is used to establish SSL layer
 | 
			
		||||
#submission_relay_ssl = no
 | 
			
		||||
 | 
			
		||||
# submission_relay_ssl_verify:
 | 
			
		||||
#   Configures whether the SSL certificate of the relay server is to be
 | 
			
		||||
#   verified.
 | 
			
		||||
#submission_relay_ssl_verify = yes
 | 
			
		||||
 | 
			
		||||
# Write protocol logs for relay connection to this directory for debugging
 | 
			
		||||
#submission_relay_rawlog_dir =
 | 
			
		||||
 | 
			
		||||
# BURL is configured implicitly by IMAP URLAUTH
 | 
			
		||||
 | 
			
		||||
# Part of the SMTP capabilities that the submission service can offer to the
 | 
			
		||||
# client (as listed in the EHLO reply) depend on those capabilities also being
 | 
			
		||||
# provided by the relay server. These capabilities currently are:
 | 
			
		||||
#
 | 
			
		||||
#   - 8BITMIME
 | 
			
		||||
#   - BINARYMIME
 | 
			
		||||
#   - DSN
 | 
			
		||||
#   - VRFY (always returns 252 without support)
 | 
			
		||||
#
 | 
			
		||||
# By default, the submission service first connects to the relay server to
 | 
			
		||||
# determine the support for such capabilities before sending the initial EHLO
 | 
			
		||||
# reply to the client. If the list of capabilities returned by the relay server
 | 
			
		||||
# is somehow unreliable or it is undesirable to start the connection to the
 | 
			
		||||
# relay server before the first mail transaction is started, the backend
 | 
			
		||||
# capabilities can be configured explicitly using the
 | 
			
		||||
# submission_backend_capabilities setting. This is a space-separated list of
 | 
			
		||||
# SMTP capability names. This setting is only relevant for capabilities that
 | 
			
		||||
# depend on support from the relay server: including (or omitting) capabilities
 | 
			
		||||
# that are not listed above has no effect. When this setting is explicitly set
 | 
			
		||||
# to the empty string, none of the capabilities is enabled. To achieve the
 | 
			
		||||
# default behavior, this setting must be left unconfigured.
 | 
			
		||||
#submission_backend_capabilities =
 | 
			
		||||
 | 
			
		||||
protocol submission {
 | 
			
		||||
  # Space-separated list of plugins to load (default is global mail_plugins).
 | 
			
		||||
  #mail_plugins = $mail_plugins
 | 
			
		||||
 | 
			
		||||
  # Maximum number of SMTP submission connections allowed for a user from
 | 
			
		||||
  # each IP address.
 | 
			
		||||
  # NOTE: The username is compared case-sensitively.
 | 
			
		||||
  #mail_max_userip_connections = 10
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										19
									
								
								jails/config/mail/dovecot/example-config/conf.d/90-acl.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								jails/config/mail/dovecot/example-config/conf.d/90-acl.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
			
		||||
##
 | 
			
		||||
## Mailbox access control lists.
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# vfile backend reads ACLs from "dovecot-acl" file from mail directory.
 | 
			
		||||
# You can also optionally give a global ACL directory path where ACLs are
 | 
			
		||||
# applied to all users' mailboxes. The global ACL directory contains
 | 
			
		||||
# one file for each mailbox, eg. INBOX or sub.mailbox. cache_secs parameter
 | 
			
		||||
# specifies how many seconds to wait between stat()ing dovecot-acl file
 | 
			
		||||
# to see if it changed.
 | 
			
		||||
plugin {
 | 
			
		||||
  #acl = vfile:/usr/local/etc/dovecot/global-acls:cache_secs=300
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# To let users LIST mailboxes shared by other users, Dovecot needs a
 | 
			
		||||
# shared mailbox dictionary. For example:
 | 
			
		||||
plugin {
 | 
			
		||||
  #acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,11 @@
 | 
			
		||||
##
 | 
			
		||||
## Plugin settings
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# All wanted plugins must be listed in mail_plugins setting before any of the
 | 
			
		||||
# settings take effect. See <doc/wiki/Plugins.txt> for list of plugins and
 | 
			
		||||
# their configuration. Note that %variable expansion is done for all values.
 | 
			
		||||
 | 
			
		||||
plugin {
 | 
			
		||||
  #setting_name = value
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,83 @@
 | 
			
		||||
##
 | 
			
		||||
## Quota configuration.
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Note that you also have to enable quota plugin in mail_plugins setting.
 | 
			
		||||
# <doc/wiki/Quota.txt>
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Quota limits
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Quota limits are set using "quota_rule" parameters. To get per-user quota
 | 
			
		||||
# limits, you can set/override them by returning "quota_rule" extra field
 | 
			
		||||
# from userdb. It's also possible to give mailbox-specific limits, for example
 | 
			
		||||
# to give additional 100 MB when saving to Trash:
 | 
			
		||||
 | 
			
		||||
plugin {
 | 
			
		||||
  #quota_rule = *:storage=1G
 | 
			
		||||
  #quota_rule2 = Trash:storage=+100M
 | 
			
		||||
 | 
			
		||||
  # LDA/LMTP allows saving the last mail to bring user from under quota to
 | 
			
		||||
  # over quota, if the quota doesn't grow too high. Default is to allow as
 | 
			
		||||
  # long as quota will stay under 10% above the limit. Also allowed e.g. 10M.
 | 
			
		||||
  #quota_grace = 10%%
 | 
			
		||||
 | 
			
		||||
  # Quota plugin can also limit the maximum accepted mail size.
 | 
			
		||||
  #quota_max_mail_size = 100M
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Quota warnings
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# You can execute a given command when user exceeds a specified quota limit.
 | 
			
		||||
# Each quota root has separate limits. Only the command for the first
 | 
			
		||||
# exceeded limit is executed, so put the highest limit first.
 | 
			
		||||
# The commands are executed via script service by connecting to the named
 | 
			
		||||
# UNIX socket (quota-warning below).
 | 
			
		||||
# Note that % needs to be escaped as %%, otherwise "% " expands to empty.
 | 
			
		||||
 | 
			
		||||
plugin {
 | 
			
		||||
  #quota_warning = storage=95%% quota-warning 95 %u
 | 
			
		||||
  #quota_warning2 = storage=80%% quota-warning 80 %u
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Example quota-warning service. The unix listener's permissions should be
 | 
			
		||||
# set in a way that mail processes can connect to it. Below example assumes
 | 
			
		||||
# that mail processes run as vmail user. If you use mode=0666, all system users
 | 
			
		||||
# can generate quota warnings to anyone.
 | 
			
		||||
#service quota-warning {
 | 
			
		||||
#  executable = script /usr/local/bin/quota-warning.sh
 | 
			
		||||
#  user = dovecot
 | 
			
		||||
#  unix_listener quota-warning {
 | 
			
		||||
#    user = vmail
 | 
			
		||||
#  }
 | 
			
		||||
#}
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Quota backends
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Multiple backends are supported:
 | 
			
		||||
#   dirsize: Find and sum all the files found from mail directory.
 | 
			
		||||
#            Extremely SLOW with Maildir. It'll eat your CPU and disk I/O.
 | 
			
		||||
#   dict: Keep quota stored in dictionary (eg. SQL)
 | 
			
		||||
#   maildir: Maildir++ quota
 | 
			
		||||
#   fs: Read-only support for filesystem quota
 | 
			
		||||
 | 
			
		||||
plugin {
 | 
			
		||||
  #quota = dirsize:User quota
 | 
			
		||||
  #quota = maildir:User quota
 | 
			
		||||
  #quota = dict:User quota::proxy::quota
 | 
			
		||||
  #quota = fs:User quota
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Multiple quota roots are also possible, for example this gives each user
 | 
			
		||||
# their own 100MB quota and one shared 1GB quota within the domain:
 | 
			
		||||
plugin {
 | 
			
		||||
  #quota = dict:user::proxy::quota
 | 
			
		||||
  #quota2 = dict:domain:%d:proxy::quota_domain
 | 
			
		||||
  #quota_rule = *:storage=102400
 | 
			
		||||
  #quota2_rule = *:storage=1048576
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,21 @@
 | 
			
		||||
# Authentication for checkpassword users. Included from 10-auth.conf.
 | 
			
		||||
#
 | 
			
		||||
# <doc/wiki/AuthDatabase.CheckPassword.txt>
 | 
			
		||||
 | 
			
		||||
passdb {
 | 
			
		||||
  driver = checkpassword
 | 
			
		||||
  args = /usr/bin/checkpassword
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# passdb lookup should return also userdb info
 | 
			
		||||
userdb {
 | 
			
		||||
  driver = prefetch
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Standard checkpassword doesn't support direct userdb lookups.
 | 
			
		||||
# If you need checkpassword userdb, the checkpassword must support
 | 
			
		||||
# Dovecot-specific extensions.
 | 
			
		||||
#userdb {
 | 
			
		||||
#  driver = checkpassword
 | 
			
		||||
#  args = /usr/bin/checkpassword
 | 
			
		||||
#}
 | 
			
		||||
@ -0,0 +1,15 @@
 | 
			
		||||
# Deny access for users. Included from 10-auth.conf.
 | 
			
		||||
 | 
			
		||||
# Users can be (temporarily) disabled by adding a passdb with deny=yes.
 | 
			
		||||
# If the user is found from that database, authentication will fail.
 | 
			
		||||
# The deny passdb should always be specified before others, so it gets
 | 
			
		||||
# checked first.
 | 
			
		||||
 | 
			
		||||
# Example deny passdb using passwd-file. You can use any passdb though.
 | 
			
		||||
passdb {
 | 
			
		||||
  driver = passwd-file
 | 
			
		||||
  deny = yes
 | 
			
		||||
 | 
			
		||||
  # File contains a list of usernames, one per line
 | 
			
		||||
  args = /usr/local/etc/dovecot/deny-users
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,16 @@
 | 
			
		||||
# Authentication via dict backend. Included from 10-auth.conf.
 | 
			
		||||
#
 | 
			
		||||
# <doc/wiki/AuthDatabase.Dict.txt>
 | 
			
		||||
 | 
			
		||||
passdb {
 | 
			
		||||
  driver = dict
 | 
			
		||||
 | 
			
		||||
  # Path for dict configuration file, see
 | 
			
		||||
  # example-config/dovecot-dict-auth.conf.ext
 | 
			
		||||
  args = /usr/local/etc/dovecot/dovecot-dict-auth.conf.ext
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
userdb {
 | 
			
		||||
  driver = dict
 | 
			
		||||
  args = /usr/local/etc/dovecot/dovecot-dict-auth.conf.ext
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,33 @@
 | 
			
		||||
# Authentication for LDAP users. Included from 10-auth.conf.
 | 
			
		||||
#
 | 
			
		||||
# <doc/wiki/AuthDatabase.LDAP.txt>
 | 
			
		||||
 | 
			
		||||
passdb {
 | 
			
		||||
  driver = ldap
 | 
			
		||||
 | 
			
		||||
  # Path for LDAP configuration file, see example-config/dovecot-ldap.conf.ext
 | 
			
		||||
  args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# "prefetch" user database means that the passdb already provided the
 | 
			
		||||
# needed information and there's no need to do a separate userdb lookup.
 | 
			
		||||
# <doc/wiki/UserDatabase.Prefetch.txt>
 | 
			
		||||
#userdb {
 | 
			
		||||
#  driver = prefetch
 | 
			
		||||
#}
 | 
			
		||||
 | 
			
		||||
userdb {
 | 
			
		||||
  driver = ldap
 | 
			
		||||
  args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
 | 
			
		||||
  
 | 
			
		||||
  # Default fields can be used to specify defaults that LDAP may override
 | 
			
		||||
  #default_fields = home=/home/virtual/%u
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# If you don't have any user-specific settings, you can avoid the userdb LDAP
 | 
			
		||||
# lookup by using userdb static instead of userdb ldap, for example:
 | 
			
		||||
# <doc/wiki/UserDatabase.Static.txt>
 | 
			
		||||
#userdb {
 | 
			
		||||
  #driver = static
 | 
			
		||||
  #args = uid=vmail gid=vmail home=/var/vmail/%u
 | 
			
		||||
#}
 | 
			
		||||
@ -0,0 +1,16 @@
 | 
			
		||||
# Authentication for master users. Included from 10-auth.conf.
 | 
			
		||||
 | 
			
		||||
# By adding master=yes setting inside a passdb you make the passdb a list
 | 
			
		||||
# of "master users", who can log in as anyone else.
 | 
			
		||||
# <doc/wiki/Authentication.MasterUsers.txt>
 | 
			
		||||
 | 
			
		||||
# Example master user passdb using passwd-file. You can use any passdb though.
 | 
			
		||||
passdb {
 | 
			
		||||
  driver = passwd-file
 | 
			
		||||
  master = yes
 | 
			
		||||
  args = /usr/local/etc/dovecot/master-users
 | 
			
		||||
 | 
			
		||||
  # Unless you're using PAM, you probably still want the destination user to
 | 
			
		||||
  # be looked up from passdb that it really exists. pass=yes does that.
 | 
			
		||||
  pass = yes
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,20 @@
 | 
			
		||||
# Authentication for passwd-file users. Included from 10-auth.conf.
 | 
			
		||||
#
 | 
			
		||||
# passwd-like file with specified location.
 | 
			
		||||
# <doc/wiki/AuthDatabase.PasswdFile.txt>
 | 
			
		||||
 | 
			
		||||
passdb {
 | 
			
		||||
  driver = passwd-file
 | 
			
		||||
  args = scheme=CRYPT username_format=%u /usr/local/etc/dovecot/users
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
userdb {
 | 
			
		||||
  driver = passwd-file
 | 
			
		||||
  args = username_format=%u /usr/local/etc/dovecot/users
 | 
			
		||||
 | 
			
		||||
  # Default fields that can be overridden by passwd-file
 | 
			
		||||
  #default_fields = quota_rule=*:storage=1G
 | 
			
		||||
 | 
			
		||||
  # Override fields from passwd-file
 | 
			
		||||
  #override_fields = home=/home/virtual/%u
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,30 @@
 | 
			
		||||
# Authentication for SQL users. Included from 10-auth.conf.
 | 
			
		||||
#
 | 
			
		||||
# <doc/wiki/AuthDatabase.SQL.txt>
 | 
			
		||||
 | 
			
		||||
passdb {
 | 
			
		||||
  driver = sql
 | 
			
		||||
 | 
			
		||||
  # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext
 | 
			
		||||
  args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# "prefetch" user database means that the passdb already provided the
 | 
			
		||||
# needed information and there's no need to do a separate userdb lookup.
 | 
			
		||||
# <doc/wiki/UserDatabase.Prefetch.txt>
 | 
			
		||||
#userdb {
 | 
			
		||||
#  driver = prefetch
 | 
			
		||||
#}
 | 
			
		||||
 | 
			
		||||
userdb {
 | 
			
		||||
  driver = sql
 | 
			
		||||
  args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# If you don't have any user-specific settings, you can avoid the user_query
 | 
			
		||||
# by using userdb static instead of userdb sql, for example:
 | 
			
		||||
# <doc/wiki/UserDatabase.Static.txt>
 | 
			
		||||
#userdb {
 | 
			
		||||
  #driver = static
 | 
			
		||||
  #args = uid=vmail gid=vmail home=/var/vmail/%u
 | 
			
		||||
#}
 | 
			
		||||
@ -0,0 +1,24 @@
 | 
			
		||||
# Static passdb. Included from 10-auth.conf.
 | 
			
		||||
 | 
			
		||||
# This can be used for situations where Dovecot doesn't need to verify the
 | 
			
		||||
# username or the password, or if there is a single password for all users:
 | 
			
		||||
#
 | 
			
		||||
#  - proxy frontend, where the backend verifies the password
 | 
			
		||||
#  - proxy backend, where the frontend already verified the password
 | 
			
		||||
#  - authentication with SSL certificates
 | 
			
		||||
#  - simple testing
 | 
			
		||||
 | 
			
		||||
#passdb {
 | 
			
		||||
#  driver = static
 | 
			
		||||
#  args = proxy=y host=%1Mu.example.com nopassword=y
 | 
			
		||||
#}
 | 
			
		||||
 | 
			
		||||
#passdb {
 | 
			
		||||
#  driver = static
 | 
			
		||||
#  args = password=test
 | 
			
		||||
#}
 | 
			
		||||
 | 
			
		||||
#userdb {
 | 
			
		||||
#  driver = static
 | 
			
		||||
#  args = uid=vmail gid=vmail home=/home/%u
 | 
			
		||||
#}
 | 
			
		||||
@ -0,0 +1,74 @@
 | 
			
		||||
# Authentication for system users. Included from 10-auth.conf.
 | 
			
		||||
#
 | 
			
		||||
# <doc/wiki/PasswordDatabase.txt>
 | 
			
		||||
# <doc/wiki/UserDatabase.txt>
 | 
			
		||||
 | 
			
		||||
# PAM authentication. Preferred nowadays by most systems.
 | 
			
		||||
# PAM is typically used with either userdb passwd or userdb static.
 | 
			
		||||
# REMEMBER: You'll need /etc/pam.d/dovecot file created for PAM
 | 
			
		||||
# authentication to actually work. <doc/wiki/PasswordDatabase.PAM.txt>
 | 
			
		||||
passdb {
 | 
			
		||||
  driver = pam
 | 
			
		||||
  # [session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
 | 
			
		||||
  # [cache_key=<key>] [<service name>]
 | 
			
		||||
  #args = dovecot
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# System users (NSS, /etc/passwd, or similar).
 | 
			
		||||
# In many systems nowadays this uses Name Service Switch, which is
 | 
			
		||||
# configured in /etc/nsswitch.conf. <doc/wiki/AuthDatabase.Passwd.txt>
 | 
			
		||||
#passdb {
 | 
			
		||||
  #driver = passwd
 | 
			
		||||
  # [blocking=no]
 | 
			
		||||
  #args = 
 | 
			
		||||
#}
 | 
			
		||||
 | 
			
		||||
# Shadow passwords for system users (NSS, /etc/shadow or similar).
 | 
			
		||||
# Deprecated by PAM nowadays.
 | 
			
		||||
# <doc/wiki/PasswordDatabase.Shadow.txt>
 | 
			
		||||
#passdb {
 | 
			
		||||
  #driver = shadow
 | 
			
		||||
  # [blocking=no]
 | 
			
		||||
  #args = 
 | 
			
		||||
#}
 | 
			
		||||
 | 
			
		||||
# PAM-like authentication for OpenBSD.
 | 
			
		||||
# <doc/wiki/PasswordDatabase.BSDAuth.txt>
 | 
			
		||||
#passdb {
 | 
			
		||||
  #driver = bsdauth
 | 
			
		||||
  # [blocking=no] [cache_key=<key>]
 | 
			
		||||
  #args =
 | 
			
		||||
#}
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## User databases
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# System users (NSS, /etc/passwd, or similar). In many systems nowadays this
 | 
			
		||||
# uses Name Service Switch, which is configured in /etc/nsswitch.conf.
 | 
			
		||||
userdb {
 | 
			
		||||
  # <doc/wiki/AuthDatabase.Passwd.txt>
 | 
			
		||||
  driver = passwd
 | 
			
		||||
  # [blocking=no]
 | 
			
		||||
  #args = 
 | 
			
		||||
 | 
			
		||||
  # Override fields from passwd
 | 
			
		||||
  #override_fields = home=/home/virtual/%u
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Static settings generated from template <doc/wiki/UserDatabase.Static.txt>
 | 
			
		||||
#userdb {
 | 
			
		||||
  #driver = static
 | 
			
		||||
  # Can return anything a userdb could normally return. For example:
 | 
			
		||||
  #
 | 
			
		||||
  #  args = uid=500 gid=500 home=/var/mail/%u
 | 
			
		||||
  #
 | 
			
		||||
  # LDA and LMTP needs to look up users only from the userdb. This of course
 | 
			
		||||
  # doesn't work with static userdb because there is no list of users.
 | 
			
		||||
  # Normally static userdb handles this by doing a passdb lookup. This works
 | 
			
		||||
  # with most passdbs, with PAM being the most notable exception. If you do
 | 
			
		||||
  # the user verification another way, you can add allow_all_users=yes to
 | 
			
		||||
  # the args in which case the passdb lookup is skipped.
 | 
			
		||||
  #
 | 
			
		||||
  #args =
 | 
			
		||||
#}
 | 
			
		||||
@ -0,0 +1,17 @@
 | 
			
		||||
# Authentication for vpopmail users. Included from 10-auth.conf.
 | 
			
		||||
#
 | 
			
		||||
# <doc/wiki/AuthDatabase.VPopMail.txt>
 | 
			
		||||
 | 
			
		||||
passdb {
 | 
			
		||||
  driver = vpopmail
 | 
			
		||||
 | 
			
		||||
  # [cache_key=<key>] [webmail=<ip>]
 | 
			
		||||
  args =
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
userdb {
 | 
			
		||||
  driver = vpopmail
 | 
			
		||||
 | 
			
		||||
  # [quota_template=<template>] - %q expands to Maildir++ quota
 | 
			
		||||
  args = quota_template=quota_rule=*:backend=%q
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,54 @@
 | 
			
		||||
# This file is commonly accessed via passdb {} or userdb {} section in
 | 
			
		||||
# conf.d/auth-dict.conf.ext
 | 
			
		||||
 | 
			
		||||
# Dictionary URI
 | 
			
		||||
#uri = 
 | 
			
		||||
 | 
			
		||||
# Default password scheme
 | 
			
		||||
default_pass_scheme = MD5
 | 
			
		||||
 | 
			
		||||
# Username iteration prefix. Keys under this are assumed to contain usernames.
 | 
			
		||||
iterate_prefix = userdb/
 | 
			
		||||
 | 
			
		||||
# Should iteration be disabled for this userdb? If this userdb acts only as a
 | 
			
		||||
# cache there's no reason to try to iterate the (partial & duplicate) users.
 | 
			
		||||
#iterate_disable = no
 | 
			
		||||
 | 
			
		||||
# The example here shows how to do multiple dict lookups and merge the replies.
 | 
			
		||||
# The "passdb" and "userdb" keys are JSON objects containing key/value pairs,
 | 
			
		||||
# for example: { "uid": 1000, "gid": 1000, "home": "/home/user" }
 | 
			
		||||
 | 
			
		||||
key passdb {
 | 
			
		||||
  key = passdb/%u
 | 
			
		||||
  format = json
 | 
			
		||||
}
 | 
			
		||||
key userdb {
 | 
			
		||||
  key = userdb/%u
 | 
			
		||||
  format = json
 | 
			
		||||
}
 | 
			
		||||
key quota {
 | 
			
		||||
  key = userdb/%u/quota
 | 
			
		||||
  #format = value
 | 
			
		||||
  # The default_value is used if the key isn't found. If default_value setting
 | 
			
		||||
  # isn't specified at all (even as empty), the passdb/userdb lookup fails with
 | 
			
		||||
  # "user doesn't exist".
 | 
			
		||||
  default_value = 100M
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Space separated list of keys whose values contain key/value paired objects.
 | 
			
		||||
# All the key/value pairs inside the object are added as passdb fields.
 | 
			
		||||
passdb_objects = passdb
 | 
			
		||||
 | 
			
		||||
#passdb_fields {
 | 
			
		||||
#}
 | 
			
		||||
 | 
			
		||||
# Userdb key/value object list.
 | 
			
		||||
userdb_objects = userdb
 | 
			
		||||
 | 
			
		||||
userdb_fields {
 | 
			
		||||
  # dict:<key> refers to key names
 | 
			
		||||
  quota_rule = *:storage=%{dict:quota}
 | 
			
		||||
 | 
			
		||||
  # dict:<key>.<objkey> refers to the objkey inside (JSON) object
 | 
			
		||||
  mail = maildir:%{dict:userdb.home}/Maildir
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,41 @@
 | 
			
		||||
# This file is commonly accessed via dict {} section in dovecot.conf
 | 
			
		||||
 | 
			
		||||
#connect = host=localhost dbname=mails user=testuser password=pass
 | 
			
		||||
 | 
			
		||||
# CREATE TABLE quota (
 | 
			
		||||
#   username varchar(100) not null,
 | 
			
		||||
#   bytes bigint not null default 0,
 | 
			
		||||
#   messages integer not null default 0,
 | 
			
		||||
#   primary key (username)
 | 
			
		||||
# );
 | 
			
		||||
 | 
			
		||||
map {
 | 
			
		||||
  pattern = priv/quota/storage
 | 
			
		||||
  table = quota
 | 
			
		||||
  username_field = username
 | 
			
		||||
  value_field = bytes
 | 
			
		||||
}
 | 
			
		||||
map {
 | 
			
		||||
  pattern = priv/quota/messages
 | 
			
		||||
  table = quota
 | 
			
		||||
  username_field = username
 | 
			
		||||
  value_field = messages
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# CREATE TABLE expires (
 | 
			
		||||
#   username varchar(100) not null,
 | 
			
		||||
#   mailbox varchar(255) not null,
 | 
			
		||||
#   expire_stamp integer not null,
 | 
			
		||||
#   primary key (username, mailbox)
 | 
			
		||||
# );
 | 
			
		||||
 | 
			
		||||
map {
 | 
			
		||||
  pattern = shared/expire/$user/$mailbox
 | 
			
		||||
  table = expires
 | 
			
		||||
  value_field = expire_stamp
 | 
			
		||||
 | 
			
		||||
  fields {
 | 
			
		||||
    username = $user
 | 
			
		||||
    mailbox = $mailbox
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										151
									
								
								jails/config/mail/dovecot/example-config/dovecot-ldap.conf.ext
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								jails/config/mail/dovecot/example-config/dovecot-ldap.conf.ext
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,151 @@
 | 
			
		||||
# This file is commonly accessed via passdb {} or userdb {} section in
 | 
			
		||||
# conf.d/auth-ldap.conf.ext
 | 
			
		||||
 | 
			
		||||
# This file is opened as root, so it should be owned by root and mode 0600.
 | 
			
		||||
#
 | 
			
		||||
# http://wiki2.dovecot.org/AuthDatabase/LDAP
 | 
			
		||||
#
 | 
			
		||||
# NOTE: If you're not using authentication binds, you'll need to give
 | 
			
		||||
# dovecot-auth read access to userPassword field in the LDAP server.
 | 
			
		||||
# With OpenLDAP this is done by modifying /etc/ldap/slapd.conf. There should
 | 
			
		||||
# already be something like this:
 | 
			
		||||
 | 
			
		||||
# access to attribute=userPassword
 | 
			
		||||
#        by dn="<dovecot's dn>" read # add this
 | 
			
		||||
#        by anonymous auth
 | 
			
		||||
#        by self write
 | 
			
		||||
#        by * none
 | 
			
		||||
 | 
			
		||||
# Space separated list of LDAP hosts to use. host:port is allowed too.
 | 
			
		||||
#hosts =
 | 
			
		||||
 | 
			
		||||
# LDAP URIs to use. You can use this instead of hosts list. Note that this
 | 
			
		||||
# setting isn't supported by all LDAP libraries.
 | 
			
		||||
#uris = 
 | 
			
		||||
 | 
			
		||||
# Distinguished Name - the username used to login to the LDAP server.
 | 
			
		||||
# Leave it commented out to bind anonymously (useful with auth_bind=yes).
 | 
			
		||||
#dn = 
 | 
			
		||||
 | 
			
		||||
# Password for LDAP server, if dn is specified.
 | 
			
		||||
#dnpass = 
 | 
			
		||||
 | 
			
		||||
# Use SASL binding instead of the simple binding. Note that this changes
 | 
			
		||||
# ldap_version automatically to be 3 if it's lower.
 | 
			
		||||
#sasl_bind = no
 | 
			
		||||
# SASL mechanism name to use.
 | 
			
		||||
#sasl_mech =
 | 
			
		||||
# SASL realm to use.
 | 
			
		||||
#sasl_realm =
 | 
			
		||||
# SASL authorization ID, ie. the dnpass is for this "master user", but the
 | 
			
		||||
# dn is still the logged in user. Normally you want to keep this empty.
 | 
			
		||||
#sasl_authz_id =
 | 
			
		||||
 | 
			
		||||
# Use TLS to connect to the LDAP server.
 | 
			
		||||
#tls = no
 | 
			
		||||
# TLS options, currently supported only with OpenLDAP:
 | 
			
		||||
#tls_ca_cert_file =
 | 
			
		||||
#tls_ca_cert_dir =
 | 
			
		||||
#tls_cipher_suite =
 | 
			
		||||
# TLS cert/key is used only if LDAP server requires a client certificate.
 | 
			
		||||
#tls_cert_file =
 | 
			
		||||
#tls_key_file =
 | 
			
		||||
# Valid values: never, hard, demand, allow, try
 | 
			
		||||
#tls_require_cert =
 | 
			
		||||
 | 
			
		||||
# Use the given ldaprc path.
 | 
			
		||||
#ldaprc_path =
 | 
			
		||||
 | 
			
		||||
# LDAP library debug level as specified by LDAP_DEBUG_* in ldap_log.h.
 | 
			
		||||
# -1 = everything. You may need to recompile OpenLDAP with debugging enabled
 | 
			
		||||
# to get enough output.
 | 
			
		||||
#debug_level = 0
 | 
			
		||||
 | 
			
		||||
# Use authentication binding for verifying password's validity. This works by
 | 
			
		||||
# logging into LDAP server using the username and password given by client.
 | 
			
		||||
# The pass_filter is used to find the DN for the user. Note that the pass_attrs
 | 
			
		||||
# is still used, only the password field is ignored in it. Before doing any
 | 
			
		||||
# search, the binding is switched back to the default DN.
 | 
			
		||||
#auth_bind = no
 | 
			
		||||
 | 
			
		||||
# If authentication binding is used, you can save one LDAP request per login
 | 
			
		||||
# if users' DN can be specified with a common template. The template can use
 | 
			
		||||
# the standard %variables (see user_filter). Note that you can't
 | 
			
		||||
# use any pass_attrs if you use this setting.
 | 
			
		||||
#
 | 
			
		||||
# If you use this setting, it's a good idea to use a different
 | 
			
		||||
# dovecot-ldap.conf.ext for userdb (it can even be a symlink, just as long as
 | 
			
		||||
# the filename is different in userdb's args). That way one connection is used
 | 
			
		||||
# only for LDAP binds and another connection is used for user lookups.
 | 
			
		||||
# Otherwise the binding is changed to the default DN before each user lookup.
 | 
			
		||||
#
 | 
			
		||||
# For example:
 | 
			
		||||
#   auth_bind_userdn = cn=%u,ou=people,o=org
 | 
			
		||||
#
 | 
			
		||||
#auth_bind_userdn =
 | 
			
		||||
 | 
			
		||||
# LDAP protocol version to use. Likely 2 or 3.
 | 
			
		||||
#ldap_version = 3
 | 
			
		||||
 | 
			
		||||
# LDAP base. %variables can be used here.
 | 
			
		||||
# For example: dc=mail, dc=example, dc=org
 | 
			
		||||
base =
 | 
			
		||||
 | 
			
		||||
# Dereference: never, searching, finding, always
 | 
			
		||||
#deref = never
 | 
			
		||||
 | 
			
		||||
# Search scope: base, onelevel, subtree
 | 
			
		||||
#scope = subtree
 | 
			
		||||
 | 
			
		||||
# User attributes are given in LDAP-name=dovecot-internal-name list. The
 | 
			
		||||
# internal names are:
 | 
			
		||||
#   uid - System UID
 | 
			
		||||
#   gid - System GID
 | 
			
		||||
#   home - Home directory
 | 
			
		||||
#   mail - Mail location
 | 
			
		||||
#
 | 
			
		||||
# There are also other special fields which can be returned, see
 | 
			
		||||
# http://wiki2.dovecot.org/UserDatabase/ExtraFields
 | 
			
		||||
#user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid
 | 
			
		||||
 | 
			
		||||
# Filter for user lookup. Some variables can be used (see
 | 
			
		||||
# http://wiki2.dovecot.org/Variables for full list):
 | 
			
		||||
#   %u - username
 | 
			
		||||
#   %n - user part in user@domain, same as %u if there's no domain
 | 
			
		||||
#   %d - domain part in user@domain, empty if user there's no domain
 | 
			
		||||
#user_filter = (&(objectClass=posixAccount)(uid=%u))
 | 
			
		||||
 | 
			
		||||
# Password checking attributes:
 | 
			
		||||
#  user: Virtual user name (user@domain), if you wish to change the
 | 
			
		||||
#        user-given username to something else
 | 
			
		||||
#  password: Password, may optionally start with {type}, eg. {crypt}
 | 
			
		||||
# There are also other special fields which can be returned, see
 | 
			
		||||
# http://wiki2.dovecot.org/PasswordDatabase/ExtraFields
 | 
			
		||||
#pass_attrs = uid=user,userPassword=password
 | 
			
		||||
 | 
			
		||||
# If you wish to avoid two LDAP lookups (passdb + userdb), you can use
 | 
			
		||||
# userdb prefetch instead of userdb ldap in dovecot.conf. In that case you'll
 | 
			
		||||
# also have to include user_attrs in pass_attrs field prefixed with "userdb_"
 | 
			
		||||
# string. For example:
 | 
			
		||||
#pass_attrs = uid=user,userPassword=password,\
 | 
			
		||||
#  homeDirectory=userdb_home,uidNumber=userdb_uid,gidNumber=userdb_gid
 | 
			
		||||
 | 
			
		||||
# Filter for password lookups
 | 
			
		||||
#pass_filter = (&(objectClass=posixAccount)(uid=%u))
 | 
			
		||||
 | 
			
		||||
# Attributes and filter to get a list of all users
 | 
			
		||||
#iterate_attrs = uid=user
 | 
			
		||||
#iterate_filter = (objectClass=posixAccount)
 | 
			
		||||
 | 
			
		||||
# Default password scheme. "{scheme}" before password overrides this.
 | 
			
		||||
# List of supported schemes is in: http://wiki2.dovecot.org/Authentication
 | 
			
		||||
#default_pass_scheme = CRYPT
 | 
			
		||||
 | 
			
		||||
# By default all LDAP lookups are performed by the auth master process.
 | 
			
		||||
# If blocking=yes, auth worker processes are used to perform the lookups.
 | 
			
		||||
# Each auth worker process creates its own LDAP connection so this can
 | 
			
		||||
# increase parallelism. With blocking=no the auth master process can
 | 
			
		||||
# keep 8 requests pipelined for the LDAP connection, while with blocking=yes
 | 
			
		||||
# each connection has a maximum of 1 request running. For small systems the
 | 
			
		||||
# blocking=no is sufficient and uses less resources.
 | 
			
		||||
#blocking = no
 | 
			
		||||
							
								
								
									
										144
									
								
								jails/config/mail/dovecot/example-config/dovecot-sql.conf.ext
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										144
									
								
								jails/config/mail/dovecot/example-config/dovecot-sql.conf.ext
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,144 @@
 | 
			
		||||
# This file is commonly accessed via passdb {} or userdb {} section in
 | 
			
		||||
# conf.d/auth-sql.conf.ext
 | 
			
		||||
 | 
			
		||||
# This file is opened as root, so it should be owned by root and mode 0600.
 | 
			
		||||
#
 | 
			
		||||
# http://wiki2.dovecot.org/AuthDatabase/SQL
 | 
			
		||||
#
 | 
			
		||||
# For the sql passdb module, you'll need a database with a table that
 | 
			
		||||
# contains fields for at least the username and password. If you want to
 | 
			
		||||
# use the user@domain syntax, you might want to have a separate domain
 | 
			
		||||
# field as well.
 | 
			
		||||
#
 | 
			
		||||
# If your users all have the same uig/gid, and have predictable home
 | 
			
		||||
# directories, you can use the static userdb module to generate the home
 | 
			
		||||
# dir based on the username and domain. In this case, you won't need fields
 | 
			
		||||
# for home, uid, or gid in the database.
 | 
			
		||||
#
 | 
			
		||||
# If you prefer to use the sql userdb module, you'll want to add fields
 | 
			
		||||
# for home, uid, and gid. Here is an example table:
 | 
			
		||||
#
 | 
			
		||||
# CREATE TABLE users (
 | 
			
		||||
#     username VARCHAR(128) NOT NULL,
 | 
			
		||||
#     domain VARCHAR(128) NOT NULL,
 | 
			
		||||
#     password VARCHAR(64) NOT NULL,
 | 
			
		||||
#     home VARCHAR(255) NOT NULL,
 | 
			
		||||
#     uid INTEGER NOT NULL,
 | 
			
		||||
#     gid INTEGER NOT NULL,
 | 
			
		||||
#     active CHAR(1) DEFAULT 'Y' NOT NULL
 | 
			
		||||
# );
 | 
			
		||||
 | 
			
		||||
# Database driver: mysql, pgsql, sqlite
 | 
			
		||||
#driver = 
 | 
			
		||||
 | 
			
		||||
# Database connection string. This is driver-specific setting.
 | 
			
		||||
#
 | 
			
		||||
# HA / round-robin load-balancing is supported by giving multiple host
 | 
			
		||||
# settings, like: host=sql1.host.org host=sql2.host.org
 | 
			
		||||
#
 | 
			
		||||
# pgsql:
 | 
			
		||||
#   For available options, see the PostgreSQL documentation for the
 | 
			
		||||
#   PQconnectdb function of libpq.
 | 
			
		||||
#   Use maxconns=n (default 5) to change how many connections Dovecot can
 | 
			
		||||
#   create to pgsql.
 | 
			
		||||
#
 | 
			
		||||
# mysql:
 | 
			
		||||
#   Basic options emulate PostgreSQL option names:
 | 
			
		||||
#     host, port, user, password, dbname
 | 
			
		||||
#
 | 
			
		||||
#   But also adds some new settings:
 | 
			
		||||
#     client_flags           - See MySQL manual
 | 
			
		||||
#     connect_timeout        - Connect timeout in seconds (default: 5)
 | 
			
		||||
#     read_timeout           - Read timeout in seconds (default: 30)
 | 
			
		||||
#     write_timeout          - Write timeout in seconds (default: 30)
 | 
			
		||||
#     ssl_ca, ssl_ca_path    - Set either one or both to enable SSL
 | 
			
		||||
#     ssl_cert, ssl_key      - For sending client-side certificates to server
 | 
			
		||||
#     ssl_cipher             - Set minimum allowed cipher security (default: HIGH)
 | 
			
		||||
#     ssl_verify_server_cert - Verify that the name in the server SSL certificate
 | 
			
		||||
#                              matches the host (default: no)
 | 
			
		||||
#     option_file            - Read options from the given file instead of
 | 
			
		||||
#                              the default my.cnf location
 | 
			
		||||
#     option_group           - Read options from the given group (default: client)
 | 
			
		||||
# 
 | 
			
		||||
#   You can connect to UNIX sockets by using host: host=/var/run/mysql.sock
 | 
			
		||||
#   Note that currently you can't use spaces in parameters.
 | 
			
		||||
#
 | 
			
		||||
# sqlite:
 | 
			
		||||
#   The path to the database file.
 | 
			
		||||
#
 | 
			
		||||
# Examples:
 | 
			
		||||
#   connect = host=192.168.1.1 dbname=users
 | 
			
		||||
#   connect = host=sql.example.com dbname=virtual user=virtual password=blarg
 | 
			
		||||
#   connect = /etc/dovecot/authdb.sqlite
 | 
			
		||||
#
 | 
			
		||||
#connect =
 | 
			
		||||
 | 
			
		||||
# Default password scheme.
 | 
			
		||||
#
 | 
			
		||||
# List of supported schemes is in
 | 
			
		||||
# http://wiki2.dovecot.org/Authentication/PasswordSchemes
 | 
			
		||||
#
 | 
			
		||||
#default_pass_scheme = MD5
 | 
			
		||||
 | 
			
		||||
# passdb query to retrieve the password. It can return fields:
 | 
			
		||||
#   password - The user's password. This field must be returned.
 | 
			
		||||
#   user - user@domain from the database. Needed with case-insensitive lookups.
 | 
			
		||||
#   username and domain - An alternative way to represent the "user" field.
 | 
			
		||||
#
 | 
			
		||||
# The "user" field is often necessary with case-insensitive lookups to avoid
 | 
			
		||||
# e.g. "name" and "nAme" logins creating two different mail directories. If
 | 
			
		||||
# your user and domain names are in separate fields, you can return "username"
 | 
			
		||||
# and "domain" fields instead of "user".
 | 
			
		||||
#
 | 
			
		||||
# The query can also return other fields which have a special meaning, see
 | 
			
		||||
# http://wiki2.dovecot.org/PasswordDatabase/ExtraFields
 | 
			
		||||
#
 | 
			
		||||
# Commonly used available substitutions (see http://wiki2.dovecot.org/Variables
 | 
			
		||||
# for full list):
 | 
			
		||||
#   %u = entire user@domain
 | 
			
		||||
#   %n = user part of user@domain
 | 
			
		||||
#   %d = domain part of user@domain
 | 
			
		||||
# 
 | 
			
		||||
# Note that these can be used only as input to SQL query. If the query outputs
 | 
			
		||||
# any of these substitutions, they're not touched. Otherwise it would be
 | 
			
		||||
# difficult to have eg. usernames containing '%' characters.
 | 
			
		||||
#
 | 
			
		||||
# Example:
 | 
			
		||||
#   password_query = SELECT userid AS user, pw AS password \
 | 
			
		||||
#     FROM users WHERE userid = '%u' AND active = 'Y'
 | 
			
		||||
#
 | 
			
		||||
#password_query = \
 | 
			
		||||
#  SELECT username, domain, password \
 | 
			
		||||
#  FROM users WHERE username = '%n' AND domain = '%d'
 | 
			
		||||
 | 
			
		||||
# userdb query to retrieve the user information. It can return fields:
 | 
			
		||||
#   uid - System UID (overrides mail_uid setting)
 | 
			
		||||
#   gid - System GID (overrides mail_gid setting)
 | 
			
		||||
#   home - Home directory
 | 
			
		||||
#   mail - Mail location (overrides mail_location setting)
 | 
			
		||||
#
 | 
			
		||||
# None of these are strictly required. If you use a single UID and GID, and
 | 
			
		||||
# home or mail directory fits to a template string, you could use userdb static
 | 
			
		||||
# instead. For a list of all fields that can be returned, see
 | 
			
		||||
# http://wiki2.dovecot.org/UserDatabase/ExtraFields
 | 
			
		||||
#
 | 
			
		||||
# Examples:
 | 
			
		||||
#   user_query = SELECT home, uid, gid FROM users WHERE userid = '%u'
 | 
			
		||||
#   user_query = SELECT dir AS home, user AS uid, group AS gid FROM users where userid = '%u'
 | 
			
		||||
#   user_query = SELECT home, 501 AS uid, 501 AS gid FROM users WHERE userid = '%u'
 | 
			
		||||
#
 | 
			
		||||
#user_query = \
 | 
			
		||||
#  SELECT home, uid, gid \
 | 
			
		||||
#  FROM users WHERE username = '%n' AND domain = '%d'
 | 
			
		||||
 | 
			
		||||
# If you wish to avoid two SQL lookups (passdb + userdb), you can use
 | 
			
		||||
# userdb prefetch instead of userdb sql in dovecot.conf. In that case you'll
 | 
			
		||||
# also have to return userdb fields in password_query prefixed with "userdb_"
 | 
			
		||||
# string. For example:
 | 
			
		||||
#password_query = \
 | 
			
		||||
#  SELECT userid AS user, password, \
 | 
			
		||||
#    home AS userdb_home, uid AS userdb_uid, gid AS userdb_gid \
 | 
			
		||||
#  FROM users WHERE userid = '%u'
 | 
			
		||||
 | 
			
		||||
# Query to get a list of all usernames.
 | 
			
		||||
#iterate_query = SELECT username AS user FROM users
 | 
			
		||||
							
								
								
									
										102
									
								
								jails/config/mail/dovecot/example-config/dovecot.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								jails/config/mail/dovecot/example-config/dovecot.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,102 @@
 | 
			
		||||
## Dovecot configuration file
 | 
			
		||||
 | 
			
		||||
# If you're in a hurry, see http://wiki2.dovecot.org/QuickConfiguration
 | 
			
		||||
 | 
			
		||||
# "doveconf -n" command gives a clean output of the changed settings. Use it
 | 
			
		||||
# instead of copy&pasting files when posting to the Dovecot mailing list.
 | 
			
		||||
 | 
			
		||||
# '#' character and everything after it is treated as comments. Extra spaces
 | 
			
		||||
# and tabs are ignored. If you want to use either of these explicitly, put the
 | 
			
		||||
# value inside quotes, eg.: key = "# char and trailing whitespace  "
 | 
			
		||||
 | 
			
		||||
# Most (but not all) settings can be overridden by different protocols and/or
 | 
			
		||||
# source/destination IPs by placing the settings inside sections, for example:
 | 
			
		||||
# protocol imap { }, local 127.0.0.1 { }, remote 10.0.0.0/8 { }
 | 
			
		||||
 | 
			
		||||
# Default values are shown for each setting, it's not required to uncomment
 | 
			
		||||
# those. These are exceptions to this though: No sections (e.g. namespace {})
 | 
			
		||||
# or plugin settings are added by default, they're listed only as examples.
 | 
			
		||||
# Paths are also just examples with the real defaults being based on configure
 | 
			
		||||
# options. The paths listed here are for configure --prefix=/usr
 | 
			
		||||
# --sysconfdir=/usr/local/etc --localstatedir=/var
 | 
			
		||||
 | 
			
		||||
# Protocols we want to be serving.
 | 
			
		||||
#protocols = imap pop3 lmtp submission
 | 
			
		||||
 | 
			
		||||
# A comma separated list of IPs or hosts where to listen in for connections. 
 | 
			
		||||
# "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces.
 | 
			
		||||
# If you want to specify non-default ports or anything more complex,
 | 
			
		||||
# edit conf.d/master.conf.
 | 
			
		||||
#listen = *, ::
 | 
			
		||||
 | 
			
		||||
# Base directory where to store runtime data.
 | 
			
		||||
#base_dir = /var/run/dovecot/
 | 
			
		||||
 | 
			
		||||
# Name of this instance. In multi-instance setup doveadm and other commands
 | 
			
		||||
# can use -i <instance_name> to select which instance is used (an alternative
 | 
			
		||||
# to -c <config_path>). The instance name is also added to Dovecot processes
 | 
			
		||||
# in ps output.
 | 
			
		||||
#instance_name = dovecot
 | 
			
		||||
 | 
			
		||||
# Greeting message for clients.
 | 
			
		||||
#login_greeting = Dovecot ready.
 | 
			
		||||
 | 
			
		||||
# Space separated list of trusted network ranges. Connections from these
 | 
			
		||||
# IPs are allowed to override their IP addresses and ports (for logging and
 | 
			
		||||
# for authentication checks). disable_plaintext_auth is also ignored for
 | 
			
		||||
# these networks. Typically you'd specify your IMAP proxy servers here.
 | 
			
		||||
#login_trusted_networks =
 | 
			
		||||
 | 
			
		||||
# Space separated list of login access check sockets (e.g. tcpwrap)
 | 
			
		||||
#login_access_sockets = 
 | 
			
		||||
 | 
			
		||||
# With proxy_maybe=yes if proxy destination matches any of these IPs, don't do
 | 
			
		||||
# proxying. This isn't necessary normally, but may be useful if the destination
 | 
			
		||||
# IP is e.g. a load balancer's IP.
 | 
			
		||||
#auth_proxy_self =
 | 
			
		||||
 | 
			
		||||
# Show more verbose process titles (in ps). Currently shows user name and
 | 
			
		||||
# IP address. Useful for seeing who are actually using the IMAP processes
 | 
			
		||||
# (eg. shared mailboxes or if same uid is used for multiple accounts).
 | 
			
		||||
#verbose_proctitle = no
 | 
			
		||||
 | 
			
		||||
# Should all processes be killed when Dovecot master process shuts down.
 | 
			
		||||
# Setting this to "no" means that Dovecot can be upgraded without
 | 
			
		||||
# forcing existing client connections to close (although that could also be
 | 
			
		||||
# a problem if the upgrade is e.g. because of a security fix).
 | 
			
		||||
#shutdown_clients = yes
 | 
			
		||||
 | 
			
		||||
# If non-zero, run mail commands via this many connections to doveadm server,
 | 
			
		||||
# instead of running them directly in the same process.
 | 
			
		||||
#doveadm_worker_count = 0
 | 
			
		||||
# UNIX socket or host:port used for connecting to doveadm server
 | 
			
		||||
#doveadm_socket_path = doveadm-server
 | 
			
		||||
 | 
			
		||||
# Space separated list of environment variables that are preserved on Dovecot
 | 
			
		||||
# startup and passed down to all of its child processes. You can also give
 | 
			
		||||
# key=value pairs to always set specific settings.
 | 
			
		||||
#import_environment = TZ
 | 
			
		||||
 | 
			
		||||
##
 | 
			
		||||
## Dictionary server settings
 | 
			
		||||
##
 | 
			
		||||
 | 
			
		||||
# Dictionary can be used to store key=value lists. This is used by several
 | 
			
		||||
# plugins. The dictionary can be accessed either directly or though a
 | 
			
		||||
# dictionary server. The following dict block maps dictionary names to URIs
 | 
			
		||||
# when the server is used. These can then be referenced using URIs in format
 | 
			
		||||
# "proxy::<name>".
 | 
			
		||||
 | 
			
		||||
dict {
 | 
			
		||||
  #quota = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
 | 
			
		||||
  #expire = sqlite:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Most of the actual configuration gets included below. The filenames are
 | 
			
		||||
# first sorted by their ASCII value and parsed in that order. The 00-prefixes
 | 
			
		||||
# in filenames are intended to make it easier to understand the ordering.
 | 
			
		||||
!include conf.d/*.conf
 | 
			
		||||
 | 
			
		||||
# A config file can also tried to be included without giving an error if
 | 
			
		||||
# it's not found:
 | 
			
		||||
!include_try local.conf
 | 
			
		||||
							
								
								
									
										14
									
								
								jails/config/mail/dovecot/ldap.conf.ext
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								jails/config/mail/dovecot/ldap.conf.ext
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
			
		||||
hosts = ldap.ahlawat.com
 | 
			
		||||
auth_bind = no
 | 
			
		||||
ldap_version = 3
 | 
			
		||||
base = ou=people,dc=infra
 | 
			
		||||
deref = never
 | 
			
		||||
scope = subtree
 | 
			
		||||
user_attrs = homeDirectory=cn
 | 
			
		||||
user_filter = (&(objectclass=posixAccount)(cn=%n))
 | 
			
		||||
pass_attrs = uid=user,userPassword=password
 | 
			
		||||
pass_filter = (&(objectclass=posixAccount)(cn=%n))
 | 
			
		||||
# Attributes and filter to get a list of all users
 | 
			
		||||
iterate_attrs = uid=user
 | 
			
		||||
iterate_filter = (objectClass=posixAccount)
 | 
			
		||||
default_pass_scheme = CRYPT
 | 
			
		||||
							
								
								
									
										5
									
								
								jails/config/mail/dovecot/sieve-before.d/10-rspamd.sieve
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								jails/config/mail/dovecot/sieve-before.d/10-rspamd.sieve
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
require ["fileinto"];
 | 
			
		||||
 | 
			
		||||
if header :is "X-Spam" "Yes" {
 | 
			
		||||
  fileinto "Junk";
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								jails/config/mail/dovecot/sieve-before.d/10-rspamd.svbin
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								jails/config/mail/dovecot/sieve-before.d/10-rspamd.svbin
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										15
									
								
								jails/config/mail/dovecot/sieve/report-ham.sieve
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								jails/config/mail/dovecot/sieve/report-ham.sieve
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
			
		||||
require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"];
 | 
			
		||||
 | 
			
		||||
if environment :matches "imap.mailbox" "*" {
 | 
			
		||||
  set "mailbox" "${1}";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if string "${mailbox}" "Trash" {
 | 
			
		||||
  stop;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if environment :matches "imap.email" "*" {
 | 
			
		||||
  set "email" "${1}";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pipe :copy "train-ham.sh" [ "${email}" ];
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								jails/config/mail/dovecot/sieve/report-ham.svbin
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								jails/config/mail/dovecot/sieve/report-ham.svbin
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										7
									
								
								jails/config/mail/dovecot/sieve/report-spam.sieve
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								jails/config/mail/dovecot/sieve/report-spam.sieve
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
			
		||||
require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"];
 | 
			
		||||
 | 
			
		||||
if environment :matches "imap.email" "*" {
 | 
			
		||||
  set "email" "${1}";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pipe :copy "train-spam.sh" [ "${email}" ];
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								jails/config/mail/dovecot/sieve/report-spam.svbin
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								jails/config/mail/dovecot/sieve/report-spam.svbin
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										1
									
								
								jails/config/mail/dovecot/sieve/train-ham.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								jails/config/mail/dovecot/sieve/train-ham.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
exec /usr/local/bin/rspamc -h /var/run/rspamd/rspamd.sock learn_ham
 | 
			
		||||
							
								
								
									
										1
									
								
								jails/config/mail/dovecot/sieve/train-spam.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								jails/config/mail/dovecot/sieve/train-spam.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
exec /usr/local/bin/rspamc -h /var/run/rspamd/rspamd.sock learn_spam
 | 
			
		||||
							
								
								
									
										4
									
								
								jails/config/mail/periodic.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								jails/config/mail/periodic.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
			
		||||
daily_clean_hoststat_enable="NO"
 | 
			
		||||
daily_status_mail_rejects_enable="NO"
 | 
			
		||||
daily_status_include_submit_mailq="NO"
 | 
			
		||||
daily_submit_queuerun="NO"
 | 
			
		||||
							
								
								
									
										20
									
								
								jails/config/mail/pkgp.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								jails/config/mail/pkgp.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
			
		||||
FreeBSD: {
 | 
			
		||||
    url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
 | 
			
		||||
    enabled: no
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pkgp-freebsd-pkg: {
 | 
			
		||||
    url: "http://pkgp-freebsd-pkg.ahlawat.com/${ABI}/latest",
 | 
			
		||||
    mirror_type: "http",
 | 
			
		||||
    enabled: yes,
 | 
			
		||||
    priority: 10
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pkgp121: {
 | 
			
		||||
    url: "http://pkgp.ahlawat.com/packages/pj121-default/",
 | 
			
		||||
    mirror_type: "http",
 | 
			
		||||
    signature_type: "pubkey",
 | 
			
		||||
    pubkey: "/mnt/certs/poudriere.cert",
 | 
			
		||||
    enabled: yes,
 | 
			
		||||
    priority: 100
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										508
									
								
								jails/config/mail/postfix/LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										508
									
								
								jails/config/mail/postfix/LICENSE
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,508 @@
 | 
			
		||||
LICENSE - SECURE MAILER
 | 
			
		||||
 | 
			
		||||
This software is dual-licensed under both the Eclipse Public License
 | 
			
		||||
version 2.0 and the IBM Public License version 1.0, for those who
 | 
			
		||||
are more comfortable continuing with that license. Recipients can
 | 
			
		||||
choose to take the software under the license of their choice.
 | 
			
		||||
 | 
			
		||||
The remainder of this text contains a copy of each license.
 | 
			
		||||
 | 
			
		||||
Eclipse Public License - v 2.0
 | 
			
		||||
 | 
			
		||||
    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
 | 
			
		||||
    PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
 | 
			
		||||
    OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
 | 
			
		||||
 | 
			
		||||
1. DEFINITIONS
 | 
			
		||||
 | 
			
		||||
"Contribution" means:
 | 
			
		||||
 | 
			
		||||
  a) in the case of the initial Contributor, the initial content
 | 
			
		||||
     Distributed under this Agreement, and
 | 
			
		||||
 | 
			
		||||
  b) in the case of each subsequent Contributor:
 | 
			
		||||
     i) changes to the Program, and
 | 
			
		||||
     ii) additions to the Program;
 | 
			
		||||
  where such changes and/or additions to the Program originate from
 | 
			
		||||
  and are Distributed by that particular Contributor. A Contribution
 | 
			
		||||
  "originates" from a Contributor if it was added to the Program by
 | 
			
		||||
  such Contributor itself or anyone acting on such Contributor's behalf.
 | 
			
		||||
  Contributions do not include changes or additions to the Program that
 | 
			
		||||
  are not Modified Works.
 | 
			
		||||
 | 
			
		||||
"Contributor" means any person or entity that Distributes the Program.
 | 
			
		||||
 | 
			
		||||
"Licensed Patents" mean patent claims licensable by a Contributor which
 | 
			
		||||
are necessarily infringed by the use or sale of its Contribution alone
 | 
			
		||||
or when combined with the Program.
 | 
			
		||||
 | 
			
		||||
"Program" means the Contributions Distributed in accordance with this
 | 
			
		||||
Agreement.
 | 
			
		||||
 | 
			
		||||
"Recipient" means anyone who receives the Program under this Agreement
 | 
			
		||||
or any Secondary License (as applicable), including Contributors.
 | 
			
		||||
 | 
			
		||||
"Derivative Works" shall mean any work, whether in Source Code or other
 | 
			
		||||
form, that is based on (or derived from) the Program and for which the
 | 
			
		||||
editorial revisions, annotations, elaborations, or other modifications
 | 
			
		||||
represent, as a whole, an original work of authorship.
 | 
			
		||||
 | 
			
		||||
"Modified Works" shall mean any work in Source Code or other form that
 | 
			
		||||
results from an addition to, deletion from, or modification of the
 | 
			
		||||
contents of the Program, including, for purposes of clarity any new file
 | 
			
		||||
in Source Code form that contains any contents of the Program. Modified
 | 
			
		||||
Works shall not include works that contain only declarations,
 | 
			
		||||
interfaces, types, classes, structures, or files of the Program solely
 | 
			
		||||
in each case in order to link to, bind by name, or subclass the Program
 | 
			
		||||
or Modified Works thereof.
 | 
			
		||||
 | 
			
		||||
"Distribute" means the acts of a) distributing or b) making available
 | 
			
		||||
in any manner that enables the transfer of a copy.
 | 
			
		||||
 | 
			
		||||
"Source Code" means the form of a Program preferred for making
 | 
			
		||||
modifications, including but not limited to software source code,
 | 
			
		||||
documentation source, and configuration files.
 | 
			
		||||
 | 
			
		||||
"Secondary License" means either the GNU General Public License,
 | 
			
		||||
Version 2.0, or any later versions of that license, including any
 | 
			
		||||
exceptions or additional permissions as identified by the initial
 | 
			
		||||
Contributor.
 | 
			
		||||
 | 
			
		||||
2. GRANT OF RIGHTS
 | 
			
		||||
 | 
			
		||||
  a) Subject to the terms of this Agreement, each Contributor hereby
 | 
			
		||||
  grants Recipient a non-exclusive, worldwide, royalty-free copyright
 | 
			
		||||
  license to reproduce, prepare Derivative Works of, publicly display,
 | 
			
		||||
  publicly perform, Distribute and sublicense the Contribution of such
 | 
			
		||||
  Contributor, if any, and such Derivative Works.
 | 
			
		||||
 | 
			
		||||
  b) Subject to the terms of this Agreement, each Contributor hereby
 | 
			
		||||
  grants Recipient a non-exclusive, worldwide, royalty-free patent
 | 
			
		||||
  license under Licensed Patents to make, use, sell, offer to sell,
 | 
			
		||||
  import and otherwise transfer the Contribution of such Contributor,
 | 
			
		||||
  if any, in Source Code or other form. This patent license shall
 | 
			
		||||
  apply to the combination of the Contribution and the Program if, at
 | 
			
		||||
  the time the Contribution is added by the Contributor, such addition
 | 
			
		||||
  of the Contribution causes such combination to be covered by the
 | 
			
		||||
  Licensed Patents. The patent license shall not apply to any other
 | 
			
		||||
  combinations which include the Contribution. No hardware per se is
 | 
			
		||||
  licensed hereunder.
 | 
			
		||||
 | 
			
		||||
  c) Recipient understands that although each Contributor grants the
 | 
			
		||||
  licenses to its Contributions set forth herein, no assurances are
 | 
			
		||||
  provided by any Contributor that the Program does not infringe the
 | 
			
		||||
  patent or other intellectual property rights of any other entity.
 | 
			
		||||
  Each Contributor disclaims any liability to Recipient for claims
 | 
			
		||||
  brought by any other entity based on infringement of intellectual
 | 
			
		||||
  property rights or otherwise. As a condition to exercising the
 | 
			
		||||
  rights and licenses granted hereunder, each Recipient hereby
 | 
			
		||||
  assumes sole responsibility to secure any other intellectual
 | 
			
		||||
  property rights needed, if any. For example, if a third party
 | 
			
		||||
  patent license is required to allow Recipient to Distribute the
 | 
			
		||||
  Program, it is Recipient's responsibility to acquire that license
 | 
			
		||||
  before distributing the Program.
 | 
			
		||||
 | 
			
		||||
  d) Each Contributor represents that to its knowledge it has
 | 
			
		||||
  sufficient copyright rights in its Contribution, if any, to grant
 | 
			
		||||
  the copyright license set forth in this Agreement.
 | 
			
		||||
 | 
			
		||||
  e) Notwithstanding the terms of any Secondary License, no
 | 
			
		||||
  Contributor makes additional grants to any Recipient (other than
 | 
			
		||||
  those set forth in this Agreement) as a result of such Recipient's
 | 
			
		||||
  receipt of the Program under the terms of a Secondary License
 | 
			
		||||
  (if permitted under the terms of Section 3).
 | 
			
		||||
 | 
			
		||||
3. REQUIREMENTS
 | 
			
		||||
 | 
			
		||||
3.1 If a Contributor Distributes the Program in any form, then:
 | 
			
		||||
 | 
			
		||||
  a) the Program must also be made available as Source Code, in
 | 
			
		||||
  accordance with section 3.2, and the Contributor must accompany
 | 
			
		||||
  the Program with a statement that the Source Code for the Program
 | 
			
		||||
  is available under this Agreement, and informs Recipients how to
 | 
			
		||||
  obtain it in a reasonable manner on or through a medium customarily
 | 
			
		||||
  used for software exchange; and
 | 
			
		||||
 | 
			
		||||
  b) the Contributor may Distribute the Program under a license
 | 
			
		||||
  different than this Agreement, provided that such license:
 | 
			
		||||
     i) effectively disclaims on behalf of all other Contributors all
 | 
			
		||||
     warranties and conditions, express and implied, including
 | 
			
		||||
     warranties or conditions of title and non-infringement, and
 | 
			
		||||
     implied warranties or conditions of merchantability and fitness
 | 
			
		||||
     for a particular purpose;
 | 
			
		||||
 | 
			
		||||
     ii) effectively excludes on behalf of all other Contributors all
 | 
			
		||||
     liability for damages, including direct, indirect, special,
 | 
			
		||||
     incidental and consequential damages, such as lost profits;
 | 
			
		||||
 | 
			
		||||
     iii) does not attempt to limit or alter the recipients' rights
 | 
			
		||||
     in the Source Code under section 3.2; and
 | 
			
		||||
 | 
			
		||||
     iv) requires any subsequent distribution of the Program by any
 | 
			
		||||
     party to be under a license that satisfies the requirements
 | 
			
		||||
     of this section 3.
 | 
			
		||||
 | 
			
		||||
3.2 When the Program is Distributed as Source Code:
 | 
			
		||||
 | 
			
		||||
  a) it must be made available under this Agreement, or if the
 | 
			
		||||
  Program (i) is combined with other material in a separate file or
 | 
			
		||||
  files made available under a Secondary License, and (ii) the initial
 | 
			
		||||
  Contributor attached to the Source Code the notice described in
 | 
			
		||||
  Exhibit A of this Agreement, then the Program may be made available
 | 
			
		||||
  under the terms of such Secondary Licenses, and
 | 
			
		||||
 | 
			
		||||
  b) a copy of this Agreement must be included with each copy of
 | 
			
		||||
  the Program.
 | 
			
		||||
 | 
			
		||||
3.3 Contributors may not remove or alter any copyright, patent,
 | 
			
		||||
trademark, attribution notices, disclaimers of warranty, or limitations
 | 
			
		||||
of liability ("notices") contained within the Program from any copy of
 | 
			
		||||
the Program which they Distribute, provided that Contributors may add
 | 
			
		||||
their own appropriate notices.
 | 
			
		||||
 | 
			
		||||
4. COMMERCIAL DISTRIBUTION
 | 
			
		||||
 | 
			
		||||
Commercial distributors of software may accept certain responsibilities
 | 
			
		||||
with respect to end users, business partners and the like. While this
 | 
			
		||||
license is intended to facilitate the commercial use of the Program,
 | 
			
		||||
the Contributor who includes the Program in a commercial product
 | 
			
		||||
offering should do so in a manner which does not create potential
 | 
			
		||||
liability for other Contributors. Therefore, if a Contributor includes
 | 
			
		||||
the Program in a commercial product offering, such Contributor
 | 
			
		||||
("Commercial Contributor") hereby agrees to defend and indemnify every
 | 
			
		||||
other Contributor ("Indemnified Contributor") against any losses,
 | 
			
		||||
damages and costs (collectively "Losses") arising from claims, lawsuits
 | 
			
		||||
and other legal actions brought by a third party against the Indemnified
 | 
			
		||||
Contributor to the extent caused by the acts or omissions of such
 | 
			
		||||
Commercial Contributor in connection with its distribution of the Program
 | 
			
		||||
in a commercial product offering. The obligations in this section do not
 | 
			
		||||
apply to any claims or Losses relating to any actual or alleged
 | 
			
		||||
intellectual property infringement. In order to qualify, an Indemnified
 | 
			
		||||
Contributor must: a) promptly notify the Commercial Contributor in
 | 
			
		||||
writing of such claim, and b) allow the Commercial Contributor to control,
 | 
			
		||||
and cooperate with the Commercial Contributor in, the defense and any
 | 
			
		||||
related settlement negotiations. The Indemnified Contributor may
 | 
			
		||||
participate in any such claim at its own expense.
 | 
			
		||||
 | 
			
		||||
For example, a Contributor might include the Program in a commercial
 | 
			
		||||
product offering, Product X. That Contributor is then a Commercial
 | 
			
		||||
Contributor. If that Commercial Contributor then makes performance
 | 
			
		||||
claims, or offers warranties related to Product X, those performance
 | 
			
		||||
claims and warranties are such Commercial Contributor's responsibility
 | 
			
		||||
alone. Under this section, the Commercial Contributor would have to
 | 
			
		||||
defend claims against the other Contributors related to those performance
 | 
			
		||||
claims and warranties, and if a court requires any other Contributor to
 | 
			
		||||
pay any damages as a result, the Commercial Contributor must pay
 | 
			
		||||
those damages.
 | 
			
		||||
 | 
			
		||||
5. NO WARRANTY
 | 
			
		||||
 | 
			
		||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
 | 
			
		||||
PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
 | 
			
		||||
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
 | 
			
		||||
IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
 | 
			
		||||
TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
 | 
			
		||||
PURPOSE. Each Recipient is solely responsible for determining the
 | 
			
		||||
appropriateness of using and distributing the Program and assumes all
 | 
			
		||||
risks associated with its exercise of rights under this Agreement,
 | 
			
		||||
including but not limited to the risks and costs of program errors,
 | 
			
		||||
compliance with applicable laws, damage to or loss of data, programs
 | 
			
		||||
or equipment, and unavailability or interruption of operations.
 | 
			
		||||
 | 
			
		||||
6. DISCLAIMER OF LIABILITY
 | 
			
		||||
 | 
			
		||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
 | 
			
		||||
PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
 | 
			
		||||
SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 | 
			
		||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
 | 
			
		||||
PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 | 
			
		||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 | 
			
		||||
ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
 | 
			
		||||
EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
 | 
			
		||||
POSSIBILITY OF SUCH DAMAGES.
 | 
			
		||||
 | 
			
		||||
7. GENERAL
 | 
			
		||||
 | 
			
		||||
If any provision of this Agreement is invalid or unenforceable under
 | 
			
		||||
applicable law, it shall not affect the validity or enforceability of
 | 
			
		||||
the remainder of the terms of this Agreement, and without further
 | 
			
		||||
action by the parties hereto, such provision shall be reformed to the
 | 
			
		||||
minimum extent necessary to make such provision valid and enforceable.
 | 
			
		||||
 | 
			
		||||
If Recipient institutes patent litigation against any entity
 | 
			
		||||
(including a cross-claim or counterclaim in a lawsuit) alleging that the
 | 
			
		||||
Program itself (excluding combinations of the Program with other software
 | 
			
		||||
or hardware) infringes such Recipient's patent(s), then such Recipient's
 | 
			
		||||
rights granted under Section 2(b) shall terminate as of the date such
 | 
			
		||||
litigation is filed.
 | 
			
		||||
 | 
			
		||||
All Recipient's rights under this Agreement shall terminate if it
 | 
			
		||||
fails to comply with any of the material terms or conditions of this
 | 
			
		||||
Agreement and does not cure such failure in a reasonable period of
 | 
			
		||||
time after becoming aware of such noncompliance. If all Recipient's
 | 
			
		||||
rights under this Agreement terminate, Recipient agrees to cease use
 | 
			
		||||
and distribution of the Program as soon as reasonably practicable.
 | 
			
		||||
However, Recipient's obligations under this Agreement and any licenses
 | 
			
		||||
granted by Recipient relating to the Program shall continue and survive.
 | 
			
		||||
 | 
			
		||||
Everyone is permitted to copy and distribute copies of this Agreement,
 | 
			
		||||
but in order to avoid inconsistency the Agreement is copyrighted and
 | 
			
		||||
may only be modified in the following manner. The Agreement Steward
 | 
			
		||||
reserves the right to publish new versions (including revisions) of
 | 
			
		||||
this Agreement from time to time. No one other than the Agreement
 | 
			
		||||
Steward has the right to modify this Agreement. The Eclipse Foundation
 | 
			
		||||
is the initial Agreement Steward. The Eclipse Foundation may assign the
 | 
			
		||||
responsibility to serve as the Agreement Steward to a suitable separate
 | 
			
		||||
entity. Each new version of the Agreement will be given a distinguishing
 | 
			
		||||
version number. The Program (including Contributions) may always be
 | 
			
		||||
Distributed subject to the version of the Agreement under which it was
 | 
			
		||||
received. In addition, after a new version of the Agreement is published,
 | 
			
		||||
Contributor may elect to Distribute the Program (including its
 | 
			
		||||
Contributions) under the new version.
 | 
			
		||||
 | 
			
		||||
Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
 | 
			
		||||
receives no rights or licenses to the intellectual property of any
 | 
			
		||||
Contributor under this Agreement, whether expressly, by implication,
 | 
			
		||||
estoppel or otherwise. All rights in the Program not expressly granted
 | 
			
		||||
under this Agreement are reserved. Nothing in this Agreement is intended
 | 
			
		||||
to be enforceable by any entity that is not a Contributor or Recipient.
 | 
			
		||||
No third-party beneficiary rights are created under this Agreement.
 | 
			
		||||
 | 
			
		||||
Exhibit A - Form of Secondary Licenses Notice
 | 
			
		||||
 | 
			
		||||
"This Source Code may also be made available under the following 
 | 
			
		||||
Secondary Licenses when the conditions for such availability set forth 
 | 
			
		||||
in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
 | 
			
		||||
version(s), and exceptions or additional permissions here}."
 | 
			
		||||
 | 
			
		||||
  Simply including a copy of this Agreement, including this Exhibit A
 | 
			
		||||
  is not sufficient to license the Source Code under Secondary Licenses.
 | 
			
		||||
 | 
			
		||||
  If it is not possible or desirable to put the notice in a particular
 | 
			
		||||
  file, then You may include the notice in a location (such as a LICENSE
 | 
			
		||||
  file in a relevant directory) where a recipient would be likely to
 | 
			
		||||
  look for such a notice.
 | 
			
		||||
 | 
			
		||||
  You may add additional accurate notices of copyright ownership.
 | 
			
		||||
 | 
			
		||||
IBM PUBLIC LICENSE VERSION 1.0 - SECURE MAILER
 | 
			
		||||
 | 
			
		||||
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM PUBLIC
 | 
			
		||||
LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE
 | 
			
		||||
PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
 | 
			
		||||
 | 
			
		||||
1.  DEFINITIONS
 | 
			
		||||
 | 
			
		||||
"Contribution" means:  
 | 
			
		||||
    a) in the case of International Business Machines Corporation ("IBM"), 
 | 
			
		||||
       the Original Program, and 
 | 
			
		||||
    b) in the case of each Contributor, 
 | 
			
		||||
       i)  changes to the Program, and
 | 
			
		||||
       ii) additions to the Program;
 | 
			
		||||
           where such changes and/or additions to the Program originate
 | 
			
		||||
           from and are distributed by that particular Contributor.  
 | 
			
		||||
           A Contribution 'originates' from a Contributor if it was added 
 | 
			
		||||
           to the Program by such Contributor itself or anyone acting on 
 | 
			
		||||
           such Contributor's behalf.  
 | 
			
		||||
    Contributions do not include additions to the Program which:
 | 
			
		||||
       (i)  are separate modules of software distributed in conjunction 
 | 
			
		||||
            with the Program under their own license agreement, and 
 | 
			
		||||
       (ii) are not derivative works of the Program.
 | 
			
		||||
 | 
			
		||||
"Contributor" means IBM and any other entity that distributes the Program.
 | 
			
		||||
 | 
			
		||||
"Licensed Patents " mean patent claims licensable by a Contributor which
 | 
			
		||||
are necessarily infringed by the use or sale of its Contribution alone
 | 
			
		||||
or when combined with the Program.
 | 
			
		||||
 | 
			
		||||
"Original Program" means the original version of the software accompanying
 | 
			
		||||
this Agreement as released by IBM, including source code, object code
 | 
			
		||||
and documentation, if any.
 | 
			
		||||
 | 
			
		||||
"Program" means the Original Program and Contributions.
 | 
			
		||||
 | 
			
		||||
"Recipient" means anyone who receives the Program under this Agreement, 
 | 
			
		||||
including all Contributors.
 | 
			
		||||
 | 
			
		||||
2.  GRANT OF RIGHTS
 | 
			
		||||
 | 
			
		||||
    a) Subject to the terms of this Agreement, each Contributor hereby
 | 
			
		||||
    grants Recipient a non-exclusive, worldwide, royalty-free copyright
 | 
			
		||||
    license to reproduce, prepare derivative works of, publicly display,
 | 
			
		||||
    publicly perform, distribute and sublicense the Contribution of such
 | 
			
		||||
    Contributor, if any, and such derivative works, in source code and
 | 
			
		||||
    object code form.
 | 
			
		||||
 | 
			
		||||
    b) Subject to the terms of this Agreement, each Contributor hereby
 | 
			
		||||
    grants Recipient a non-exclusive, worldwide, royalty-free patent
 | 
			
		||||
    license under Licensed Patents to make, use, sell, offer to sell,
 | 
			
		||||
    import and otherwise transfer the Contribution of such Contributor,
 | 
			
		||||
    if any, in source code and object code form.  This patent license
 | 
			
		||||
    shall apply to the combination of the Contribution and the Program
 | 
			
		||||
    if, at the time the Contribution is added by the Contributor, such
 | 
			
		||||
    addition of the Contribution causes such combination to be covered
 | 
			
		||||
    by the Licensed Patents.  The patent license shall not apply to any
 | 
			
		||||
    other combinations which include the Contribution.  No hardware per
 | 
			
		||||
    se is licensed hereunder.
 | 
			
		||||
 | 
			
		||||
    c) Recipient understands that although each Contributor grants the
 | 
			
		||||
    licenses to its Contributions set forth herein, no assurances are
 | 
			
		||||
    provided by any Contributor that the Program does not infringe the
 | 
			
		||||
    patent or other intellectual property rights of any other entity.
 | 
			
		||||
    Each Contributor disclaims any liability to Recipient for claims
 | 
			
		||||
    brought by any other entity based on infringement of intellectual
 | 
			
		||||
    property rights or otherwise.  As a condition to exercising the rights
 | 
			
		||||
    and licenses granted hereunder, each Recipient hereby assumes sole
 | 
			
		||||
    responsibility to secure any other intellectual property rights
 | 
			
		||||
    needed, if any.  For example, if a third party patent license
 | 
			
		||||
    is required to allow Recipient to distribute the Program, it is
 | 
			
		||||
    Recipient's responsibility to acquire that license before distributing
 | 
			
		||||
    the Program.
 | 
			
		||||
 | 
			
		||||
    d) Each Contributor represents that to its knowledge it has sufficient
 | 
			
		||||
    copyright rights in its Contribution, if any, to grant the copyright
 | 
			
		||||
    license set forth in this Agreement.
 | 
			
		||||
 | 
			
		||||
3.  REQUIREMENTS
 | 
			
		||||
 | 
			
		||||
A Contributor may choose to distribute the Program in object code form 
 | 
			
		||||
under its own license agreement, provided that:
 | 
			
		||||
    a) it complies with the terms and conditions of this Agreement; and
 | 
			
		||||
    b) its license agreement:
 | 
			
		||||
       i)   effectively disclaims on behalf of all Contributors all
 | 
			
		||||
            warranties and conditions, express and implied, including
 | 
			
		||||
            warranties or conditions of title and non-infringement, and
 | 
			
		||||
            implied warranties or conditions of merchantability and fitness
 | 
			
		||||
            for a particular purpose;
 | 
			
		||||
       ii)  effectively excludes on behalf of all Contributors all 
 | 
			
		||||
            liability for damages, including direct, indirect, special, 
 | 
			
		||||
            incidental and consequential damages, such as lost profits; 
 | 
			
		||||
       iii) states that any provisions which differ from this Agreement 
 | 
			
		||||
            are offered by that Contributor alone and not by any other 
 | 
			
		||||
            party; and
 | 
			
		||||
       iv)  states that source code for the Program is available from 
 | 
			
		||||
            such Contributor, and informs licensees how to obtain it in a 
 | 
			
		||||
            reasonable manner on or through a medium customarily used for 
 | 
			
		||||
            software exchange. 
 | 
			
		||||
 | 
			
		||||
When the Program is made available in source code form:
 | 
			
		||||
    a) it must be made available under this Agreement; and 
 | 
			
		||||
    b) a copy of this Agreement must be included with each copy of the 
 | 
			
		||||
       Program.  
 | 
			
		||||
 | 
			
		||||
Each Contributor must include the following in a conspicuous location 
 | 
			
		||||
in the Program: 
 | 
			
		||||
 | 
			
		||||
    Copyright (c) 1997,1998,1999, International Business Machines
 | 
			
		||||
    Corporation and others. All Rights Reserved.
 | 
			
		||||
 | 
			
		||||
In addition, each Contributor must identify itself as the originator of
 | 
			
		||||
its Contribution, if any, in a manner that reasonably allows subsequent
 | 
			
		||||
Recipients to identify the originator of the Contribution. 
 | 
			
		||||
 | 
			
		||||
4.  COMMERCIAL DISTRIBUTION
 | 
			
		||||
 | 
			
		||||
Commercial distributors of software may accept certain responsibilities
 | 
			
		||||
with respect to end users, business partners and the like.  While this
 | 
			
		||||
license is intended to facilitate the commercial use of the Program, the
 | 
			
		||||
Contributor who includes the Program in a commercial product offering
 | 
			
		||||
should do so in a manner which does not create potential liability for
 | 
			
		||||
other Contributors.   Therefore, if a Contributor includes the Program in
 | 
			
		||||
a commercial product offering, such Contributor ("Commercial Contributor")
 | 
			
		||||
hereby agrees to defend and indemnify every other Contributor
 | 
			
		||||
("Indemnified Contributor") against any losses, damages and costs
 | 
			
		||||
(collectively "Losses") arising from claims, lawsuits and other legal
 | 
			
		||||
actions brought by a third party against the Indemnified Contributor to
 | 
			
		||||
the extent caused by the acts or omissions of such Commercial Contributor
 | 
			
		||||
in connection with its distribution of the Program in a commercial
 | 
			
		||||
product offering.  The obligations in this section do not apply to any
 | 
			
		||||
claims or Losses relating to any actual or alleged intellectual property
 | 
			
		||||
infringement.  In order to qualify, an Indemnified Contributor must:
 | 
			
		||||
    a) promptly notify the Commercial Contributor in writing of such claim,
 | 
			
		||||
and 
 | 
			
		||||
    b) allow the Commercial Contributor to control, and cooperate with
 | 
			
		||||
       the Commercial Contributor in, the defense and any related 
 | 
			
		||||
       settlement negotiations.  The Indemnified Contributor may 
 | 
			
		||||
       participate in any such claim at its own expense.
 | 
			
		||||
 | 
			
		||||
For example, a Contributor might include the Program in a commercial
 | 
			
		||||
product offering, Product X.  That Contributor is then a Commercial
 | 
			
		||||
Contributor.  If that Commercial Contributor then makes performance
 | 
			
		||||
claims, or offers warranties related to Product X, those performance
 | 
			
		||||
claims and warranties are such Commercial Contributor's responsibility
 | 
			
		||||
alone.  Under this section, the Commercial Contributor would have to
 | 
			
		||||
defend claims against the other Contributors related to those performance
 | 
			
		||||
claims and warranties, and if a court requires any other Contributor to
 | 
			
		||||
pay any damages as a result, the Commercial Contributor must pay those
 | 
			
		||||
damages.
 | 
			
		||||
 | 
			
		||||
5.  NO WARRANTY
 | 
			
		||||
 | 
			
		||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
 | 
			
		||||
ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
 | 
			
		||||
EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
 | 
			
		||||
CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
 | 
			
		||||
PARTICULAR PURPOSE. Each Recipient is solely responsible for determining
 | 
			
		||||
the appropriateness of using and distributing the Program and assumes
 | 
			
		||||
all risks associated with its exercise of rights under this Agreement,
 | 
			
		||||
including but not limited to the risks and costs of program errors,
 | 
			
		||||
compliance with applicable laws, damage to or loss of data, programs or
 | 
			
		||||
equipment, and unavailability or interruption of operations. 
 | 
			
		||||
 | 
			
		||||
6.  DISCLAIMER OF LIABILITY
 | 
			
		||||
 | 
			
		||||
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
 | 
			
		||||
ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
 | 
			
		||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
 | 
			
		||||
WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
 | 
			
		||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 | 
			
		||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION
 | 
			
		||||
OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF
 | 
			
		||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 | 
			
		||||
 | 
			
		||||
7.  GENERAL
 | 
			
		||||
 | 
			
		||||
If any provision of this Agreement is invalid or unenforceable under
 | 
			
		||||
applicable law, it shall not affect the validity or enforceability of
 | 
			
		||||
the remainder of the terms of this Agreement, and without further action
 | 
			
		||||
by the parties hereto, such provision shall be reformed to the minimum
 | 
			
		||||
extent necessary to make such provision valid and enforceable.
 | 
			
		||||
 | 
			
		||||
If Recipient institutes patent litigation against a Contributor with
 | 
			
		||||
respect to a patent applicable to software (including a cross-claim or
 | 
			
		||||
counterclaim in a lawsuit), then any patent licenses granted by that
 | 
			
		||||
Contributor to such Recipient under this Agreement shall terminate
 | 
			
		||||
as of the date such litigation is filed.  In addition, If Recipient
 | 
			
		||||
institutes patent litigation against any entity (including a cross-claim
 | 
			
		||||
or counterclaim in a lawsuit) alleging that the Program itself (excluding
 | 
			
		||||
combinations of the Program with other software or hardware) infringes
 | 
			
		||||
such Recipient's patent(s), then such Recipient's rights granted under
 | 
			
		||||
Section 2(b) shall terminate as of the date such litigation is filed.
 | 
			
		||||
 | 
			
		||||
All Recipient's rights under this Agreement shall terminate if it fails
 | 
			
		||||
to comply with any of the material terms or conditions of this Agreement
 | 
			
		||||
and does not cure such failure in a reasonable period of time after
 | 
			
		||||
becoming aware of such noncompliance.  If all Recipient's rights under
 | 
			
		||||
this Agreement terminate, Recipient agrees to cease use and distribution
 | 
			
		||||
of the Program as soon as reasonably practicable.  However, Recipient's
 | 
			
		||||
obligations under this Agreement and any licenses granted by Recipient
 | 
			
		||||
relating to the Program shall continue and survive. 
 | 
			
		||||
 | 
			
		||||
IBM may publish new versions (including revisions) of this Agreement
 | 
			
		||||
from time to time.  Each new version of the Agreement will be given a
 | 
			
		||||
distinguishing version number.  The Program (including Contributions)
 | 
			
		||||
may always be distributed subject to the version of the Agreement under
 | 
			
		||||
which it was received. In addition, after a new version of the Agreement
 | 
			
		||||
is published, Contributor may elect to distribute the Program (including
 | 
			
		||||
its Contributions) under the new version. No one other than IBM has the
 | 
			
		||||
right to modify this Agreement.  Except as expressly stated in Sections
 | 
			
		||||
2(a) and 2(b) above, Recipient receives no rights or licenses to the
 | 
			
		||||
intellectual property of any Contributor under this Agreement, whether
 | 
			
		||||
expressly, by implication, estoppel or otherwise.  All rights in the
 | 
			
		||||
Program not expressly granted under this Agreement are reserved.
 | 
			
		||||
 | 
			
		||||
This Agreement is governed by the laws of the State of New York and the
 | 
			
		||||
intellectual property laws of the United States of America. No party to
 | 
			
		||||
this Agreement will bring a legal action under this Agreement more than
 | 
			
		||||
one year after the cause of action arose.  Each party waives its rights
 | 
			
		||||
to a jury trial in any resulting litigation. 
 | 
			
		||||
							
								
								
									
										36
									
								
								jails/config/mail/postfix/TLS_LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								jails/config/mail/postfix/TLS_LICENSE
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,36 @@
 | 
			
		||||
Author:
 | 
			
		||||
=======
 | 
			
		||||
- Postfix/TLS support was originally developed by Lutz Jaenicke of
 | 
			
		||||
  Brandenburg University of Technology, Cottbus, Germany.
 | 
			
		||||
 | 
			
		||||
License:
 | 
			
		||||
========
 | 
			
		||||
- This software is free. You can do with it whatever you want.
 | 
			
		||||
  I would however kindly ask you to acknowledge the use of this
 | 
			
		||||
  package, if you are going use it in your software, which you might
 | 
			
		||||
  be going to distribute. I would also like to receive a note if
 | 
			
		||||
  you are a satisfied user :-)
 | 
			
		||||
 | 
			
		||||
Acknowledgements:
 | 
			
		||||
=================
 | 
			
		||||
- This package is based on the OpenSSL package as provided by the
 | 
			
		||||
  ``OpenSSL Project''.
 | 
			
		||||
 | 
			
		||||
Disclaimer:
 | 
			
		||||
===========
 | 
			
		||||
- This software is provided ``as is''. You are using it at your own risk.
 | 
			
		||||
  I will take no liability in any case.
 | 
			
		||||
- This software package uses strong cryptography, so even if it is created,
 | 
			
		||||
  maintained and distributed from liberal countries in Europe (where it is
 | 
			
		||||
  legal to do this), it falls under certain export/import and/or use
 | 
			
		||||
  restrictions in some other parts of the world. 
 | 
			
		||||
- PLEASE REMEMBER THAT EXPORT/IMPORT AND/OR USE OF STRONG
 | 
			
		||||
  CRYPTOGRAPHY SOFTWARE, PROVIDING CRYPTOGRAPHY HOOKS OR EVEN JUST
 | 
			
		||||
  COMMUNICATING TECHNICAL DETAILS ABOUT CRYPTOGRAPHY SOFTWARE IS
 | 
			
		||||
  ILLEGAL IN SOME PARTS OF THE WORLD. SO, WHEN YOU IMPORT THIS PACKAGE
 | 
			
		||||
  TO YOUR COUNTRY, RE-DISTRIBUTE IT FROM THERE OR EVEN JUST EMAIL
 | 
			
		||||
  TECHNICAL SUGGESTIONS OR EVEN SOURCE PATCHES TO THE AUTHOR OR
 | 
			
		||||
  OTHER PEOPLE YOU ARE STRONGLY ADVISED TO PAY CLOSE ATTENTION TO ANY
 | 
			
		||||
  EXPORT/IMPORT AND/OR USE LAWS WHICH APPLY TO YOU. THE AUTHOR OF
 | 
			
		||||
  PFIXTLS IS NOT LIABLE FOR ANY VIOLATIONS YOU MAKE HERE. SO BE
 | 
			
		||||
  CAREFULLY YOURSELF, IT IS YOUR RESPONSIBILITY.  
 | 
			
		||||
							
								
								
									
										112
									
								
								jails/config/mail/postfix/bounce.cf.default
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								jails/config/mail/postfix/bounce.cf.default
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,112 @@
 | 
			
		||||
#
 | 
			
		||||
# Do not edit this file. This file shows the default delivery status
 | 
			
		||||
# notification (DSN) messages that are built into Postfix.
 | 
			
		||||
#
 | 
			
		||||
# To change Postfix DSN messages, perhaps to add non-English text,
 | 
			
		||||
# follow instructions in the bounce(5) manual page.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# The failure template is used when mail is returned to the sender;
 | 
			
		||||
# either the destination rejected the message, or the destination
 | 
			
		||||
# could not be reached before the message expired in the queue.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
failure_template = <<EOF
 | 
			
		||||
Charset: us-ascii
 | 
			
		||||
From: MAILER-DAEMON (Mail Delivery System)
 | 
			
		||||
Subject: Undelivered Mail Returned to Sender
 | 
			
		||||
Postmaster-Subject: Postmaster Copy: Undelivered Mail
 | 
			
		||||
 | 
			
		||||
This is the mail system at host $myhostname.
 | 
			
		||||
 | 
			
		||||
I'm sorry to have to inform you that your message could not
 | 
			
		||||
be delivered to one or more recipients. It's attached below.
 | 
			
		||||
 | 
			
		||||
For further assistance, please send mail to postmaster.
 | 
			
		||||
 | 
			
		||||
If you do so, please include this problem report. You can
 | 
			
		||||
delete your own text from the attached returned message.
 | 
			
		||||
 | 
			
		||||
                   The mail system
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# The delay template is used when mail is delayed. Note a neat trick:
 | 
			
		||||
# the default template displays the delay_warning_time value as hours
 | 
			
		||||
# by appending the _hours suffix to the parameter name; it displays
 | 
			
		||||
# the maximal_queue_lifetime value as days by appending the _days
 | 
			
		||||
# suffix.
 | 
			
		||||
#
 | 
			
		||||
# Other suffixes are: _seconds, _minutes, _weeks. There are no other
 | 
			
		||||
# main.cf parameters that have this special behavior.
 | 
			
		||||
#
 | 
			
		||||
# You need to adjust these suffixes (and the surrounding text) if
 | 
			
		||||
# you have very different settings for these time parameters.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
delay_template = <<EOF
 | 
			
		||||
Charset: us-ascii
 | 
			
		||||
From: MAILER-DAEMON (Mail Delivery System)
 | 
			
		||||
Subject: Delayed Mail (still being retried)
 | 
			
		||||
Postmaster-Subject: Postmaster Warning: Delayed Mail
 | 
			
		||||
 | 
			
		||||
This is the mail system at host $myhostname.
 | 
			
		||||
 | 
			
		||||
####################################################################
 | 
			
		||||
# THIS IS A WARNING ONLY.  YOU DO NOT NEED TO RESEND YOUR MESSAGE. #
 | 
			
		||||
####################################################################
 | 
			
		||||
 | 
			
		||||
Your message could not be delivered for more than $delay_warning_time_hours hour(s).
 | 
			
		||||
It will be retried until it is $maximal_queue_lifetime_days day(s) old.
 | 
			
		||||
 | 
			
		||||
For further assistance, please send mail to postmaster.
 | 
			
		||||
 | 
			
		||||
If you do so, please include this problem report. You can
 | 
			
		||||
delete your own text from the attached returned message.
 | 
			
		||||
 | 
			
		||||
                   The mail system
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# The success template is used when mail is delivered to mailbox,
 | 
			
		||||
# when an alias or list is expanded, or when mail is delivered to a
 | 
			
		||||
# system that does not announce DSN support. It is an error to specify
 | 
			
		||||
# a Postmaster-Subject: here.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
success_template = <<EOF
 | 
			
		||||
Charset: us-ascii
 | 
			
		||||
From: MAILER-DAEMON (Mail Delivery System)
 | 
			
		||||
Subject: Successful Mail Delivery Report
 | 
			
		||||
 | 
			
		||||
This is the mail system at host $myhostname.
 | 
			
		||||
 | 
			
		||||
Your message was successfully delivered to the destination(s)
 | 
			
		||||
listed below. If the message was delivered to mailbox you will
 | 
			
		||||
receive no further notifications. Otherwise you may still receive
 | 
			
		||||
notifications of mail delivery errors from other systems.
 | 
			
		||||
 | 
			
		||||
                   The mail system
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# The verify template is used for address verification (sendmail -bv
 | 
			
		||||
# address...) or for verbose mail delivery (sendmail -v address...).
 | 
			
		||||
# It is an error to specify a Postmaster-Subject: here.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
verify_template = <<EOF
 | 
			
		||||
Charset: us-ascii
 | 
			
		||||
From: MAILER-DAEMON (Mail Delivery System)
 | 
			
		||||
Subject: Mail Delivery Status Report
 | 
			
		||||
 | 
			
		||||
This is the mail system at host $myhostname.
 | 
			
		||||
 | 
			
		||||
Enclosed is the mail delivery report that you requested.
 | 
			
		||||
 | 
			
		||||
                   The mail system
 | 
			
		||||
EOF
 | 
			
		||||
@ -0,0 +1,6 @@
 | 
			
		||||
server_host = ldaps://ldap.ahlawat.com
 | 
			
		||||
search_base = ou=people,dc=infra
 | 
			
		||||
version = 3
 | 
			
		||||
bind = no
 | 
			
		||||
query_filter = (&(objectclass=posixAccount)(mail=%s))
 | 
			
		||||
result_attribute = uid
 | 
			
		||||
@ -0,0 +1,6 @@
 | 
			
		||||
server_host = ldaps://ldap.ahlawat.com
 | 
			
		||||
search_base = ou=group,dc=infra
 | 
			
		||||
version = 3
 | 
			
		||||
bind = no
 | 
			
		||||
query_filter = (&(objectclass=posixGroup)(cn=%s))
 | 
			
		||||
result_attribute = cn
 | 
			
		||||
							
								
								
									
										6
									
								
								jails/config/mail/postfix/ldap-virtual-mailbox-maps.cf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								jails/config/mail/postfix/ldap-virtual-mailbox-maps.cf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
server_host = ldaps://ldap.ahlawat.com
 | 
			
		||||
search_base = ou=people,dc=infra
 | 
			
		||||
version = 3
 | 
			
		||||
bind = no
 | 
			
		||||
query_filter = (&(objectclass=posixAccount)(uid=%s))
 | 
			
		||||
result_attribute = cn
 | 
			
		||||
							
								
								
									
										810
									
								
								jails/config/mail/postfix/main.cf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										810
									
								
								jails/config/mail/postfix/main.cf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,810 @@
 | 
			
		||||
# Global Postfix configuration file. This file lists only a subset
 | 
			
		||||
# of all parameters. For the syntax, and for a complete parameter
 | 
			
		||||
# list, see the postconf(5) manual page (command: "man 5 postconf").
 | 
			
		||||
#
 | 
			
		||||
# For common configuration examples, see BASIC_CONFIGURATION_README
 | 
			
		||||
# and STANDARD_CONFIGURATION_README. To find these documents, use
 | 
			
		||||
# the command "postconf html_directory readme_directory", or go to
 | 
			
		||||
# http://www.postfix.org/BASIC_CONFIGURATION_README.html etc.
 | 
			
		||||
#
 | 
			
		||||
# For best results, change no more than 2-3 parameters at a time,
 | 
			
		||||
# and test if Postfix still works after every change.
 | 
			
		||||
 | 
			
		||||
# COMPATIBILITY
 | 
			
		||||
#
 | 
			
		||||
# The compatibility_level determines what default settings Postfix
 | 
			
		||||
# will use for main.cf and master.cf settings. These defaults will
 | 
			
		||||
# change over time.
 | 
			
		||||
#
 | 
			
		||||
# To avoid breaking things, Postfix will use backwards-compatible
 | 
			
		||||
# default settings and log where it uses those old backwards-compatible
 | 
			
		||||
# default settings, until the system administrator has determined
 | 
			
		||||
# if any backwards-compatible default settings need to be made
 | 
			
		||||
# permanent in main.cf or master.cf.
 | 
			
		||||
#
 | 
			
		||||
# When this review is complete, update the compatibility_level setting
 | 
			
		||||
# below as recommended in the RELEASE_NOTES file.
 | 
			
		||||
#
 | 
			
		||||
# The level below is what should be used with new (not upgrade) installs.
 | 
			
		||||
#
 | 
			
		||||
compatibility_level = 2
 | 
			
		||||
 | 
			
		||||
# SOFT BOUNCE
 | 
			
		||||
#
 | 
			
		||||
# The soft_bounce parameter provides a limited safety net for
 | 
			
		||||
# testing.  When soft_bounce is enabled, mail will remain queued that
 | 
			
		||||
# would otherwise bounce. This parameter disables locally-generated
 | 
			
		||||
# bounces, and prevents the SMTP server from rejecting mail permanently
 | 
			
		||||
# (by changing 5xx replies into 4xx replies). However, soft_bounce
 | 
			
		||||
# is no cure for address rewriting mistakes or mail routing mistakes.
 | 
			
		||||
#
 | 
			
		||||
#soft_bounce = no
 | 
			
		||||
 | 
			
		||||
# LOCAL PATHNAME INFORMATION
 | 
			
		||||
#
 | 
			
		||||
# The queue_directory specifies the location of the Postfix queue.
 | 
			
		||||
# This is also the root directory of Postfix daemons that run chrooted.
 | 
			
		||||
# See the files in examples/chroot-setup for setting up Postfix chroot
 | 
			
		||||
# environments on different UNIX systems.
 | 
			
		||||
#
 | 
			
		||||
queue_directory = /var/spool/postfix
 | 
			
		||||
 | 
			
		||||
# The command_directory parameter specifies the location of all
 | 
			
		||||
# postXXX commands.
 | 
			
		||||
#
 | 
			
		||||
command_directory = /usr/local/sbin
 | 
			
		||||
 | 
			
		||||
# The daemon_directory parameter specifies the location of all Postfix
 | 
			
		||||
# daemon programs (i.e. programs listed in the master.cf file). This
 | 
			
		||||
# directory must be owned by root.
 | 
			
		||||
#
 | 
			
		||||
daemon_directory = /usr/local/libexec/postfix
 | 
			
		||||
 | 
			
		||||
# The data_directory parameter specifies the location of Postfix-writable
 | 
			
		||||
# data files (caches, random numbers). This directory must be owned
 | 
			
		||||
# by the mail_owner account (see below).
 | 
			
		||||
#
 | 
			
		||||
data_directory = /var/db/postfix
 | 
			
		||||
 | 
			
		||||
# QUEUE AND PROCESS OWNERSHIP
 | 
			
		||||
#
 | 
			
		||||
# The mail_owner parameter specifies the owner of the Postfix queue
 | 
			
		||||
# and of most Postfix daemon processes.  Specify the name of a user
 | 
			
		||||
# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS
 | 
			
		||||
# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM.  In
 | 
			
		||||
# particular, don't specify nobody or daemon. PLEASE USE A DEDICATED
 | 
			
		||||
# USER.
 | 
			
		||||
#
 | 
			
		||||
mail_owner = postfix
 | 
			
		||||
 | 
			
		||||
# The default_privs parameter specifies the default rights used by
 | 
			
		||||
# the local delivery agent for delivery to external file or command.
 | 
			
		||||
# These rights are used in the absence of a recipient user context.
 | 
			
		||||
# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
 | 
			
		||||
#
 | 
			
		||||
#default_privs = nobody
 | 
			
		||||
 | 
			
		||||
# INTERNET HOST AND DOMAIN NAMES
 | 
			
		||||
# 
 | 
			
		||||
# The myhostname parameter specifies the internet hostname of this
 | 
			
		||||
# mail system. The default is to use the fully-qualified domain name
 | 
			
		||||
# from gethostname(). $myhostname is used as a default value for many
 | 
			
		||||
# other configuration parameters.
 | 
			
		||||
#
 | 
			
		||||
#myhostname = host.domain.tld
 | 
			
		||||
#myhostname = virtual.domain.tld
 | 
			
		||||
myhostname = mail.ahlawat.com
 | 
			
		||||
 | 
			
		||||
# The mydomain parameter specifies the local internet domain name.
 | 
			
		||||
# The default is to use $myhostname minus the first component.
 | 
			
		||||
# $mydomain is used as a default value for many other configuration
 | 
			
		||||
# parameters.
 | 
			
		||||
#
 | 
			
		||||
#mydomain = domain.tld
 | 
			
		||||
mydomain = ahlawat.com
 | 
			
		||||
 | 
			
		||||
# SENDING MAIL
 | 
			
		||||
# 
 | 
			
		||||
# The myorigin parameter specifies the domain that locally-posted
 | 
			
		||||
# mail appears to come from. The default is to append $myhostname,
 | 
			
		||||
# which is fine for small sites.  If you run a domain with multiple
 | 
			
		||||
# machines, you should (1) change this to $mydomain and (2) set up
 | 
			
		||||
# a domain-wide alias database that aliases each user to
 | 
			
		||||
# user@that.users.mailhost.
 | 
			
		||||
#
 | 
			
		||||
# For the sake of consistency between sender and recipient addresses,
 | 
			
		||||
# myorigin also specifies the default domain name that is appended
 | 
			
		||||
# to recipient addresses that have no @domain part.
 | 
			
		||||
#
 | 
			
		||||
myorigin = $myhostname
 | 
			
		||||
#myorigin = $mydomain
 | 
			
		||||
 | 
			
		||||
# RECEIVING MAIL
 | 
			
		||||
 | 
			
		||||
# The inet_interfaces parameter specifies the network interface
 | 
			
		||||
# addresses that this mail system receives mail on.  By default,
 | 
			
		||||
# the software claims all active interfaces on the machine. The
 | 
			
		||||
# parameter also controls delivery of mail to user@[ip.address].
 | 
			
		||||
#
 | 
			
		||||
# See also the proxy_interfaces parameter, for network addresses that
 | 
			
		||||
# are forwarded to us via a proxy or network address translator.
 | 
			
		||||
#
 | 
			
		||||
# Note: you need to stop/start Postfix when this parameter changes.
 | 
			
		||||
#
 | 
			
		||||
#inet_interfaces = all
 | 
			
		||||
#inet_interfaces = $myhostname
 | 
			
		||||
#inet_interfaces = $myhostname, localhost
 | 
			
		||||
 | 
			
		||||
# The proxy_interfaces parameter specifies the network interface
 | 
			
		||||
# addresses that this mail system receives mail on by way of a
 | 
			
		||||
# proxy or network address translation unit. This setting extends
 | 
			
		||||
# the address list specified with the inet_interfaces parameter.
 | 
			
		||||
#
 | 
			
		||||
# You must specify your proxy/NAT addresses when your system is a
 | 
			
		||||
# backup MX host for other domains, otherwise mail delivery loops
 | 
			
		||||
# will happen when the primary MX host is down.
 | 
			
		||||
#
 | 
			
		||||
#proxy_interfaces =
 | 
			
		||||
#proxy_interfaces = 1.2.3.4
 | 
			
		||||
 | 
			
		||||
# The mydestination parameter specifies the list of domains that this
 | 
			
		||||
# machine considers itself the final destination for.
 | 
			
		||||
#
 | 
			
		||||
# These domains are routed to the delivery agent specified with the
 | 
			
		||||
# local_transport parameter setting. By default, that is the UNIX
 | 
			
		||||
# compatible delivery agent that lookups all recipients in /etc/passwd
 | 
			
		||||
# and /etc/aliases or their equivalent.
 | 
			
		||||
#
 | 
			
		||||
# The default is $myhostname + localhost.$mydomain + localhost.  On
 | 
			
		||||
# a mail domain gateway, you should also include $mydomain.
 | 
			
		||||
#
 | 
			
		||||
# Do not specify the names of virtual domains - those domains are
 | 
			
		||||
# specified elsewhere (see VIRTUAL_README).
 | 
			
		||||
#
 | 
			
		||||
# Do not specify the names of domains that this machine is backup MX
 | 
			
		||||
# host for. Specify those names via the relay_domains settings for
 | 
			
		||||
# the SMTP server, or use permit_mx_backup if you are lazy (see
 | 
			
		||||
# STANDARD_CONFIGURATION_README).
 | 
			
		||||
#
 | 
			
		||||
# The local machine is always the final destination for mail addressed
 | 
			
		||||
# to user@[the.net.work.address] of an interface that the mail system
 | 
			
		||||
# receives mail on (see the inet_interfaces parameter).
 | 
			
		||||
#
 | 
			
		||||
# Specify a list of host or domain names, /file/name or type:table
 | 
			
		||||
# patterns, separated by commas and/or whitespace. A /file/name
 | 
			
		||||
# pattern is replaced by its contents; a type:table is matched when
 | 
			
		||||
# a name matches a lookup key (the right-hand side is ignored).
 | 
			
		||||
# Continue long lines by starting the next line with whitespace.
 | 
			
		||||
#
 | 
			
		||||
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
 | 
			
		||||
#
 | 
			
		||||
mydestination = $myhostname, localhost.$mydomain, localhost
 | 
			
		||||
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
 | 
			
		||||
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
 | 
			
		||||
#	mail.$mydomain, www.$mydomain, ftp.$mydomain
 | 
			
		||||
 | 
			
		||||
# REJECTING MAIL FOR UNKNOWN LOCAL USERS
 | 
			
		||||
#
 | 
			
		||||
# The local_recipient_maps parameter specifies optional lookup tables
 | 
			
		||||
# with all names or addresses of users that are local with respect
 | 
			
		||||
# to $mydestination, $inet_interfaces or $proxy_interfaces.
 | 
			
		||||
#
 | 
			
		||||
# If this parameter is defined, then the SMTP server will reject
 | 
			
		||||
# mail for unknown local users. This parameter is defined by default.
 | 
			
		||||
#
 | 
			
		||||
# To turn off local recipient checking in the SMTP server, specify
 | 
			
		||||
# local_recipient_maps = (i.e. empty).
 | 
			
		||||
#
 | 
			
		||||
# The default setting assumes that you use the default Postfix local
 | 
			
		||||
# delivery agent for local delivery. You need to update the
 | 
			
		||||
# local_recipient_maps setting if:
 | 
			
		||||
#
 | 
			
		||||
# - You define $mydestination domain recipients in files other than
 | 
			
		||||
#   /etc/passwd, /etc/aliases, or the $virtual_alias_maps files.
 | 
			
		||||
#   For example, you define $mydestination domain recipients in    
 | 
			
		||||
#   the $virtual_mailbox_maps files.
 | 
			
		||||
#
 | 
			
		||||
# - You redefine the local delivery agent in master.cf.
 | 
			
		||||
#
 | 
			
		||||
# - You redefine the "local_transport" setting in main.cf.
 | 
			
		||||
#
 | 
			
		||||
# - You use the "luser_relay", "mailbox_transport", or "fallback_transport"
 | 
			
		||||
#   feature of the Postfix local delivery agent (see local(8)).
 | 
			
		||||
#
 | 
			
		||||
# Details are described in the LOCAL_RECIPIENT_README file.
 | 
			
		||||
#
 | 
			
		||||
# Beware: if the Postfix SMTP server runs chrooted, you probably have
 | 
			
		||||
# to access the passwd file via the proxymap service, in order to
 | 
			
		||||
# overcome chroot restrictions. The alternative, having a copy of
 | 
			
		||||
# the system passwd file in the chroot jail is just not practical.
 | 
			
		||||
#
 | 
			
		||||
# The right-hand side of the lookup tables is conveniently ignored.
 | 
			
		||||
# In the left-hand side, specify a bare username, an @domain.tld
 | 
			
		||||
# wild-card, or specify a user@domain.tld address.
 | 
			
		||||
# 
 | 
			
		||||
#local_recipient_maps = unix:passwd.byname $alias_maps
 | 
			
		||||
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
 | 
			
		||||
#local_recipient_maps =
 | 
			
		||||
 | 
			
		||||
# The unknown_local_recipient_reject_code specifies the SMTP server
 | 
			
		||||
# response code when a recipient domain matches $mydestination or
 | 
			
		||||
# ${proxy,inet}_interfaces, while $local_recipient_maps is non-empty
 | 
			
		||||
# and the recipient address or address local-part is not found.
 | 
			
		||||
#
 | 
			
		||||
# The default setting is 550 (reject mail) but it is safer to start
 | 
			
		||||
# with 450 (try again later) until you are certain that your
 | 
			
		||||
# local_recipient_maps settings are OK.
 | 
			
		||||
#
 | 
			
		||||
unknown_local_recipient_reject_code = 550
 | 
			
		||||
 | 
			
		||||
# TRUST AND RELAY CONTROL
 | 
			
		||||
 | 
			
		||||
# The mynetworks parameter specifies the list of "trusted" SMTP
 | 
			
		||||
# clients that have more privileges than "strangers".
 | 
			
		||||
#
 | 
			
		||||
# In particular, "trusted" SMTP clients are allowed to relay mail
 | 
			
		||||
# through Postfix.  See the smtpd_recipient_restrictions parameter
 | 
			
		||||
# in postconf(5).
 | 
			
		||||
#
 | 
			
		||||
# You can specify the list of "trusted" network addresses by hand
 | 
			
		||||
# or you can let Postfix do it for you (which is the default).
 | 
			
		||||
#
 | 
			
		||||
# By default (mynetworks_style = subnet), Postfix "trusts" SMTP
 | 
			
		||||
# clients in the same IP subnetworks as the local machine.
 | 
			
		||||
# On Linux, this works correctly only with interfaces specified
 | 
			
		||||
# with the "ifconfig" command.
 | 
			
		||||
# 
 | 
			
		||||
# Specify "mynetworks_style = class" when Postfix should "trust" SMTP
 | 
			
		||||
# clients in the same IP class A/B/C networks as the local machine.
 | 
			
		||||
# Don't do this with a dialup site - it would cause Postfix to "trust"
 | 
			
		||||
# your entire provider's network.  Instead, specify an explicit
 | 
			
		||||
# mynetworks list by hand, as described below.
 | 
			
		||||
#  
 | 
			
		||||
# Specify "mynetworks_style = host" when Postfix should "trust"
 | 
			
		||||
# only the local machine.
 | 
			
		||||
# 
 | 
			
		||||
#mynetworks_style = class
 | 
			
		||||
#mynetworks_style = subnet
 | 
			
		||||
mynetworks_style = host
 | 
			
		||||
 | 
			
		||||
# Alternatively, you can specify the mynetworks list by hand, in
 | 
			
		||||
# which case Postfix ignores the mynetworks_style setting.
 | 
			
		||||
#
 | 
			
		||||
# Specify an explicit list of network/netmask patterns, where the
 | 
			
		||||
# mask specifies the number of bits in the network part of a host
 | 
			
		||||
# address.
 | 
			
		||||
#
 | 
			
		||||
# You can also specify the absolute pathname of a pattern file instead
 | 
			
		||||
# of listing the patterns here. Specify type:table for table-based lookups
 | 
			
		||||
# (the value on the table right-hand side is not used).
 | 
			
		||||
#
 | 
			
		||||
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
 | 
			
		||||
#mynetworks = $config_directory/mynetworks
 | 
			
		||||
#mynetworks = hash:$config_directory/network_table
 | 
			
		||||
 | 
			
		||||
# The relay_domains parameter restricts what destinations this system will
 | 
			
		||||
# relay mail to.  See the smtpd_recipient_restrictions description in
 | 
			
		||||
# postconf(5) for detailed information.
 | 
			
		||||
#
 | 
			
		||||
# By default, Postfix relays mail
 | 
			
		||||
# - from "trusted" clients (IP address matches $mynetworks) to any destination,
 | 
			
		||||
# - from "untrusted" clients to destinations that match $relay_domains or
 | 
			
		||||
#   subdomains thereof, except addresses with sender-specified routing.
 | 
			
		||||
# The default relay_domains value is $mydestination.
 | 
			
		||||
# 
 | 
			
		||||
# In addition to the above, the Postfix SMTP server by default accepts mail
 | 
			
		||||
# that Postfix is final destination for:
 | 
			
		||||
# - destinations that match $inet_interfaces or $proxy_interfaces,
 | 
			
		||||
# - destinations that match $mydestination
 | 
			
		||||
# - destinations that match $virtual_alias_domains,
 | 
			
		||||
# - destinations that match $virtual_mailbox_domains.
 | 
			
		||||
# These destinations do not need to be listed in $relay_domains.
 | 
			
		||||
# 
 | 
			
		||||
# Specify a list of hosts or domains, /file/name patterns or type:name
 | 
			
		||||
# lookup tables, separated by commas and/or whitespace.  Continue
 | 
			
		||||
# long lines by starting the next line with whitespace. A file name
 | 
			
		||||
# is replaced by its contents; a type:name table is matched when a
 | 
			
		||||
# (parent) domain appears as lookup key.
 | 
			
		||||
#
 | 
			
		||||
# NOTE: Postfix will not automatically forward mail for domains that
 | 
			
		||||
# list this system as their primary or backup MX host. See the
 | 
			
		||||
# permit_mx_backup restriction description in postconf(5).
 | 
			
		||||
#
 | 
			
		||||
#relay_domains = $mydestination
 | 
			
		||||
 | 
			
		||||
# INTERNET OR INTRANET
 | 
			
		||||
 | 
			
		||||
# The relayhost parameter specifies the default host to send mail to
 | 
			
		||||
# when no entry is matched in the optional transport(5) table. When
 | 
			
		||||
# no relayhost is given, mail is routed directly to the destination.
 | 
			
		||||
#
 | 
			
		||||
# On an intranet, specify the organizational domain name. If your
 | 
			
		||||
# internal DNS uses no MX records, specify the name of the intranet
 | 
			
		||||
# gateway host instead.
 | 
			
		||||
#
 | 
			
		||||
# In the case of SMTP, specify a domain, host, host:port, [host]:port,
 | 
			
		||||
# [address] or [address]:port; the form [host] turns off MX lookups.
 | 
			
		||||
#
 | 
			
		||||
# If you're connected via UUCP, see also the default_transport parameter.
 | 
			
		||||
#
 | 
			
		||||
#relayhost = $mydomain
 | 
			
		||||
#relayhost = [gateway.my.domain]
 | 
			
		||||
#relayhost = [mailserver.isp.tld]
 | 
			
		||||
#relayhost = uucphost
 | 
			
		||||
#relayhost = [an.ip.add.ress]
 | 
			
		||||
 | 
			
		||||
# REJECTING UNKNOWN RELAY USERS
 | 
			
		||||
#
 | 
			
		||||
# The relay_recipient_maps parameter specifies optional lookup tables
 | 
			
		||||
# with all addresses in the domains that match $relay_domains.
 | 
			
		||||
#
 | 
			
		||||
# If this parameter is defined, then the SMTP server will reject
 | 
			
		||||
# mail for unknown relay users. This feature is off by default.
 | 
			
		||||
#
 | 
			
		||||
# The right-hand side of the lookup tables is conveniently ignored.
 | 
			
		||||
# In the left-hand side, specify an @domain.tld wild-card, or specify
 | 
			
		||||
# a user@domain.tld address.
 | 
			
		||||
# 
 | 
			
		||||
#relay_recipient_maps = hash:$config_directory/relay_recipients
 | 
			
		||||
 | 
			
		||||
# INPUT RATE CONTROL
 | 
			
		||||
#
 | 
			
		||||
# The in_flow_delay configuration parameter implements mail input
 | 
			
		||||
# flow control. This feature is turned on by default, although it
 | 
			
		||||
# still needs further development (it's disabled on SCO UNIX due
 | 
			
		||||
# to an SCO bug).
 | 
			
		||||
# 
 | 
			
		||||
# A Postfix process will pause for $in_flow_delay seconds before
 | 
			
		||||
# accepting a new message, when the message arrival rate exceeds the
 | 
			
		||||
# message delivery rate. With the default 100 SMTP server process
 | 
			
		||||
# limit, this limits the mail inflow to 100 messages a second more
 | 
			
		||||
# than the number of messages delivered per second.
 | 
			
		||||
# 
 | 
			
		||||
# Specify 0 to disable the feature. Valid delays are 0..10.
 | 
			
		||||
# 
 | 
			
		||||
#in_flow_delay = 1s
 | 
			
		||||
 | 
			
		||||
# ADDRESS REWRITING
 | 
			
		||||
#
 | 
			
		||||
# The ADDRESS_REWRITING_README document gives information about
 | 
			
		||||
# address masquerading or other forms of address rewriting including
 | 
			
		||||
# username->Firstname.Lastname mapping.
 | 
			
		||||
 | 
			
		||||
# ADDRESS REDIRECTION (VIRTUAL DOMAIN)
 | 
			
		||||
#
 | 
			
		||||
# The VIRTUAL_README document gives information about the many forms
 | 
			
		||||
# of domain hosting that Postfix supports.
 | 
			
		||||
 | 
			
		||||
# "USER HAS MOVED" BOUNCE MESSAGES
 | 
			
		||||
#
 | 
			
		||||
# See the discussion in the ADDRESS_REWRITING_README document.
 | 
			
		||||
 | 
			
		||||
# TRANSPORT MAP
 | 
			
		||||
#
 | 
			
		||||
# See the discussion in the ADDRESS_REWRITING_README document.
 | 
			
		||||
 | 
			
		||||
# ALIAS DATABASE
 | 
			
		||||
#
 | 
			
		||||
# The alias_maps parameter specifies the list of alias databases used
 | 
			
		||||
# by the local delivery agent. The default list is system dependent.
 | 
			
		||||
#
 | 
			
		||||
# On systems with NIS, the default is to search the local alias
 | 
			
		||||
# database, then the NIS alias database. See aliases(5) for syntax
 | 
			
		||||
# details.
 | 
			
		||||
# 
 | 
			
		||||
# If you change the alias database, run "postalias /etc/aliases" (or
 | 
			
		||||
# wherever your system stores the mail alias file), or simply run
 | 
			
		||||
# "newaliases" to build the necessary DBM or DB file.
 | 
			
		||||
#
 | 
			
		||||
# It will take a minute or so before changes become visible.  Use
 | 
			
		||||
# "postfix reload" to eliminate the delay.
 | 
			
		||||
#
 | 
			
		||||
#alias_maps = dbm:/etc/aliases
 | 
			
		||||
#alias_maps = hash:/etc/aliases
 | 
			
		||||
#alias_maps = hash:/etc/aliases, nis:mail.aliases
 | 
			
		||||
#alias_maps = netinfo:/aliases
 | 
			
		||||
 | 
			
		||||
# The alias_database parameter specifies the alias database(s) that
 | 
			
		||||
# are built with "newaliases" or "sendmail -bi".  This is a separate
 | 
			
		||||
# configuration parameter, because alias_maps (see above) may specify
 | 
			
		||||
# tables that are not necessarily all under control by Postfix.
 | 
			
		||||
#
 | 
			
		||||
#alias_database = dbm:/etc/aliases
 | 
			
		||||
#alias_database = hash:/etc/aliases
 | 
			
		||||
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
 | 
			
		||||
 | 
			
		||||
# ADDRESS EXTENSIONS (e.g., user+foo)
 | 
			
		||||
#
 | 
			
		||||
# The recipient_delimiter parameter specifies the separator between
 | 
			
		||||
# user names and address extensions (user+foo). See canonical(5),
 | 
			
		||||
# local(8), relocated(5) and virtual(5) for the effects this has on
 | 
			
		||||
# aliases, canonical, virtual, relocated and .forward file lookups.
 | 
			
		||||
# Basically, the software tries user+foo and .forward+foo before
 | 
			
		||||
# trying user and .forward.
 | 
			
		||||
#
 | 
			
		||||
recipient_delimiter = +
 | 
			
		||||
 | 
			
		||||
# DELIVERY TO MAILBOX
 | 
			
		||||
#
 | 
			
		||||
# The home_mailbox parameter specifies the optional pathname of a
 | 
			
		||||
# mailbox file relative to a user's home directory. The default
 | 
			
		||||
# mailbox file is /var/spool/mail/user or /var/mail/user.  Specify
 | 
			
		||||
# "Maildir/" for qmail-style delivery (the / is required).
 | 
			
		||||
#
 | 
			
		||||
#home_mailbox = Mailbox
 | 
			
		||||
#home_mailbox = Maildir/
 | 
			
		||||
 
 | 
			
		||||
# The mail_spool_directory parameter specifies the directory where
 | 
			
		||||
# UNIX-style mailboxes are kept. The default setting depends on the
 | 
			
		||||
# system type.
 | 
			
		||||
#
 | 
			
		||||
#mail_spool_directory = /var/mail
 | 
			
		||||
#mail_spool_directory = /var/spool/mail
 | 
			
		||||
mail_spool_directory = /data/local
 | 
			
		||||
 | 
			
		||||
# The mailbox_command parameter specifies the optional external
 | 
			
		||||
# command to use instead of mailbox delivery. The command is run as
 | 
			
		||||
# the recipient with proper HOME, SHELL and LOGNAME environment settings.
 | 
			
		||||
# Exception:  delivery for root is done as $default_user.
 | 
			
		||||
#
 | 
			
		||||
# Other environment variables of interest: USER (recipient username),
 | 
			
		||||
# EXTENSION (address extension), DOMAIN (domain part of address),
 | 
			
		||||
# and LOCAL (the address localpart).
 | 
			
		||||
#
 | 
			
		||||
# Unlike other Postfix configuration parameters, the mailbox_command
 | 
			
		||||
# parameter is not subjected to $parameter substitutions. This is to
 | 
			
		||||
# make it easier to specify shell syntax (see example below).
 | 
			
		||||
#
 | 
			
		||||
# Avoid shell meta characters because they will force Postfix to run
 | 
			
		||||
# an expensive shell process. Procmail alone is expensive enough.
 | 
			
		||||
#
 | 
			
		||||
# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
 | 
			
		||||
# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.
 | 
			
		||||
#
 | 
			
		||||
#mailbox_command = /some/where/procmail
 | 
			
		||||
#mailbox_command = /some/where/procmail -a "$EXTENSION"
 | 
			
		||||
 | 
			
		||||
# The mailbox_transport specifies the optional transport in master.cf
 | 
			
		||||
# to use after processing aliases and .forward files. This parameter
 | 
			
		||||
# has precedence over the mailbox_command, fallback_transport and
 | 
			
		||||
# luser_relay parameters.
 | 
			
		||||
#
 | 
			
		||||
# Specify a string of the form transport:nexthop, where transport is
 | 
			
		||||
# the name of a mail delivery transport defined in master.cf.  The
 | 
			
		||||
# :nexthop part is optional. For more details see the sample transport
 | 
			
		||||
# configuration file.
 | 
			
		||||
#
 | 
			
		||||
# NOTE: if you use this feature for accounts not in the UNIX password
 | 
			
		||||
# file, then you must update the "local_recipient_maps" setting in
 | 
			
		||||
# the main.cf file, otherwise the SMTP server will reject mail for    
 | 
			
		||||
# non-UNIX accounts with "User unknown in local recipient table".
 | 
			
		||||
#
 | 
			
		||||
# Cyrus IMAP over LMTP. Specify ``lmtpunix      cmd="lmtpd"
 | 
			
		||||
# listen="/var/imap/socket/lmtp" prefork=0'' in cyrus.conf.
 | 
			
		||||
#mailbox_transport = lmtp:unix:/var/imap/socket/lmtp
 | 
			
		||||
#
 | 
			
		||||
# Cyrus IMAP via command line. Uncomment the "cyrus...pipe" and
 | 
			
		||||
# subsequent line in master.cf.
 | 
			
		||||
#mailbox_transport = cyrus
 | 
			
		||||
 | 
			
		||||
# The fallback_transport specifies the optional transport in master.cf
 | 
			
		||||
# to use for recipients that are not found in the UNIX passwd database.
 | 
			
		||||
# This parameter has precedence over the luser_relay parameter.
 | 
			
		||||
#
 | 
			
		||||
# Specify a string of the form transport:nexthop, where transport is
 | 
			
		||||
# the name of a mail delivery transport defined in master.cf.  The
 | 
			
		||||
# :nexthop part is optional. For more details see the sample transport
 | 
			
		||||
# configuration file.
 | 
			
		||||
#
 | 
			
		||||
# NOTE: if you use this feature for accounts not in the UNIX password
 | 
			
		||||
# file, then you must update the "local_recipient_maps" setting in
 | 
			
		||||
# the main.cf file, otherwise the SMTP server will reject mail for    
 | 
			
		||||
# non-UNIX accounts with "User unknown in local recipient table".
 | 
			
		||||
#
 | 
			
		||||
#fallback_transport = lmtp:unix:/file/name
 | 
			
		||||
#fallback_transport = cyrus
 | 
			
		||||
#fallback_transport =
 | 
			
		||||
 | 
			
		||||
# The luser_relay parameter specifies an optional destination address
 | 
			
		||||
# for unknown recipients.  By default, mail for unknown@$mydestination,
 | 
			
		||||
# unknown@[$inet_interfaces] or unknown@[$proxy_interfaces] is returned
 | 
			
		||||
# as undeliverable.
 | 
			
		||||
#
 | 
			
		||||
# The following expansions are done on luser_relay: $user (recipient
 | 
			
		||||
# username), $shell (recipient shell), $home (recipient home directory),
 | 
			
		||||
# $recipient (full recipient address), $extension (recipient address
 | 
			
		||||
# extension), $domain (recipient domain), $local (entire recipient
 | 
			
		||||
# localpart), $recipient_delimiter. Specify ${name?value} or
 | 
			
		||||
# ${name:value} to expand value only when $name does (does not) exist.
 | 
			
		||||
#
 | 
			
		||||
# luser_relay works only for the default Postfix local delivery agent.
 | 
			
		||||
#
 | 
			
		||||
# NOTE: if you use this feature for accounts not in the UNIX password
 | 
			
		||||
# file, then you must specify "local_recipient_maps =" (i.e. empty) in
 | 
			
		||||
# the main.cf file, otherwise the SMTP server will reject mail for    
 | 
			
		||||
# non-UNIX accounts with "User unknown in local recipient table".
 | 
			
		||||
#
 | 
			
		||||
#luser_relay = $user@other.host
 | 
			
		||||
#luser_relay = $local@other.host
 | 
			
		||||
#luser_relay = admin+$local
 | 
			
		||||
  
 | 
			
		||||
# JUNK MAIL CONTROLS
 | 
			
		||||
# 
 | 
			
		||||
# The controls listed here are only a very small subset. The file
 | 
			
		||||
# SMTPD_ACCESS_README provides an overview.
 | 
			
		||||
 | 
			
		||||
# The header_checks parameter specifies an optional table with patterns
 | 
			
		||||
# that each logical message header is matched against, including
 | 
			
		||||
# headers that span multiple physical lines.
 | 
			
		||||
#
 | 
			
		||||
# By default, these patterns also apply to MIME headers and to the
 | 
			
		||||
# headers of attached messages. With older Postfix versions, MIME and
 | 
			
		||||
# attached message headers were treated as body text.
 | 
			
		||||
#
 | 
			
		||||
# For details, see "man header_checks".
 | 
			
		||||
#
 | 
			
		||||
#header_checks = regexp:$config_directory/header_checks
 | 
			
		||||
 | 
			
		||||
# FAST ETRN SERVICE
 | 
			
		||||
#
 | 
			
		||||
# Postfix maintains per-destination logfiles with information about
 | 
			
		||||
# deferred mail, so that mail can be flushed quickly with the SMTP
 | 
			
		||||
# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld".
 | 
			
		||||
# See the ETRN_README document for a detailed description.
 | 
			
		||||
# 
 | 
			
		||||
# The fast_flush_domains parameter controls what destinations are
 | 
			
		||||
# eligible for this service. By default, they are all domains that
 | 
			
		||||
# this server is willing to relay mail to.
 | 
			
		||||
# 
 | 
			
		||||
#fast_flush_domains = $relay_domains
 | 
			
		||||
 | 
			
		||||
# SHOW SOFTWARE VERSION OR NOT
 | 
			
		||||
#
 | 
			
		||||
# The smtpd_banner parameter specifies the text that follows the 220
 | 
			
		||||
# code in the SMTP server's greeting banner. Some people like to see
 | 
			
		||||
# the mail version advertised. By default, Postfix shows no version.
 | 
			
		||||
#
 | 
			
		||||
# You MUST specify $myhostname at the start of the text. That is an
 | 
			
		||||
# RFC requirement. Postfix itself does not care.
 | 
			
		||||
#
 | 
			
		||||
#smtpd_banner = $myhostname ESMTP $mail_name
 | 
			
		||||
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
 | 
			
		||||
 | 
			
		||||
# PARALLEL DELIVERY TO THE SAME DESTINATION
 | 
			
		||||
#
 | 
			
		||||
# How many parallel deliveries to the same user or domain? With local
 | 
			
		||||
# delivery, it does not make sense to do massively parallel delivery
 | 
			
		||||
# to the same user, because mailbox updates must happen sequentially,
 | 
			
		||||
# and expensive pipelines in .forward files can cause disasters when
 | 
			
		||||
# too many are run at the same time. With SMTP deliveries, 10
 | 
			
		||||
# simultaneous connections to the same domain could be sufficient to
 | 
			
		||||
# raise eyebrows.
 | 
			
		||||
# 
 | 
			
		||||
# Each message delivery transport has its XXX_destination_concurrency_limit
 | 
			
		||||
# parameter.  The default is $default_destination_concurrency_limit for
 | 
			
		||||
# most delivery transports. For the local delivery agent the default is 2.
 | 
			
		||||
 | 
			
		||||
#local_destination_concurrency_limit = 2
 | 
			
		||||
#default_destination_concurrency_limit = 20
 | 
			
		||||
 | 
			
		||||
# DEBUGGING CONTROL
 | 
			
		||||
#
 | 
			
		||||
# The debug_peer_level parameter specifies the increment in verbose
 | 
			
		||||
# logging level when an SMTP client or server host name or address
 | 
			
		||||
# matches a pattern in the debug_peer_list parameter.
 | 
			
		||||
#
 | 
			
		||||
debug_peer_level = 2
 | 
			
		||||
 | 
			
		||||
# The debug_peer_list parameter specifies an optional list of domain
 | 
			
		||||
# or network patterns, /file/name patterns or type:name tables. When
 | 
			
		||||
# an SMTP client or server host name or address matches a pattern,
 | 
			
		||||
# increase the verbose logging level by the amount specified in the
 | 
			
		||||
# debug_peer_level parameter.
 | 
			
		||||
#
 | 
			
		||||
#debug_peer_list = 127.0.0.1
 | 
			
		||||
#debug_peer_list = some.domain
 | 
			
		||||
 | 
			
		||||
# The debugger_command specifies the external command that is executed
 | 
			
		||||
# when a Postfix daemon program is run with the -D option.
 | 
			
		||||
#
 | 
			
		||||
# Use "command .. & sleep 5" so that the debugger can attach before
 | 
			
		||||
# the process marches on. If you use an X-based debugger, be sure to
 | 
			
		||||
# set up your XAUTHORITY environment variable before starting Postfix.
 | 
			
		||||
#
 | 
			
		||||
debugger_command =
 | 
			
		||||
	 PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
 | 
			
		||||
	 ddd $daemon_directory/$process_name $process_id & sleep 5
 | 
			
		||||
 | 
			
		||||
# If you can't use X, use this to capture the call stack when a
 | 
			
		||||
# daemon crashes. The result is in a file in the configuration
 | 
			
		||||
# directory, and is named after the process name and the process ID.
 | 
			
		||||
#
 | 
			
		||||
# debugger_command =
 | 
			
		||||
#	PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont;
 | 
			
		||||
#	echo where) | gdb $daemon_directory/$process_name $process_id 2>&1
 | 
			
		||||
#	>$config_directory/$process_name.$process_id.log & sleep 5
 | 
			
		||||
#
 | 
			
		||||
# Another possibility is to run gdb under a detached screen session.
 | 
			
		||||
# To attach to the screen session, su root and run "screen -r
 | 
			
		||||
# <id_string>" where <id_string> uniquely matches one of the detached
 | 
			
		||||
# sessions (from "screen -list").
 | 
			
		||||
#
 | 
			
		||||
# debugger_command =
 | 
			
		||||
#	PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen
 | 
			
		||||
#	-dmS $process_name gdb $daemon_directory/$process_name
 | 
			
		||||
#	$process_id & sleep 1
 | 
			
		||||
 | 
			
		||||
# INSTALL-TIME CONFIGURATION INFORMATION
 | 
			
		||||
#
 | 
			
		||||
# The following parameters are used when installing a new Postfix version.
 | 
			
		||||
# 
 | 
			
		||||
# sendmail_path: The full pathname of the Postfix sendmail command.
 | 
			
		||||
# This is the Sendmail-compatible mail posting interface.
 | 
			
		||||
# 
 | 
			
		||||
sendmail_path = /usr/local/sbin/sendmail
 | 
			
		||||
 | 
			
		||||
# newaliases_path: The full pathname of the Postfix newaliases command.
 | 
			
		||||
# This is the Sendmail-compatible command to build alias databases.
 | 
			
		||||
#
 | 
			
		||||
newaliases_path = /usr/local/bin/newaliases
 | 
			
		||||
 | 
			
		||||
# mailq_path: The full pathname of the Postfix mailq command.  This
 | 
			
		||||
# is the Sendmail-compatible mail queue listing command.
 | 
			
		||||
# 
 | 
			
		||||
mailq_path = /usr/local/bin/mailq
 | 
			
		||||
 | 
			
		||||
# setgid_group: The group for mail submission and queue management
 | 
			
		||||
# commands.  This must be a group name with a numerical group ID that
 | 
			
		||||
# is not shared with other accounts, not even with the Postfix account.
 | 
			
		||||
#
 | 
			
		||||
setgid_group = maildrop
 | 
			
		||||
 | 
			
		||||
# html_directory: The location of the Postfix HTML documentation.
 | 
			
		||||
#
 | 
			
		||||
html_directory = /usr/local/share/doc/postfix
 | 
			
		||||
 | 
			
		||||
# manpage_directory: The location of the Postfix on-line manual pages.
 | 
			
		||||
#
 | 
			
		||||
manpage_directory = /usr/local/man
 | 
			
		||||
 | 
			
		||||
# sample_directory: The location of the Postfix sample configuration files.
 | 
			
		||||
# This parameter is obsolete as of Postfix 2.1.
 | 
			
		||||
#
 | 
			
		||||
sample_directory = /usr/local/etc/postfix
 | 
			
		||||
 | 
			
		||||
# readme_directory: The location of the Postfix README files.
 | 
			
		||||
#
 | 
			
		||||
readme_directory = /usr/local/share/doc/postfix
 | 
			
		||||
inet_protocols = ipv4
 | 
			
		||||
meta_directory = /usr/local/libexec/postfix
 | 
			
		||||
shlib_directory = /usr/local/lib/postfix
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#additions below:
 | 
			
		||||
 | 
			
		||||
# disable "new mail" notifications for local unix users
 | 
			
		||||
biff = no
 | 
			
		||||
 | 
			
		||||
# prevent spammers from searching for valid users
 | 
			
		||||
disable_vrfy_command = yes
 | 
			
		||||
 | 
			
		||||
# require properly formatted email addresses - prevents a lot of spam
 | 
			
		||||
strict_rfc821_envelopes = yes
 | 
			
		||||
 | 
			
		||||
# don't give any helpful info when a mailbox doesn't exist
 | 
			
		||||
show_user_unknown_table_name = no
 | 
			
		||||
 | 
			
		||||
# limit maximum e-mail size to 50MB. mailbox size must be at least as big as
 | 
			
		||||
# the message size for the mail to be accepted, but has no meaning after
 | 
			
		||||
# that since we are using Dovecot for delivery.
 | 
			
		||||
message_size_limit = 51200000
 | 
			
		||||
mailbox_size_limit = 51200000
 | 
			
		||||
 | 
			
		||||
# require addresses of the form "user@domain.tld"
 | 
			
		||||
allow_percent_hack = no
 | 
			
		||||
swap_bangpath = no
 | 
			
		||||
 | 
			
		||||
# path to the SSL certificate for the mail server
 | 
			
		||||
smtpd_tls_cert_file = /mnt/certs/fullchain.pem
 | 
			
		||||
smtpd_tls_key_file = /mnt/certs/privkeyr.pem
 | 
			
		||||
 | 
			
		||||
# These two lines define how postfix will connect to other mail servers.
 | 
			
		||||
# DANE is a stronger form of opportunistic TLS. You can read about it here:
 | 
			
		||||
# http://www.postfix.org/TLS_README.html#client_tls_dane
 | 
			
		||||
smtp_tls_security_level = dane
 | 
			
		||||
smtp_dns_support_level = dnssec
 | 
			
		||||
# DANE requires a DNSSEC capable resolver. If your DNS resolver doesn't
 | 
			
		||||
# support DNSSEC, remove the above two lines and uncomment the below:
 | 
			
		||||
#   smtp_tls_security_level = may
 | 
			
		||||
 | 
			
		||||
# Here we define the options for "mandatory" TLS. In our setup, TLS is only
 | 
			
		||||
# "mandatory" for authenticating users. I got these settings from Mozilla's
 | 
			
		||||
# SSL reccomentations page.
 | 
			
		||||
#
 | 
			
		||||
# NOTE: do not attempt to make TLS mandatory for all incoming/outgoing
 | 
			
		||||
# connections. Do not attempt to change the default cipherlist for non-
 | 
			
		||||
# mandatory connections either. There are still a lot of mail servers out
 | 
			
		||||
# there that do not use TLS, and many that do only support old ciphers.
 | 
			
		||||
# Forcing TLS for everyone *will* cause you to lose mail.
 | 
			
		||||
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1, TLSv1.2
 | 
			
		||||
smtpd_tls_mandatory_ciphers = high
 | 
			
		||||
tls_high_cipherlist = ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
 | 
			
		||||
 | 
			
		||||
# allow other mail servers to connect using TLS, but don't require it
 | 
			
		||||
smtpd_tls_security_level = may
 | 
			
		||||
 | 
			
		||||
# tickets and compression have known vulnerabilities
 | 
			
		||||
tls_ssl_options = no_ticket, no_compression
 | 
			
		||||
 | 
			
		||||
# it's more secure to generate your own DH params
 | 
			
		||||
smtpd_tls_dh512_param_file  = /mnt/certs/dhparam512.pem
 | 
			
		||||
smtpd_tls_dh1024_param_file = /mnt/certs/dhparam2048.pem
 | 
			
		||||
 | 
			
		||||
# cache incoming and outgoing TLS sessions
 | 
			
		||||
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_tlscache
 | 
			
		||||
smtp_tls_session_cache_database  = btree:${data_directory}/smtp_tlscache
 | 
			
		||||
 | 
			
		||||
# enable SMTPD auth. Dovecot will place an `auth` socket in postfix's
 | 
			
		||||
# runtime directory that we will use for authentication.
 | 
			
		||||
smtpd_sasl_auth_enable = yes
 | 
			
		||||
smtpd_sasl_path = private/auth
 | 
			
		||||
smtpd_sasl_type = dovecot
 | 
			
		||||
 | 
			
		||||
# only allow authentication over TLS
 | 
			
		||||
smtpd_tls_auth_only = yes
 | 
			
		||||
 | 
			
		||||
# don't allow plaintext auth methods on unencrypted connections
 | 
			
		||||
smtpd_sasl_security_options = noanonymous, noplaintext
 | 
			
		||||
# but plaintext auth is fine when using TLS
 | 
			
		||||
smtpd_sasl_tls_security_options = noanonymous
 | 
			
		||||
 | 
			
		||||
# add a message header when email was recieved over TLS
 | 
			
		||||
smtpd_tls_received_header = yes
 | 
			
		||||
 | 
			
		||||
# require that connecting mail servers identify themselves - this greatly
 | 
			
		||||
# reduces spam
 | 
			
		||||
smtpd_helo_required = yes
 | 
			
		||||
 | 
			
		||||
# The following block specifies some security restrictions for incoming
 | 
			
		||||
# mail. The gist of it is, authenticated users and connections from
 | 
			
		||||
# localhost can do anything they want. Random people connecting over the
 | 
			
		||||
# internet are treated with more suspicion: they must have a reverse DNS
 | 
			
		||||
# entry and present a valid, FQDN HELO hostname. In addition, they can only
 | 
			
		||||
# send mail to valid mailboxes on the server, and the sender's domain must
 | 
			
		||||
# actually exist.
 | 
			
		||||
smtpd_client_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unknown_reverse_client_hostname,reject_unauth_pipelining
 | 
			
		||||
# you might want to consider:
 | 
			
		||||
#  reject_unknown_client_hostname,
 | 
			
		||||
# here. This will reject all incoming connections without a reverse DNS
 | 
			
		||||
# entry that resolves back to the client's IP address. This is a very
 | 
			
		||||
# restrictive check and may reject legitimate mail.
 | 
			
		||||
smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_invalid_helo_hostname,reject_non_fqdn_helo_hostname,reject_unauth_pipelining
 | 
			
		||||
# you might want to consider:
 | 
			
		||||
#  reject_unknown_helo_hostname,
 | 
			
		||||
# here. This will reject all incoming mail without a HELO hostname that
 | 
			
		||||
# properly resolves in DNS. This is a somewhat restrictive check and may
 | 
			
		||||
# reject legitimate mail.
 | 
			
		||||
smtpd_sender_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_sender,reject_unknown_sender_domain,reject_unauth_pipelining
 | 
			
		||||
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated,reject_unauth_destination
 | 
			
		||||
# !!! THIS SETTING PREVENTS YOU FROM BEING AN OPEN RELAY !!!
 | 
			
		||||
# !!!      DO NOT REMOVE IT UNDER ANY CIRCUMSTANCES      !!!
 | 
			
		||||
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unverified_recipient
 | 
			
		||||
smtpd_data_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_multi_recipient_bounce,reject_unauth_pipelining
 | 
			
		||||
 | 
			
		||||
# deliver mail for virtual users to Dovecot's LMTP socket
 | 
			
		||||
virtual_transport = lmtp:unix:private/dovecot-lmtp
 | 
			
		||||
 | 
			
		||||
# LDAP query to find which domains we accept mail for
 | 
			
		||||
virtual_mailbox_domains = ldap:/usr/local/etc/postfix/ldap-virtual-mailbox-domains.cf
 | 
			
		||||
# LDAP query to find which email addresses we accept mail for
 | 
			
		||||
virtual_mailbox_maps = ldap:/usr/local/etc/postfix/ldap-virtual-mailbox-maps.cf
 | 
			
		||||
#, hash:/usr/local/etc/postfix/system-virtual-mailboxes
 | 
			
		||||
# LDAP query to find a user's email aliases
 | 
			
		||||
virtual_alias_maps = ldap:/usr/local/etc/postfix/ldap-virtual-mailbox-alias-maps.cf, hash:/usr/local/etc/postfix/virtual-maillist-alias-maps
 | 
			
		||||
 | 
			
		||||
# We'll uncomment these when we set up rspamd later:
 | 
			
		||||
milter_protocol = 6
 | 
			
		||||
# if rspamd is down, don't reject mail
 | 
			
		||||
milter_default_action = accept
 | 
			
		||||
smtpd_milters = unix:/var/run/rspamd/milter.sock
 | 
			
		||||
milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}
 | 
			
		||||
							
								
								
									
										918
									
								
								jails/config/mail/postfix/main.cf.default
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										918
									
								
								jails/config/mail/postfix/main.cf.default
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,918 @@
 | 
			
		||||
# DO NOT EDIT THIS FILE. EDIT THE MAIN.CF FILE INSTEAD. THE
 | 
			
		||||
# TEXT HERE JUST SHOWS DEFAULT SETTINGS BUILT INTO POSTFIX.
 | 
			
		||||
#
 | 
			
		||||
2bounce_notice_recipient = postmaster
 | 
			
		||||
access_map_defer_code = 450
 | 
			
		||||
access_map_reject_code = 554
 | 
			
		||||
address_verify_cache_cleanup_interval = 12h
 | 
			
		||||
address_verify_default_transport = $default_transport
 | 
			
		||||
address_verify_local_transport = $local_transport
 | 
			
		||||
address_verify_map = btree:$data_directory/verify_cache
 | 
			
		||||
address_verify_negative_cache = yes
 | 
			
		||||
address_verify_negative_expire_time = 3d
 | 
			
		||||
address_verify_negative_refresh_time = 3h
 | 
			
		||||
address_verify_pending_request_limit = 5000
 | 
			
		||||
address_verify_poll_count = ${stress?{1}:{3}}
 | 
			
		||||
address_verify_poll_delay = 3s
 | 
			
		||||
address_verify_positive_expire_time = 31d
 | 
			
		||||
address_verify_positive_refresh_time = 7d
 | 
			
		||||
address_verify_relay_transport = $relay_transport
 | 
			
		||||
address_verify_relayhost = $relayhost
 | 
			
		||||
address_verify_sender = $double_bounce_sender
 | 
			
		||||
address_verify_sender_dependent_default_transport_maps = $sender_dependent_default_transport_maps
 | 
			
		||||
address_verify_sender_dependent_relayhost_maps = $sender_dependent_relayhost_maps
 | 
			
		||||
address_verify_sender_ttl = 0s
 | 
			
		||||
address_verify_service_name = verify
 | 
			
		||||
address_verify_transport_maps = $transport_maps
 | 
			
		||||
address_verify_virtual_transport = $virtual_transport
 | 
			
		||||
alias_database = hash:/etc/aliases
 | 
			
		||||
alias_maps = hash:/etc/aliases
 | 
			
		||||
allow_mail_to_commands = alias, forward
 | 
			
		||||
allow_mail_to_files = alias, forward
 | 
			
		||||
allow_min_user = no
 | 
			
		||||
allow_percent_hack = yes
 | 
			
		||||
allow_untrusted_routing = no
 | 
			
		||||
alternate_config_directories =
 | 
			
		||||
always_add_missing_headers = no
 | 
			
		||||
always_bcc =
 | 
			
		||||
anvil_rate_time_unit = 60s
 | 
			
		||||
anvil_status_update_time = 600s
 | 
			
		||||
append_at_myorigin = yes
 | 
			
		||||
append_dot_mydomain = ${{$compatibility_level} < {1} ? {yes} : {no}}
 | 
			
		||||
application_event_drain_time = 100s
 | 
			
		||||
authorized_flush_users = static:anyone
 | 
			
		||||
authorized_mailq_users = static:anyone
 | 
			
		||||
authorized_submit_users = static:anyone
 | 
			
		||||
backwards_bounce_logfile_compatibility = yes
 | 
			
		||||
berkeley_db_create_buffer_size = 16777216
 | 
			
		||||
berkeley_db_read_buffer_size = 131072
 | 
			
		||||
best_mx_transport =
 | 
			
		||||
biff = yes
 | 
			
		||||
body_checks =
 | 
			
		||||
body_checks_size_limit = 51200
 | 
			
		||||
bounce_notice_recipient = postmaster
 | 
			
		||||
bounce_queue_lifetime = 5d
 | 
			
		||||
bounce_service_name = bounce
 | 
			
		||||
bounce_size_limit = 50000
 | 
			
		||||
bounce_template_file =
 | 
			
		||||
broken_sasl_auth_clients = no
 | 
			
		||||
canonical_classes = envelope_sender, envelope_recipient, header_sender, header_recipient
 | 
			
		||||
canonical_maps =
 | 
			
		||||
cleanup_service_name = cleanup
 | 
			
		||||
command_directory = /usr/local/sbin
 | 
			
		||||
command_execution_directory =
 | 
			
		||||
command_expansion_filter = 1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
 | 
			
		||||
command_time_limit = 1000s
 | 
			
		||||
compatibility_level = 0
 | 
			
		||||
config_directory = /usr/local/etc/postfix
 | 
			
		||||
confirm_delay_cleared = no
 | 
			
		||||
connection_cache_protocol_timeout = 5s
 | 
			
		||||
connection_cache_service_name = scache
 | 
			
		||||
connection_cache_status_update_time = 600s
 | 
			
		||||
connection_cache_ttl_limit = 2s
 | 
			
		||||
content_filter =
 | 
			
		||||
cyrus_sasl_config_path =
 | 
			
		||||
daemon_directory = /usr/local/libexec/postfix
 | 
			
		||||
daemon_table_open_error_is_fatal = no
 | 
			
		||||
daemon_timeout = 18000s
 | 
			
		||||
data_directory = /var/db/postfix
 | 
			
		||||
debug_peer_level = 2
 | 
			
		||||
debug_peer_list =
 | 
			
		||||
debugger_command =
 | 
			
		||||
default_database_type = hash
 | 
			
		||||
default_delivery_slot_cost = 5
 | 
			
		||||
default_delivery_slot_discount = 50
 | 
			
		||||
default_delivery_slot_loan = 3
 | 
			
		||||
default_delivery_status_filter =
 | 
			
		||||
default_destination_concurrency_failed_cohort_limit = 1
 | 
			
		||||
default_destination_concurrency_limit = 20
 | 
			
		||||
default_destination_concurrency_negative_feedback = 1
 | 
			
		||||
default_destination_concurrency_positive_feedback = 1
 | 
			
		||||
default_destination_rate_delay = 0s
 | 
			
		||||
default_destination_recipient_limit = 50
 | 
			
		||||
default_extra_recipient_limit = 1000
 | 
			
		||||
default_filter_nexthop =
 | 
			
		||||
default_minimum_delivery_slots = 3
 | 
			
		||||
default_privs = nobody
 | 
			
		||||
default_process_limit = 100
 | 
			
		||||
default_rbl_reply = $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using $rbl_domain${rbl_reason?; $rbl_reason}
 | 
			
		||||
default_recipient_limit = 20000
 | 
			
		||||
default_recipient_refill_delay = 5s
 | 
			
		||||
default_recipient_refill_limit = 100
 | 
			
		||||
default_transport = smtp
 | 
			
		||||
default_transport_rate_delay = 0s
 | 
			
		||||
default_verp_delimiters = +=
 | 
			
		||||
defer_code = 450
 | 
			
		||||
defer_service_name = defer
 | 
			
		||||
defer_transports =
 | 
			
		||||
delay_logging_resolution_limit = 2
 | 
			
		||||
delay_notice_recipient = postmaster
 | 
			
		||||
delay_warning_time = 0h
 | 
			
		||||
deliver_lock_attempts = 20
 | 
			
		||||
deliver_lock_delay = 1s
 | 
			
		||||
destination_concurrency_feedback_debug = no
 | 
			
		||||
detect_8bit_encoding_header = yes
 | 
			
		||||
disable_dns_lookups = no
 | 
			
		||||
disable_mime_input_processing = no
 | 
			
		||||
disable_mime_output_conversion = no
 | 
			
		||||
disable_verp_bounces = no
 | 
			
		||||
disable_vrfy_command = no
 | 
			
		||||
dns_ncache_ttl_fix_enable = no
 | 
			
		||||
dnsblog_reply_delay = 0s
 | 
			
		||||
dnsblog_service_name = dnsblog
 | 
			
		||||
dont_remove = 0
 | 
			
		||||
double_bounce_sender = double-bounce
 | 
			
		||||
duplicate_filter_limit = 1000
 | 
			
		||||
empty_address_default_transport_maps_lookup_key = <>
 | 
			
		||||
empty_address_recipient = MAILER-DAEMON
 | 
			
		||||
empty_address_relayhost_maps_lookup_key = <>
 | 
			
		||||
enable_idna2003_compatibility = no
 | 
			
		||||
enable_long_queue_ids = no
 | 
			
		||||
enable_original_recipient = yes
 | 
			
		||||
error_delivery_slot_cost = $default_delivery_slot_cost
 | 
			
		||||
error_delivery_slot_discount = $default_delivery_slot_discount
 | 
			
		||||
error_delivery_slot_loan = $default_delivery_slot_loan
 | 
			
		||||
error_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
 | 
			
		||||
error_destination_concurrency_limit = $default_destination_concurrency_limit
 | 
			
		||||
error_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
 | 
			
		||||
error_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
 | 
			
		||||
error_destination_rate_delay = $default_destination_rate_delay
 | 
			
		||||
error_destination_recipient_limit = $default_destination_recipient_limit
 | 
			
		||||
error_extra_recipient_limit = $default_extra_recipient_limit
 | 
			
		||||
error_initial_destination_concurrency = $initial_destination_concurrency
 | 
			
		||||
error_minimum_delivery_slots = $default_minimum_delivery_slots
 | 
			
		||||
error_notice_recipient = postmaster
 | 
			
		||||
error_recipient_limit = $default_recipient_limit
 | 
			
		||||
error_recipient_refill_delay = $default_recipient_refill_delay
 | 
			
		||||
error_recipient_refill_limit = $default_recipient_refill_limit
 | 
			
		||||
error_service_name = error
 | 
			
		||||
error_transport_rate_delay = $default_transport_rate_delay
 | 
			
		||||
execution_directory_expansion_filter = 1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
 | 
			
		||||
expand_owner_alias = no
 | 
			
		||||
export_environment = TZ MAIL_CONFIG LANG
 | 
			
		||||
fallback_transport =
 | 
			
		||||
fallback_transport_maps =
 | 
			
		||||
fast_flush_domains = $relay_domains
 | 
			
		||||
fast_flush_purge_time = 7d
 | 
			
		||||
fast_flush_refresh_time = 12h
 | 
			
		||||
fault_injection_code = 0
 | 
			
		||||
flush_service_name = flush
 | 
			
		||||
fork_attempts = 5
 | 
			
		||||
fork_delay = 1s
 | 
			
		||||
forward_expansion_filter = 1234567890!@%-_=+:,./abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
 | 
			
		||||
forward_path = $home/.forward${recipient_delimiter}${extension}, $home/.forward
 | 
			
		||||
frozen_delivered_to = yes
 | 
			
		||||
hash_queue_depth = 1
 | 
			
		||||
hash_queue_names = deferred, defer
 | 
			
		||||
header_address_token_limit = 10240
 | 
			
		||||
header_checks =
 | 
			
		||||
header_from_format = standard
 | 
			
		||||
header_size_limit = 102400
 | 
			
		||||
helpful_warnings = yes
 | 
			
		||||
home_mailbox =
 | 
			
		||||
hopcount_limit = 50
 | 
			
		||||
html_directory = /usr/local/share/doc/postfix
 | 
			
		||||
ignore_mx_lookup_error = no
 | 
			
		||||
import_environment = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY LANG=C POSTLOG_SERVICE POSTLOG_HOSTNAME
 | 
			
		||||
in_flow_delay = 1s
 | 
			
		||||
inet_interfaces = all
 | 
			
		||||
inet_protocols = all
 | 
			
		||||
initial_destination_concurrency = 5
 | 
			
		||||
internal_mail_filter_classes =
 | 
			
		||||
invalid_hostname_reject_code = 501
 | 
			
		||||
ipc_idle = 5s
 | 
			
		||||
ipc_timeout = 3600s
 | 
			
		||||
ipc_ttl = 1000s
 | 
			
		||||
line_length_limit = 2048
 | 
			
		||||
lmdb_map_size = 16777216
 | 
			
		||||
lmtp_address_preference = any
 | 
			
		||||
lmtp_address_verify_target = rcpt
 | 
			
		||||
lmtp_assume_final = no
 | 
			
		||||
lmtp_balance_inet_protocols = yes
 | 
			
		||||
lmtp_bind_address =
 | 
			
		||||
lmtp_bind_address6 =
 | 
			
		||||
lmtp_body_checks =
 | 
			
		||||
lmtp_cname_overrides_servername = no
 | 
			
		||||
lmtp_connect_timeout = 0s
 | 
			
		||||
lmtp_connection_cache_destinations =
 | 
			
		||||
lmtp_connection_cache_on_demand = yes
 | 
			
		||||
lmtp_connection_cache_time_limit = 2s
 | 
			
		||||
lmtp_connection_reuse_count_limit = 0
 | 
			
		||||
lmtp_connection_reuse_time_limit = 300s
 | 
			
		||||
lmtp_data_done_timeout = 600s
 | 
			
		||||
lmtp_data_init_timeout = 120s
 | 
			
		||||
lmtp_data_xfer_timeout = 180s
 | 
			
		||||
lmtp_defer_if_no_mx_address_found = no
 | 
			
		||||
lmtp_delivery_slot_cost = $default_delivery_slot_cost
 | 
			
		||||
lmtp_delivery_slot_discount = $default_delivery_slot_discount
 | 
			
		||||
lmtp_delivery_slot_loan = $default_delivery_slot_loan
 | 
			
		||||
lmtp_delivery_status_filter = $default_delivery_status_filter
 | 
			
		||||
lmtp_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
 | 
			
		||||
lmtp_destination_concurrency_limit = $default_destination_concurrency_limit
 | 
			
		||||
lmtp_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
 | 
			
		||||
lmtp_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
 | 
			
		||||
lmtp_destination_rate_delay = $default_destination_rate_delay
 | 
			
		||||
lmtp_destination_recipient_limit = $default_destination_recipient_limit
 | 
			
		||||
lmtp_discard_lhlo_keyword_address_maps =
 | 
			
		||||
lmtp_discard_lhlo_keywords =
 | 
			
		||||
lmtp_dns_reply_filter =
 | 
			
		||||
lmtp_dns_resolver_options =
 | 
			
		||||
lmtp_dns_support_level =
 | 
			
		||||
lmtp_enforce_tls = no
 | 
			
		||||
lmtp_extra_recipient_limit = $default_extra_recipient_limit
 | 
			
		||||
lmtp_fallback_relay =
 | 
			
		||||
lmtp_generic_maps =
 | 
			
		||||
lmtp_header_checks =
 | 
			
		||||
lmtp_host_lookup = dns
 | 
			
		||||
lmtp_initial_destination_concurrency = $initial_destination_concurrency
 | 
			
		||||
lmtp_lhlo_name = $myhostname
 | 
			
		||||
lmtp_lhlo_timeout = 300s
 | 
			
		||||
lmtp_line_length_limit = 998
 | 
			
		||||
lmtp_mail_timeout = 300s
 | 
			
		||||
lmtp_mime_header_checks =
 | 
			
		||||
lmtp_minimum_delivery_slots = $default_minimum_delivery_slots
 | 
			
		||||
lmtp_mx_address_limit = 5
 | 
			
		||||
lmtp_mx_session_limit = 2
 | 
			
		||||
lmtp_nested_header_checks =
 | 
			
		||||
lmtp_per_record_deadline = no
 | 
			
		||||
lmtp_pix_workaround_delay_time = 10s
 | 
			
		||||
lmtp_pix_workaround_maps =
 | 
			
		||||
lmtp_pix_workaround_threshold_time = 500s
 | 
			
		||||
lmtp_pix_workarounds = disable_esmtp,delay_dotcrlf
 | 
			
		||||
lmtp_quit_timeout = 300s
 | 
			
		||||
lmtp_quote_rfc821_envelope = yes
 | 
			
		||||
lmtp_randomize_addresses = yes
 | 
			
		||||
lmtp_rcpt_timeout = 300s
 | 
			
		||||
lmtp_recipient_limit = $default_recipient_limit
 | 
			
		||||
lmtp_recipient_refill_delay = $default_recipient_refill_delay
 | 
			
		||||
lmtp_recipient_refill_limit = $default_recipient_refill_limit
 | 
			
		||||
lmtp_reply_filter =
 | 
			
		||||
lmtp_rset_timeout = 20s
 | 
			
		||||
lmtp_sasl_auth_cache_name =
 | 
			
		||||
lmtp_sasl_auth_cache_time = 90d
 | 
			
		||||
lmtp_sasl_auth_enable = no
 | 
			
		||||
lmtp_sasl_auth_soft_bounce = yes
 | 
			
		||||
lmtp_sasl_mechanism_filter =
 | 
			
		||||
lmtp_sasl_password_maps =
 | 
			
		||||
lmtp_sasl_path =
 | 
			
		||||
lmtp_sasl_security_options = noplaintext, noanonymous
 | 
			
		||||
lmtp_sasl_tls_security_options = $lmtp_sasl_security_options
 | 
			
		||||
lmtp_sasl_tls_verified_security_options = $lmtp_sasl_tls_security_options
 | 
			
		||||
lmtp_sasl_type = cyrus
 | 
			
		||||
lmtp_send_dummy_mail_auth = no
 | 
			
		||||
lmtp_send_xforward_command = no
 | 
			
		||||
lmtp_sender_dependent_authentication = no
 | 
			
		||||
lmtp_skip_5xx_greeting = yes
 | 
			
		||||
lmtp_skip_quit_response = no
 | 
			
		||||
lmtp_starttls_timeout = 300s
 | 
			
		||||
lmtp_tcp_port = 24
 | 
			
		||||
lmtp_tls_CAfile =
 | 
			
		||||
lmtp_tls_CApath =
 | 
			
		||||
lmtp_tls_block_early_mail_reply = no
 | 
			
		||||
lmtp_tls_cert_file =
 | 
			
		||||
lmtp_tls_chain_files =
 | 
			
		||||
lmtp_tls_ciphers = medium
 | 
			
		||||
lmtp_tls_connection_reuse = no
 | 
			
		||||
lmtp_tls_dcert_file =
 | 
			
		||||
lmtp_tls_dkey_file = $lmtp_tls_dcert_file
 | 
			
		||||
lmtp_tls_eccert_file =
 | 
			
		||||
lmtp_tls_eckey_file = $lmtp_tls_eccert_file
 | 
			
		||||
lmtp_tls_enforce_peername = yes
 | 
			
		||||
lmtp_tls_exclude_ciphers =
 | 
			
		||||
lmtp_tls_fingerprint_cert_match =
 | 
			
		||||
lmtp_tls_fingerprint_digest = md5
 | 
			
		||||
lmtp_tls_force_insecure_host_tlsa_lookup = no
 | 
			
		||||
lmtp_tls_key_file = $lmtp_tls_cert_file
 | 
			
		||||
lmtp_tls_loglevel = 0
 | 
			
		||||
lmtp_tls_mandatory_ciphers = medium
 | 
			
		||||
lmtp_tls_mandatory_exclude_ciphers =
 | 
			
		||||
lmtp_tls_mandatory_protocols = !SSLv2, !SSLv3
 | 
			
		||||
lmtp_tls_note_starttls_offer = no
 | 
			
		||||
lmtp_tls_per_site =
 | 
			
		||||
lmtp_tls_policy_maps =
 | 
			
		||||
lmtp_tls_protocols = !SSLv2, !SSLv3
 | 
			
		||||
lmtp_tls_scert_verifydepth = 9
 | 
			
		||||
lmtp_tls_secure_cert_match = nexthop
 | 
			
		||||
lmtp_tls_security_level =
 | 
			
		||||
lmtp_tls_servername =
 | 
			
		||||
lmtp_tls_session_cache_database =
 | 
			
		||||
lmtp_tls_session_cache_timeout = 3600s
 | 
			
		||||
lmtp_tls_trust_anchor_file =
 | 
			
		||||
lmtp_tls_verify_cert_match = hostname
 | 
			
		||||
lmtp_tls_wrappermode = no
 | 
			
		||||
lmtp_transport_rate_delay = $default_transport_rate_delay
 | 
			
		||||
lmtp_use_tls = no
 | 
			
		||||
lmtp_xforward_timeout = 300s
 | 
			
		||||
local_command_shell =
 | 
			
		||||
local_delivery_slot_cost = $default_delivery_slot_cost
 | 
			
		||||
local_delivery_slot_discount = $default_delivery_slot_discount
 | 
			
		||||
local_delivery_slot_loan = $default_delivery_slot_loan
 | 
			
		||||
local_delivery_status_filter = $default_delivery_status_filter
 | 
			
		||||
local_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
 | 
			
		||||
local_destination_concurrency_limit = 2
 | 
			
		||||
local_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
 | 
			
		||||
local_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
 | 
			
		||||
local_destination_rate_delay = $default_destination_rate_delay
 | 
			
		||||
local_destination_recipient_limit = 1
 | 
			
		||||
local_extra_recipient_limit = $default_extra_recipient_limit
 | 
			
		||||
local_header_rewrite_clients = permit_inet_interfaces
 | 
			
		||||
local_initial_destination_concurrency = $initial_destination_concurrency
 | 
			
		||||
local_minimum_delivery_slots = $default_minimum_delivery_slots
 | 
			
		||||
local_recipient_limit = $default_recipient_limit
 | 
			
		||||
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
 | 
			
		||||
local_recipient_refill_delay = $default_recipient_refill_delay
 | 
			
		||||
local_recipient_refill_limit = $default_recipient_refill_limit
 | 
			
		||||
local_transport = local:$myhostname
 | 
			
		||||
local_transport_rate_delay = $default_transport_rate_delay
 | 
			
		||||
luser_relay =
 | 
			
		||||
mail_name = Postfix
 | 
			
		||||
mail_owner = postfix
 | 
			
		||||
mail_release_date = 20190921
 | 
			
		||||
mail_spool_directory = /var/mail
 | 
			
		||||
mail_version = 3.4.7
 | 
			
		||||
mailbox_command =
 | 
			
		||||
mailbox_command_maps =
 | 
			
		||||
mailbox_delivery_lock = flock, dotlock
 | 
			
		||||
mailbox_size_limit = 51200000
 | 
			
		||||
mailbox_transport =
 | 
			
		||||
mailbox_transport_maps =
 | 
			
		||||
maillog_file =
 | 
			
		||||
maillog_file_compressor = gzip
 | 
			
		||||
maillog_file_prefixes = /var, /dev/stdout
 | 
			
		||||
maillog_file_rotate_suffix = %Y%M%d-%H%M%S
 | 
			
		||||
mailq_path = /usr/local/bin/mailq
 | 
			
		||||
manpage_directory = /usr/local/man
 | 
			
		||||
maps_rbl_domains =
 | 
			
		||||
maps_rbl_reject_code = 554
 | 
			
		||||
masquerade_classes = envelope_sender, header_sender, header_recipient
 | 
			
		||||
masquerade_domains =
 | 
			
		||||
masquerade_exceptions =
 | 
			
		||||
master_service_disable =
 | 
			
		||||
max_idle = 100s
 | 
			
		||||
max_use = 100
 | 
			
		||||
maximal_backoff_time = 4000s
 | 
			
		||||
maximal_queue_lifetime = 5d
 | 
			
		||||
message_drop_headers = bcc, content-length, resent-bcc, return-path
 | 
			
		||||
message_reject_characters =
 | 
			
		||||
message_size_limit = 10240000
 | 
			
		||||
message_strip_characters =
 | 
			
		||||
meta_directory = /usr/local/libexec/postfix
 | 
			
		||||
milter_command_timeout = 30s
 | 
			
		||||
milter_connect_macros = j {daemon_name} {daemon_addr} v
 | 
			
		||||
milter_connect_timeout = 30s
 | 
			
		||||
milter_content_timeout = 300s
 | 
			
		||||
milter_data_macros = i
 | 
			
		||||
milter_default_action = tempfail
 | 
			
		||||
milter_end_of_data_macros = i
 | 
			
		||||
milter_end_of_header_macros = i
 | 
			
		||||
milter_header_checks =
 | 
			
		||||
milter_helo_macros = {tls_version} {cipher} {cipher_bits} {cert_subject} {cert_issuer}
 | 
			
		||||
milter_macro_daemon_name = $myhostname
 | 
			
		||||
milter_macro_defaults =
 | 
			
		||||
milter_macro_v = $mail_name $mail_version
 | 
			
		||||
milter_mail_macros = i {auth_type} {auth_authen} {auth_author} {mail_addr} {mail_host} {mail_mailer}
 | 
			
		||||
milter_protocol = 6
 | 
			
		||||
milter_rcpt_macros = i {rcpt_addr} {rcpt_host} {rcpt_mailer}
 | 
			
		||||
milter_unknown_command_macros =
 | 
			
		||||
mime_boundary_length_limit = 2048
 | 
			
		||||
mime_header_checks = $header_checks
 | 
			
		||||
mime_nesting_limit = 100
 | 
			
		||||
minimal_backoff_time = 300s
 | 
			
		||||
multi_instance_directories =
 | 
			
		||||
multi_instance_enable = no
 | 
			
		||||
multi_instance_group =
 | 
			
		||||
multi_instance_name =
 | 
			
		||||
multi_instance_wrapper =
 | 
			
		||||
multi_recipient_bounce_reject_code = 550
 | 
			
		||||
mydestination = $myhostname, localhost.$mydomain, localhost
 | 
			
		||||
mynetworks_style = ${{$compatibility_level} < {2} ? {subnet} : {host}}
 | 
			
		||||
myorigin = $myhostname
 | 
			
		||||
nested_header_checks = $header_checks
 | 
			
		||||
newaliases_path = /usr/local/bin/newaliases
 | 
			
		||||
non_fqdn_reject_code = 504
 | 
			
		||||
non_smtpd_milters =
 | 
			
		||||
notify_classes = resource, software
 | 
			
		||||
openssl_path = openssl
 | 
			
		||||
owner_request_special = yes
 | 
			
		||||
parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps
 | 
			
		||||
permit_mx_backup_networks =
 | 
			
		||||
pickup_service_name = pickup
 | 
			
		||||
pipe_delivery_status_filter = $default_delivery_status_filter
 | 
			
		||||
plaintext_reject_code = 450
 | 
			
		||||
postlog_service_name = postlog
 | 
			
		||||
postlogd_watchdog_timeout = 10s
 | 
			
		||||
postmulti_control_commands = reload flush
 | 
			
		||||
postmulti_start_commands = start
 | 
			
		||||
postmulti_stop_commands = stop abort drain quick-stop
 | 
			
		||||
postscreen_access_list = permit_mynetworks
 | 
			
		||||
postscreen_bare_newline_action = ignore
 | 
			
		||||
postscreen_bare_newline_enable = no
 | 
			
		||||
postscreen_bare_newline_ttl = 30d
 | 
			
		||||
postscreen_blacklist_action = ignore
 | 
			
		||||
postscreen_cache_cleanup_interval = 12h
 | 
			
		||||
postscreen_cache_map = btree:$data_directory/postscreen_cache
 | 
			
		||||
postscreen_cache_retention_time = 7d
 | 
			
		||||
postscreen_client_connection_count_limit = $smtpd_client_connection_count_limit
 | 
			
		||||
postscreen_command_count_limit = 20
 | 
			
		||||
postscreen_command_filter =
 | 
			
		||||
postscreen_command_time_limit = ${stress?{10}:{300}}s
 | 
			
		||||
postscreen_disable_vrfy_command = $disable_vrfy_command
 | 
			
		||||
postscreen_discard_ehlo_keyword_address_maps = $smtpd_discard_ehlo_keyword_address_maps
 | 
			
		||||
postscreen_discard_ehlo_keywords = $smtpd_discard_ehlo_keywords
 | 
			
		||||
postscreen_dnsbl_action = ignore
 | 
			
		||||
postscreen_dnsbl_max_ttl = ${postscreen_dnsbl_ttl?{$postscreen_dnsbl_ttl}:{1}}h
 | 
			
		||||
postscreen_dnsbl_min_ttl = 60s
 | 
			
		||||
postscreen_dnsbl_reply_map =
 | 
			
		||||
postscreen_dnsbl_sites =
 | 
			
		||||
postscreen_dnsbl_threshold = 1
 | 
			
		||||
postscreen_dnsbl_timeout = 10s
 | 
			
		||||
postscreen_dnsbl_whitelist_threshold = 0
 | 
			
		||||
postscreen_enforce_tls = $smtpd_enforce_tls
 | 
			
		||||
postscreen_expansion_filter = $smtpd_expansion_filter
 | 
			
		||||
postscreen_forbidden_commands = $smtpd_forbidden_commands
 | 
			
		||||
postscreen_greet_action = ignore
 | 
			
		||||
postscreen_greet_banner = $smtpd_banner
 | 
			
		||||
postscreen_greet_ttl = 1d
 | 
			
		||||
postscreen_greet_wait = ${stress?{2}:{6}}s
 | 
			
		||||
postscreen_helo_required = $smtpd_helo_required
 | 
			
		||||
postscreen_non_smtp_command_action = drop
 | 
			
		||||
postscreen_non_smtp_command_enable = no
 | 
			
		||||
postscreen_non_smtp_command_ttl = 30d
 | 
			
		||||
postscreen_pipelining_action = enforce
 | 
			
		||||
postscreen_pipelining_enable = no
 | 
			
		||||
postscreen_pipelining_ttl = 30d
 | 
			
		||||
postscreen_post_queue_limit = $default_process_limit
 | 
			
		||||
postscreen_pre_queue_limit = $default_process_limit
 | 
			
		||||
postscreen_reject_footer = $smtpd_reject_footer
 | 
			
		||||
postscreen_reject_footer_maps = $smtpd_reject_footer_maps
 | 
			
		||||
postscreen_tls_security_level = $smtpd_tls_security_level
 | 
			
		||||
postscreen_upstream_proxy_protocol =
 | 
			
		||||
postscreen_upstream_proxy_timeout = 5s
 | 
			
		||||
postscreen_use_tls = $smtpd_use_tls
 | 
			
		||||
postscreen_watchdog_timeout = 10s
 | 
			
		||||
postscreen_whitelist_interfaces = static:all
 | 
			
		||||
prepend_delivered_header = command, file, forward
 | 
			
		||||
process_id_directory = pid
 | 
			
		||||
propagate_unmatched_extensions = canonical, virtual
 | 
			
		||||
proxy_interfaces =
 | 
			
		||||
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $sender_bcc_maps $recipient_bcc_maps $smtp_generic_maps $lmtp_generic_maps $alias_maps $smtpd_client_restrictions $smtpd_helo_restrictions $smtpd_sender_restrictions $smtpd_relay_restrictions $smtpd_recipient_restrictions $address_verify_sender_dependent_default_transport_maps $address_verify_sender_dependent_relayhost_maps $address_verify_transport_maps $fallback_transport_maps $lmtp_discard_lhlo_keyword_address_maps $lmtp_pix_workaround_maps $lmtp_sasl_password_maps $lmtp_tls_policy_maps $mailbox_command_maps $mailbox_transport_maps $postscreen_discard_ehlo_keyword_address_maps $rbl_reply_maps $sender_dependent_default_transport_maps $sender_dependent_relayhost_maps $smtp_discard_ehlo_keyword_address_maps $smtp_pix_workaround_maps $smtp_sasl_password_maps $smtp_tls_policy_maps $smtpd_discard_ehlo_keyword_address_maps $smtpd_milter_maps $virtual_gid_maps $virtual_uid_maps
 | 
			
		||||
proxy_write_maps = $smtp_sasl_auth_cache_name $lmtp_sasl_auth_cache_name $address_verify_map $postscreen_cache_map
 | 
			
		||||
proxymap_service_name = proxymap
 | 
			
		||||
proxywrite_service_name = proxywrite
 | 
			
		||||
qmgr_clog_warn_time = 300s
 | 
			
		||||
qmgr_daemon_timeout = 1000s
 | 
			
		||||
qmgr_fudge_factor = 100
 | 
			
		||||
qmgr_ipc_timeout = 60s
 | 
			
		||||
qmgr_message_active_limit = 20000
 | 
			
		||||
qmgr_message_recipient_limit = 20000
 | 
			
		||||
qmgr_message_recipient_minimum = 10
 | 
			
		||||
qmqpd_authorized_clients =
 | 
			
		||||
qmqpd_client_port_logging = no
 | 
			
		||||
qmqpd_error_delay = 1s
 | 
			
		||||
qmqpd_timeout = 300s
 | 
			
		||||
queue_directory = /var/spool/postfix
 | 
			
		||||
queue_file_attribute_count_limit = 100
 | 
			
		||||
queue_minfree = 0
 | 
			
		||||
queue_run_delay = 300s
 | 
			
		||||
queue_service_name = qmgr
 | 
			
		||||
rbl_reply_maps =
 | 
			
		||||
readme_directory = /usr/local/share/doc/postfix
 | 
			
		||||
receive_override_options =
 | 
			
		||||
recipient_bcc_maps =
 | 
			
		||||
recipient_canonical_classes = envelope_recipient, header_recipient
 | 
			
		||||
recipient_canonical_maps =
 | 
			
		||||
recipient_delimiter =
 | 
			
		||||
reject_code = 554
 | 
			
		||||
reject_tempfail_action = defer_if_permit
 | 
			
		||||
relay_clientcerts =
 | 
			
		||||
relay_delivery_slot_cost = $default_delivery_slot_cost
 | 
			
		||||
relay_delivery_slot_discount = $default_delivery_slot_discount
 | 
			
		||||
relay_delivery_slot_loan = $default_delivery_slot_loan
 | 
			
		||||
relay_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
 | 
			
		||||
relay_destination_concurrency_limit = $default_destination_concurrency_limit
 | 
			
		||||
relay_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
 | 
			
		||||
relay_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
 | 
			
		||||
relay_destination_rate_delay = $default_destination_rate_delay
 | 
			
		||||
relay_destination_recipient_limit = $default_destination_recipient_limit
 | 
			
		||||
relay_domains = ${{$compatibility_level} < {2} ? {$mydestination} : {}}
 | 
			
		||||
relay_domains_reject_code = 554
 | 
			
		||||
relay_extra_recipient_limit = $default_extra_recipient_limit
 | 
			
		||||
relay_initial_destination_concurrency = $initial_destination_concurrency
 | 
			
		||||
relay_minimum_delivery_slots = $default_minimum_delivery_slots
 | 
			
		||||
relay_recipient_limit = $default_recipient_limit
 | 
			
		||||
relay_recipient_maps =
 | 
			
		||||
relay_recipient_refill_delay = $default_recipient_refill_delay
 | 
			
		||||
relay_recipient_refill_limit = $default_recipient_refill_limit
 | 
			
		||||
relay_transport = relay
 | 
			
		||||
relay_transport_rate_delay = $default_transport_rate_delay
 | 
			
		||||
relayhost =
 | 
			
		||||
relocated_maps =
 | 
			
		||||
remote_header_rewrite_domain =
 | 
			
		||||
require_home_directory = no
 | 
			
		||||
reset_owner_alias = no
 | 
			
		||||
resolve_dequoted_address = yes
 | 
			
		||||
resolve_null_domain = no
 | 
			
		||||
resolve_numeric_domain = no
 | 
			
		||||
retry_delivery_slot_cost = $default_delivery_slot_cost
 | 
			
		||||
retry_delivery_slot_discount = $default_delivery_slot_discount
 | 
			
		||||
retry_delivery_slot_loan = $default_delivery_slot_loan
 | 
			
		||||
retry_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
 | 
			
		||||
retry_destination_concurrency_limit = $default_destination_concurrency_limit
 | 
			
		||||
retry_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
 | 
			
		||||
retry_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
 | 
			
		||||
retry_destination_rate_delay = $default_destination_rate_delay
 | 
			
		||||
retry_destination_recipient_limit = $default_destination_recipient_limit
 | 
			
		||||
retry_extra_recipient_limit = $default_extra_recipient_limit
 | 
			
		||||
retry_initial_destination_concurrency = $initial_destination_concurrency
 | 
			
		||||
retry_minimum_delivery_slots = $default_minimum_delivery_slots
 | 
			
		||||
retry_recipient_limit = $default_recipient_limit
 | 
			
		||||
retry_recipient_refill_delay = $default_recipient_refill_delay
 | 
			
		||||
retry_recipient_refill_limit = $default_recipient_refill_limit
 | 
			
		||||
retry_transport_rate_delay = $default_transport_rate_delay
 | 
			
		||||
rewrite_service_name = rewrite
 | 
			
		||||
sample_directory = /usr/local/etc/postfix
 | 
			
		||||
send_cyrus_sasl_authzid = no
 | 
			
		||||
sender_bcc_maps =
 | 
			
		||||
sender_canonical_classes = envelope_sender, header_sender
 | 
			
		||||
sender_canonical_maps =
 | 
			
		||||
sender_dependent_default_transport_maps =
 | 
			
		||||
sender_dependent_relayhost_maps =
 | 
			
		||||
sendmail_fix_line_endings = always
 | 
			
		||||
sendmail_path = /usr/local/sbin/sendmail
 | 
			
		||||
service_name =
 | 
			
		||||
service_throttle_time = 60s
 | 
			
		||||
setgid_group = maildrop
 | 
			
		||||
shlib_directory = /usr/local/lib/postfix
 | 
			
		||||
show_user_unknown_table_name = yes
 | 
			
		||||
showq_service_name = showq
 | 
			
		||||
smtp_address_preference = any
 | 
			
		||||
smtp_address_verify_target = rcpt
 | 
			
		||||
smtp_always_send_ehlo = yes
 | 
			
		||||
smtp_balance_inet_protocols = yes
 | 
			
		||||
smtp_bind_address =
 | 
			
		||||
smtp_bind_address6 =
 | 
			
		||||
smtp_body_checks =
 | 
			
		||||
smtp_cname_overrides_servername = no
 | 
			
		||||
smtp_connect_timeout = 30s
 | 
			
		||||
smtp_connection_cache_destinations =
 | 
			
		||||
smtp_connection_cache_on_demand = yes
 | 
			
		||||
smtp_connection_cache_time_limit = 2s
 | 
			
		||||
smtp_connection_reuse_count_limit = 0
 | 
			
		||||
smtp_connection_reuse_time_limit = 300s
 | 
			
		||||
smtp_data_done_timeout = 600s
 | 
			
		||||
smtp_data_init_timeout = 120s
 | 
			
		||||
smtp_data_xfer_timeout = 180s
 | 
			
		||||
smtp_defer_if_no_mx_address_found = no
 | 
			
		||||
smtp_delivery_slot_cost = $default_delivery_slot_cost
 | 
			
		||||
smtp_delivery_slot_discount = $default_delivery_slot_discount
 | 
			
		||||
smtp_delivery_slot_loan = $default_delivery_slot_loan
 | 
			
		||||
smtp_delivery_status_filter = $default_delivery_status_filter
 | 
			
		||||
smtp_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
 | 
			
		||||
smtp_destination_concurrency_limit = $default_destination_concurrency_limit
 | 
			
		||||
smtp_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
 | 
			
		||||
smtp_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
 | 
			
		||||
smtp_destination_rate_delay = $default_destination_rate_delay
 | 
			
		||||
smtp_destination_recipient_limit = $default_destination_recipient_limit
 | 
			
		||||
smtp_discard_ehlo_keyword_address_maps =
 | 
			
		||||
smtp_discard_ehlo_keywords =
 | 
			
		||||
smtp_dns_reply_filter =
 | 
			
		||||
smtp_dns_resolver_options =
 | 
			
		||||
smtp_dns_support_level =
 | 
			
		||||
smtp_enforce_tls = no
 | 
			
		||||
smtp_extra_recipient_limit = $default_extra_recipient_limit
 | 
			
		||||
smtp_fallback_relay = $fallback_relay
 | 
			
		||||
smtp_generic_maps =
 | 
			
		||||
smtp_header_checks =
 | 
			
		||||
smtp_helo_name = $myhostname
 | 
			
		||||
smtp_helo_timeout = 300s
 | 
			
		||||
smtp_host_lookup = dns
 | 
			
		||||
smtp_initial_destination_concurrency = $initial_destination_concurrency
 | 
			
		||||
smtp_line_length_limit = 998
 | 
			
		||||
smtp_mail_timeout = 300s
 | 
			
		||||
smtp_mime_header_checks =
 | 
			
		||||
smtp_minimum_delivery_slots = $default_minimum_delivery_slots
 | 
			
		||||
smtp_mx_address_limit = 5
 | 
			
		||||
smtp_mx_session_limit = 2
 | 
			
		||||
smtp_nested_header_checks =
 | 
			
		||||
smtp_never_send_ehlo = no
 | 
			
		||||
smtp_per_record_deadline = no
 | 
			
		||||
smtp_pix_workaround_delay_time = 10s
 | 
			
		||||
smtp_pix_workaround_maps =
 | 
			
		||||
smtp_pix_workaround_threshold_time = 500s
 | 
			
		||||
smtp_pix_workarounds = disable_esmtp,delay_dotcrlf
 | 
			
		||||
smtp_quit_timeout = 300s
 | 
			
		||||
smtp_quote_rfc821_envelope = yes
 | 
			
		||||
smtp_randomize_addresses = yes
 | 
			
		||||
smtp_rcpt_timeout = 300s
 | 
			
		||||
smtp_recipient_limit = $default_recipient_limit
 | 
			
		||||
smtp_recipient_refill_delay = $default_recipient_refill_delay
 | 
			
		||||
smtp_recipient_refill_limit = $default_recipient_refill_limit
 | 
			
		||||
smtp_reply_filter =
 | 
			
		||||
smtp_rset_timeout = 20s
 | 
			
		||||
smtp_sasl_auth_cache_name =
 | 
			
		||||
smtp_sasl_auth_cache_time = 90d
 | 
			
		||||
smtp_sasl_auth_enable = no
 | 
			
		||||
smtp_sasl_auth_soft_bounce = yes
 | 
			
		||||
smtp_sasl_mechanism_filter =
 | 
			
		||||
smtp_sasl_password_maps =
 | 
			
		||||
smtp_sasl_path =
 | 
			
		||||
smtp_sasl_security_options = noplaintext, noanonymous
 | 
			
		||||
smtp_sasl_tls_security_options = $smtp_sasl_security_options
 | 
			
		||||
smtp_sasl_tls_verified_security_options = $smtp_sasl_tls_security_options
 | 
			
		||||
smtp_sasl_type = cyrus
 | 
			
		||||
smtp_send_dummy_mail_auth = no
 | 
			
		||||
smtp_send_xforward_command = no
 | 
			
		||||
smtp_sender_dependent_authentication = no
 | 
			
		||||
smtp_skip_5xx_greeting = yes
 | 
			
		||||
smtp_skip_quit_response = yes
 | 
			
		||||
smtp_starttls_timeout = 300s
 | 
			
		||||
smtp_tcp_port = smtp
 | 
			
		||||
smtp_tls_CAfile =
 | 
			
		||||
smtp_tls_CApath =
 | 
			
		||||
smtp_tls_block_early_mail_reply = no
 | 
			
		||||
smtp_tls_cert_file =
 | 
			
		||||
smtp_tls_chain_files =
 | 
			
		||||
smtp_tls_ciphers = medium
 | 
			
		||||
smtp_tls_connection_reuse = no
 | 
			
		||||
smtp_tls_dane_insecure_mx_policy = dane
 | 
			
		||||
smtp_tls_dcert_file =
 | 
			
		||||
smtp_tls_dkey_file = $smtp_tls_dcert_file
 | 
			
		||||
smtp_tls_eccert_file =
 | 
			
		||||
smtp_tls_eckey_file = $smtp_tls_eccert_file
 | 
			
		||||
smtp_tls_enforce_peername = yes
 | 
			
		||||
smtp_tls_exclude_ciphers =
 | 
			
		||||
smtp_tls_fingerprint_cert_match =
 | 
			
		||||
smtp_tls_fingerprint_digest = md5
 | 
			
		||||
smtp_tls_force_insecure_host_tlsa_lookup = no
 | 
			
		||||
smtp_tls_key_file = $smtp_tls_cert_file
 | 
			
		||||
smtp_tls_loglevel = 0
 | 
			
		||||
smtp_tls_mandatory_ciphers = medium
 | 
			
		||||
smtp_tls_mandatory_exclude_ciphers =
 | 
			
		||||
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
 | 
			
		||||
smtp_tls_note_starttls_offer = no
 | 
			
		||||
smtp_tls_per_site =
 | 
			
		||||
smtp_tls_policy_maps =
 | 
			
		||||
smtp_tls_protocols = !SSLv2, !SSLv3
 | 
			
		||||
smtp_tls_scert_verifydepth = 9
 | 
			
		||||
smtp_tls_secure_cert_match = nexthop, dot-nexthop
 | 
			
		||||
smtp_tls_security_level =
 | 
			
		||||
smtp_tls_servername =
 | 
			
		||||
smtp_tls_session_cache_database =
 | 
			
		||||
smtp_tls_session_cache_timeout = 3600s
 | 
			
		||||
smtp_tls_trust_anchor_file =
 | 
			
		||||
smtp_tls_verify_cert_match = hostname
 | 
			
		||||
smtp_tls_wrappermode = no
 | 
			
		||||
smtp_transport_rate_delay = $default_transport_rate_delay
 | 
			
		||||
smtp_use_tls = no
 | 
			
		||||
smtp_xforward_timeout = 300s
 | 
			
		||||
smtpd_authorized_verp_clients = $authorized_verp_clients
 | 
			
		||||
smtpd_authorized_xclient_hosts =
 | 
			
		||||
smtpd_authorized_xforward_hosts =
 | 
			
		||||
smtpd_banner = $myhostname ESMTP $mail_name
 | 
			
		||||
smtpd_client_auth_rate_limit = 0
 | 
			
		||||
smtpd_client_connection_count_limit = 50
 | 
			
		||||
smtpd_client_connection_rate_limit = 0
 | 
			
		||||
smtpd_client_event_limit_exceptions = ${smtpd_client_connection_limit_exceptions:$mynetworks}
 | 
			
		||||
smtpd_client_message_rate_limit = 0
 | 
			
		||||
smtpd_client_new_tls_session_rate_limit = 0
 | 
			
		||||
smtpd_client_port_logging = no
 | 
			
		||||
smtpd_client_recipient_rate_limit = 0
 | 
			
		||||
smtpd_client_restrictions =
 | 
			
		||||
smtpd_command_filter =
 | 
			
		||||
smtpd_data_restrictions =
 | 
			
		||||
smtpd_delay_open_until_valid_rcpt = yes
 | 
			
		||||
smtpd_delay_reject = yes
 | 
			
		||||
smtpd_discard_ehlo_keyword_address_maps =
 | 
			
		||||
smtpd_discard_ehlo_keywords =
 | 
			
		||||
smtpd_dns_reply_filter =
 | 
			
		||||
smtpd_end_of_data_restrictions =
 | 
			
		||||
smtpd_enforce_tls = no
 | 
			
		||||
smtpd_error_sleep_time = 1s
 | 
			
		||||
smtpd_etrn_restrictions =
 | 
			
		||||
smtpd_expansion_filter = \t\40!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 | 
			
		||||
smtpd_forbidden_commands = CONNECT GET POST
 | 
			
		||||
smtpd_hard_error_limit = ${stress?{1}:{20}}
 | 
			
		||||
smtpd_helo_required = no
 | 
			
		||||
smtpd_helo_restrictions =
 | 
			
		||||
smtpd_history_flush_threshold = 100
 | 
			
		||||
smtpd_junk_command_limit = ${stress?{1}:{100}}
 | 
			
		||||
smtpd_log_access_permit_actions =
 | 
			
		||||
smtpd_milter_maps =
 | 
			
		||||
smtpd_milters =
 | 
			
		||||
smtpd_noop_commands =
 | 
			
		||||
smtpd_null_access_lookup_key = <>
 | 
			
		||||
smtpd_peername_lookup = yes
 | 
			
		||||
smtpd_per_record_deadline = ${stress?{yes}:{no}}
 | 
			
		||||
smtpd_policy_service_default_action = 451 4.3.5 Server configuration problem
 | 
			
		||||
smtpd_policy_service_max_idle = 300s
 | 
			
		||||
smtpd_policy_service_max_ttl = 1000s
 | 
			
		||||
smtpd_policy_service_policy_context =
 | 
			
		||||
smtpd_policy_service_request_limit = 0
 | 
			
		||||
smtpd_policy_service_retry_delay = 1s
 | 
			
		||||
smtpd_policy_service_timeout = 100s
 | 
			
		||||
smtpd_policy_service_try_limit = 2
 | 
			
		||||
smtpd_proxy_ehlo = $myhostname
 | 
			
		||||
smtpd_proxy_filter =
 | 
			
		||||
smtpd_proxy_options =
 | 
			
		||||
smtpd_proxy_timeout = 100s
 | 
			
		||||
smtpd_recipient_limit = 1000
 | 
			
		||||
smtpd_recipient_overshoot_limit = 1000
 | 
			
		||||
smtpd_recipient_restrictions =
 | 
			
		||||
smtpd_reject_footer =
 | 
			
		||||
smtpd_reject_footer_maps =
 | 
			
		||||
smtpd_reject_unlisted_recipient = yes
 | 
			
		||||
smtpd_reject_unlisted_sender = no
 | 
			
		||||
smtpd_relay_restrictions = ${{$compatibility_level} < {1} ? {} : {permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination}}
 | 
			
		||||
smtpd_restriction_classes =
 | 
			
		||||
smtpd_sasl_auth_enable = no
 | 
			
		||||
smtpd_sasl_authenticated_header = no
 | 
			
		||||
smtpd_sasl_exceptions_networks =
 | 
			
		||||
smtpd_sasl_local_domain =
 | 
			
		||||
smtpd_sasl_path = smtpd
 | 
			
		||||
smtpd_sasl_response_limit = 12288
 | 
			
		||||
smtpd_sasl_security_options = noanonymous
 | 
			
		||||
smtpd_sasl_service = smtp
 | 
			
		||||
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
 | 
			
		||||
smtpd_sasl_type = dovecot
 | 
			
		||||
smtpd_sender_login_maps =
 | 
			
		||||
smtpd_sender_restrictions =
 | 
			
		||||
smtpd_service_name = smtpd
 | 
			
		||||
smtpd_soft_error_limit = 10
 | 
			
		||||
smtpd_starttls_timeout = ${stress?{10}:{300}}s
 | 
			
		||||
smtpd_timeout = ${stress?{10}:{300}}s
 | 
			
		||||
smtpd_tls_CAfile =
 | 
			
		||||
smtpd_tls_CApath =
 | 
			
		||||
smtpd_tls_always_issue_session_ids = yes
 | 
			
		||||
smtpd_tls_ask_ccert = no
 | 
			
		||||
smtpd_tls_auth_only = no
 | 
			
		||||
smtpd_tls_ccert_verifydepth = 9
 | 
			
		||||
smtpd_tls_cert_file =
 | 
			
		||||
smtpd_tls_chain_files =
 | 
			
		||||
smtpd_tls_ciphers = medium
 | 
			
		||||
smtpd_tls_dcert_file =
 | 
			
		||||
smtpd_tls_dh1024_param_file =
 | 
			
		||||
smtpd_tls_dh512_param_file =
 | 
			
		||||
smtpd_tls_dkey_file = $smtpd_tls_dcert_file
 | 
			
		||||
smtpd_tls_eccert_file =
 | 
			
		||||
smtpd_tls_eckey_file = $smtpd_tls_eccert_file
 | 
			
		||||
smtpd_tls_eecdh_grade = auto
 | 
			
		||||
smtpd_tls_exclude_ciphers =
 | 
			
		||||
smtpd_tls_fingerprint_digest = md5
 | 
			
		||||
smtpd_tls_key_file = $smtpd_tls_cert_file
 | 
			
		||||
smtpd_tls_loglevel = 0
 | 
			
		||||
smtpd_tls_mandatory_ciphers = medium
 | 
			
		||||
smtpd_tls_mandatory_exclude_ciphers =
 | 
			
		||||
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
 | 
			
		||||
smtpd_tls_protocols = !SSLv2, !SSLv3
 | 
			
		||||
smtpd_tls_received_header = no
 | 
			
		||||
smtpd_tls_req_ccert = no
 | 
			
		||||
smtpd_tls_security_level =
 | 
			
		||||
smtpd_tls_session_cache_database =
 | 
			
		||||
smtpd_tls_session_cache_timeout = 3600s
 | 
			
		||||
smtpd_tls_wrappermode = no
 | 
			
		||||
smtpd_upstream_proxy_protocol =
 | 
			
		||||
smtpd_upstream_proxy_timeout = 5s
 | 
			
		||||
smtpd_use_tls = no
 | 
			
		||||
smtputf8_autodetect_classes = sendmail, verify
 | 
			
		||||
smtputf8_enable = ${{$compatibility_level} < {1} ? {no} : {yes}}
 | 
			
		||||
soft_bounce = no
 | 
			
		||||
stale_lock_time = 500s
 | 
			
		||||
stress =
 | 
			
		||||
strict_7bit_headers = no
 | 
			
		||||
strict_8bitmime = no
 | 
			
		||||
strict_8bitmime_body = no
 | 
			
		||||
strict_mailbox_ownership = yes
 | 
			
		||||
strict_mime_encoding_domain = no
 | 
			
		||||
strict_rfc821_envelopes = no
 | 
			
		||||
strict_smtputf8 = no
 | 
			
		||||
sun_mailtool_compatibility = no
 | 
			
		||||
swap_bangpath = yes
 | 
			
		||||
syslog_facility = mail
 | 
			
		||||
syslog_name = ${multi_instance_name?{$multi_instance_name}:{postfix}}
 | 
			
		||||
tcp_windowsize = 0
 | 
			
		||||
tls_append_default_CA = no
 | 
			
		||||
tls_daemon_random_bytes = 32
 | 
			
		||||
tls_dane_digests = sha512 sha256
 | 
			
		||||
tls_disable_workarounds =
 | 
			
		||||
tls_eecdh_auto_curves = X25519 X448 prime256v1 secp521r1 secp384r1
 | 
			
		||||
tls_eecdh_strong_curve = prime256v1
 | 
			
		||||
tls_eecdh_ultra_curve = secp384r1
 | 
			
		||||
tls_export_cipherlist = aNULL:-aNULL:HIGH:MEDIUM:LOW:EXPORT:+RC4:@STRENGTH
 | 
			
		||||
tls_fast_shutdown_enable = yes
 | 
			
		||||
tls_high_cipherlist = aNULL:-aNULL:HIGH:@STRENGTH
 | 
			
		||||
tls_legacy_public_key_fingerprints = no
 | 
			
		||||
tls_low_cipherlist = aNULL:-aNULL:HIGH:MEDIUM:LOW:+RC4:@STRENGTH
 | 
			
		||||
tls_medium_cipherlist = aNULL:-aNULL:HIGH:MEDIUM:+RC4:@STRENGTH
 | 
			
		||||
tls_null_cipherlist = eNULL:!aNULL
 | 
			
		||||
tls_preempt_cipherlist = no
 | 
			
		||||
tls_random_bytes = 32
 | 
			
		||||
tls_random_exchange_name = ${data_directory}/prng_exch
 | 
			
		||||
tls_random_prng_update_period = 3600s
 | 
			
		||||
tls_random_reseed_period = 3600s
 | 
			
		||||
tls_random_source = dev:/dev/urandom
 | 
			
		||||
tls_server_sni_maps =
 | 
			
		||||
tls_session_ticket_cipher = aes-256-cbc
 | 
			
		||||
tls_ssl_options =
 | 
			
		||||
tls_wildcard_matches_multiple_labels = yes
 | 
			
		||||
tlsmgr_service_name = tlsmgr
 | 
			
		||||
tlsproxy_client_CAfile = $smtp_tls_CAfile
 | 
			
		||||
tlsproxy_client_CApath = $smtp_tls_CApath
 | 
			
		||||
tlsproxy_client_cert_file = $smtp_tls_cert_file
 | 
			
		||||
tlsproxy_client_chain_files = $smtp_tls_chain_files
 | 
			
		||||
tlsproxy_client_dcert_file = $smtp_tls_dcert_file
 | 
			
		||||
tlsproxy_client_dkey_file = $smtp_tls_dkey_file
 | 
			
		||||
tlsproxy_client_eccert_file = $smtp_tls_eccert_file
 | 
			
		||||
tlsproxy_client_eckey_file = $smtp_tls_eckey_file
 | 
			
		||||
tlsproxy_client_enforce_tls = $smtp_enforce_tls
 | 
			
		||||
tlsproxy_client_fingerprint_digest = $smtp_tls_fingerprint_digest
 | 
			
		||||
tlsproxy_client_key_file = $smtp_tls_key_file
 | 
			
		||||
tlsproxy_client_level = $smtp_tls_security_level
 | 
			
		||||
tlsproxy_client_loglevel = $smtp_tls_loglevel
 | 
			
		||||
tlsproxy_client_loglevel_parameter = smtp_tls_loglevel
 | 
			
		||||
tlsproxy_client_per_site = $smtp_tls_per_site
 | 
			
		||||
tlsproxy_client_policy = $smtp_tls_policy_maps
 | 
			
		||||
tlsproxy_client_scert_verifydepth = $smtp_tls_scert_verifydepth
 | 
			
		||||
tlsproxy_client_use_tls = $smtp_use_tls
 | 
			
		||||
tlsproxy_enforce_tls = $smtpd_enforce_tls
 | 
			
		||||
tlsproxy_service_name = tlsproxy
 | 
			
		||||
tlsproxy_tls_CAfile = $smtpd_tls_CAfile
 | 
			
		||||
tlsproxy_tls_CApath = $smtpd_tls_CApath
 | 
			
		||||
tlsproxy_tls_always_issue_session_ids = $smtpd_tls_always_issue_session_ids
 | 
			
		||||
tlsproxy_tls_ask_ccert = $smtpd_tls_ask_ccert
 | 
			
		||||
tlsproxy_tls_ccert_verifydepth = $smtpd_tls_ccert_verifydepth
 | 
			
		||||
tlsproxy_tls_cert_file = $smtpd_tls_cert_file
 | 
			
		||||
tlsproxy_tls_chain_files = $smtpd_tls_chain_files
 | 
			
		||||
tlsproxy_tls_ciphers = $smtpd_tls_ciphers
 | 
			
		||||
tlsproxy_tls_dcert_file = $smtpd_tls_dcert_file
 | 
			
		||||
tlsproxy_tls_dh1024_param_file = $smtpd_tls_dh1024_param_file
 | 
			
		||||
tlsproxy_tls_dh512_param_file = $smtpd_tls_dh512_param_file
 | 
			
		||||
tlsproxy_tls_dkey_file = $smtpd_tls_dkey_file
 | 
			
		||||
tlsproxy_tls_eccert_file = $smtpd_tls_eccert_file
 | 
			
		||||
tlsproxy_tls_eckey_file = $smtpd_tls_eckey_file
 | 
			
		||||
tlsproxy_tls_eecdh_grade = $smtpd_tls_eecdh_grade
 | 
			
		||||
tlsproxy_tls_exclude_ciphers = $smtpd_tls_exclude_ciphers
 | 
			
		||||
tlsproxy_tls_fingerprint_digest = $smtpd_tls_fingerprint_digest
 | 
			
		||||
tlsproxy_tls_key_file = $smtpd_tls_key_file
 | 
			
		||||
tlsproxy_tls_loglevel = $smtpd_tls_loglevel
 | 
			
		||||
tlsproxy_tls_mandatory_ciphers = $smtpd_tls_mandatory_ciphers
 | 
			
		||||
tlsproxy_tls_mandatory_exclude_ciphers = $smtpd_tls_mandatory_exclude_ciphers
 | 
			
		||||
tlsproxy_tls_mandatory_protocols = $smtpd_tls_mandatory_protocols
 | 
			
		||||
tlsproxy_tls_protocols = $smtpd_tls_protocols
 | 
			
		||||
tlsproxy_tls_req_ccert = $smtpd_tls_req_ccert
 | 
			
		||||
tlsproxy_tls_security_level = $smtpd_tls_security_level
 | 
			
		||||
tlsproxy_use_tls = $smtpd_use_tls
 | 
			
		||||
tlsproxy_watchdog_timeout = 10s
 | 
			
		||||
trace_service_name = trace
 | 
			
		||||
transport_maps =
 | 
			
		||||
transport_retry_time = 60s
 | 
			
		||||
trigger_timeout = 10s
 | 
			
		||||
undisclosed_recipients_header =
 | 
			
		||||
unknown_address_reject_code = 450
 | 
			
		||||
unknown_address_tempfail_action = $reject_tempfail_action
 | 
			
		||||
unknown_client_reject_code = 450
 | 
			
		||||
unknown_helo_hostname_tempfail_action = $reject_tempfail_action
 | 
			
		||||
unknown_hostname_reject_code = 450
 | 
			
		||||
unknown_local_recipient_reject_code = 550
 | 
			
		||||
unknown_relay_recipient_reject_code = 550
 | 
			
		||||
unknown_virtual_alias_reject_code = 550
 | 
			
		||||
unknown_virtual_mailbox_reject_code = 550
 | 
			
		||||
unverified_recipient_defer_code = 450
 | 
			
		||||
unverified_recipient_reject_code = 450
 | 
			
		||||
unverified_recipient_reject_reason =
 | 
			
		||||
unverified_recipient_tempfail_action = $reject_tempfail_action
 | 
			
		||||
unverified_sender_defer_code = 450
 | 
			
		||||
unverified_sender_reject_code = 450
 | 
			
		||||
unverified_sender_reject_reason =
 | 
			
		||||
unverified_sender_tempfail_action = $reject_tempfail_action
 | 
			
		||||
verp_delimiter_filter = -=+
 | 
			
		||||
virtual_alias_address_length_limit = 1000
 | 
			
		||||
virtual_alias_domains = $virtual_alias_maps
 | 
			
		||||
virtual_alias_expansion_limit = 1000
 | 
			
		||||
virtual_alias_maps = $virtual_maps
 | 
			
		||||
virtual_alias_recursion_limit = 1000
 | 
			
		||||
virtual_delivery_slot_cost = $default_delivery_slot_cost
 | 
			
		||||
virtual_delivery_slot_discount = $default_delivery_slot_discount
 | 
			
		||||
virtual_delivery_slot_loan = $default_delivery_slot_loan
 | 
			
		||||
virtual_delivery_status_filter = $default_delivery_status_filter
 | 
			
		||||
virtual_destination_concurrency_failed_cohort_limit = $default_destination_concurrency_failed_cohort_limit
 | 
			
		||||
virtual_destination_concurrency_limit = $default_destination_concurrency_limit
 | 
			
		||||
virtual_destination_concurrency_negative_feedback = $default_destination_concurrency_negative_feedback
 | 
			
		||||
virtual_destination_concurrency_positive_feedback = $default_destination_concurrency_positive_feedback
 | 
			
		||||
virtual_destination_rate_delay = $default_destination_rate_delay
 | 
			
		||||
virtual_destination_recipient_limit = $default_destination_recipient_limit
 | 
			
		||||
virtual_extra_recipient_limit = $default_extra_recipient_limit
 | 
			
		||||
virtual_gid_maps =
 | 
			
		||||
virtual_initial_destination_concurrency = $initial_destination_concurrency
 | 
			
		||||
virtual_mailbox_base =
 | 
			
		||||
virtual_mailbox_domains = $virtual_mailbox_maps
 | 
			
		||||
virtual_mailbox_limit = 51200000
 | 
			
		||||
virtual_mailbox_lock = fcntl, dotlock
 | 
			
		||||
virtual_mailbox_maps =
 | 
			
		||||
virtual_minimum_delivery_slots = $default_minimum_delivery_slots
 | 
			
		||||
virtual_minimum_uid = 100
 | 
			
		||||
virtual_recipient_limit = $default_recipient_limit
 | 
			
		||||
virtual_recipient_refill_delay = $default_recipient_refill_delay
 | 
			
		||||
virtual_recipient_refill_limit = $default_recipient_refill_limit
 | 
			
		||||
virtual_transport = virtual
 | 
			
		||||
virtual_transport_rate_delay = $default_transport_rate_delay
 | 
			
		||||
virtual_uid_maps =
 | 
			
		||||
							
								
								
									
										677
									
								
								jails/config/mail/postfix/main.cf.sample
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										677
									
								
								jails/config/mail/postfix/main.cf.sample
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,677 @@
 | 
			
		||||
# Global Postfix configuration file. This file lists only a subset
 | 
			
		||||
# of all parameters. For the syntax, and for a complete parameter
 | 
			
		||||
# list, see the postconf(5) manual page (command: "man 5 postconf").
 | 
			
		||||
#
 | 
			
		||||
# For common configuration examples, see BASIC_CONFIGURATION_README
 | 
			
		||||
# and STANDARD_CONFIGURATION_README. To find these documents, use
 | 
			
		||||
# the command "postconf html_directory readme_directory", or go to
 | 
			
		||||
# http://www.postfix.org/BASIC_CONFIGURATION_README.html etc.
 | 
			
		||||
#
 | 
			
		||||
# For best results, change no more than 2-3 parameters at a time,
 | 
			
		||||
# and test if Postfix still works after every change.
 | 
			
		||||
 | 
			
		||||
# COMPATIBILITY
 | 
			
		||||
#
 | 
			
		||||
# The compatibility_level determines what default settings Postfix
 | 
			
		||||
# will use for main.cf and master.cf settings. These defaults will
 | 
			
		||||
# change over time.
 | 
			
		||||
#
 | 
			
		||||
# To avoid breaking things, Postfix will use backwards-compatible
 | 
			
		||||
# default settings and log where it uses those old backwards-compatible
 | 
			
		||||
# default settings, until the system administrator has determined
 | 
			
		||||
# if any backwards-compatible default settings need to be made
 | 
			
		||||
# permanent in main.cf or master.cf.
 | 
			
		||||
#
 | 
			
		||||
# When this review is complete, update the compatibility_level setting
 | 
			
		||||
# below as recommended in the RELEASE_NOTES file.
 | 
			
		||||
#
 | 
			
		||||
# The level below is what should be used with new (not upgrade) installs.
 | 
			
		||||
#
 | 
			
		||||
compatibility_level = 2
 | 
			
		||||
 | 
			
		||||
# SOFT BOUNCE
 | 
			
		||||
#
 | 
			
		||||
# The soft_bounce parameter provides a limited safety net for
 | 
			
		||||
# testing.  When soft_bounce is enabled, mail will remain queued that
 | 
			
		||||
# would otherwise bounce. This parameter disables locally-generated
 | 
			
		||||
# bounces, and prevents the SMTP server from rejecting mail permanently
 | 
			
		||||
# (by changing 5xx replies into 4xx replies). However, soft_bounce
 | 
			
		||||
# is no cure for address rewriting mistakes or mail routing mistakes.
 | 
			
		||||
#
 | 
			
		||||
#soft_bounce = no
 | 
			
		||||
 | 
			
		||||
# LOCAL PATHNAME INFORMATION
 | 
			
		||||
#
 | 
			
		||||
# The queue_directory specifies the location of the Postfix queue.
 | 
			
		||||
# This is also the root directory of Postfix daemons that run chrooted.
 | 
			
		||||
# See the files in examples/chroot-setup for setting up Postfix chroot
 | 
			
		||||
# environments on different UNIX systems.
 | 
			
		||||
#
 | 
			
		||||
queue_directory = /var/spool/postfix
 | 
			
		||||
 | 
			
		||||
# The command_directory parameter specifies the location of all
 | 
			
		||||
# postXXX commands.
 | 
			
		||||
#
 | 
			
		||||
command_directory = /usr/local/sbin
 | 
			
		||||
 | 
			
		||||
# The daemon_directory parameter specifies the location of all Postfix
 | 
			
		||||
# daemon programs (i.e. programs listed in the master.cf file). This
 | 
			
		||||
# directory must be owned by root.
 | 
			
		||||
#
 | 
			
		||||
daemon_directory = /usr/local/libexec/postfix
 | 
			
		||||
 | 
			
		||||
# The data_directory parameter specifies the location of Postfix-writable
 | 
			
		||||
# data files (caches, random numbers). This directory must be owned
 | 
			
		||||
# by the mail_owner account (see below).
 | 
			
		||||
#
 | 
			
		||||
data_directory = /var/db/postfix
 | 
			
		||||
 | 
			
		||||
# QUEUE AND PROCESS OWNERSHIP
 | 
			
		||||
#
 | 
			
		||||
# The mail_owner parameter specifies the owner of the Postfix queue
 | 
			
		||||
# and of most Postfix daemon processes.  Specify the name of a user
 | 
			
		||||
# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS
 | 
			
		||||
# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM.  In
 | 
			
		||||
# particular, don't specify nobody or daemon. PLEASE USE A DEDICATED
 | 
			
		||||
# USER.
 | 
			
		||||
#
 | 
			
		||||
mail_owner = postfix
 | 
			
		||||
 | 
			
		||||
# The default_privs parameter specifies the default rights used by
 | 
			
		||||
# the local delivery agent for delivery to external file or command.
 | 
			
		||||
# These rights are used in the absence of a recipient user context.
 | 
			
		||||
# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
 | 
			
		||||
#
 | 
			
		||||
#default_privs = nobody
 | 
			
		||||
 | 
			
		||||
# INTERNET HOST AND DOMAIN NAMES
 | 
			
		||||
# 
 | 
			
		||||
# The myhostname parameter specifies the internet hostname of this
 | 
			
		||||
# mail system. The default is to use the fully-qualified domain name
 | 
			
		||||
# from gethostname(). $myhostname is used as a default value for many
 | 
			
		||||
# other configuration parameters.
 | 
			
		||||
#
 | 
			
		||||
#myhostname = host.domain.tld
 | 
			
		||||
#myhostname = virtual.domain.tld
 | 
			
		||||
 | 
			
		||||
# The mydomain parameter specifies the local internet domain name.
 | 
			
		||||
# The default is to use $myhostname minus the first component.
 | 
			
		||||
# $mydomain is used as a default value for many other configuration
 | 
			
		||||
# parameters.
 | 
			
		||||
#
 | 
			
		||||
#mydomain = domain.tld
 | 
			
		||||
 | 
			
		||||
# SENDING MAIL
 | 
			
		||||
# 
 | 
			
		||||
# The myorigin parameter specifies the domain that locally-posted
 | 
			
		||||
# mail appears to come from. The default is to append $myhostname,
 | 
			
		||||
# which is fine for small sites.  If you run a domain with multiple
 | 
			
		||||
# machines, you should (1) change this to $mydomain and (2) set up
 | 
			
		||||
# a domain-wide alias database that aliases each user to
 | 
			
		||||
# user@that.users.mailhost.
 | 
			
		||||
#
 | 
			
		||||
# For the sake of consistency between sender and recipient addresses,
 | 
			
		||||
# myorigin also specifies the default domain name that is appended
 | 
			
		||||
# to recipient addresses that have no @domain part.
 | 
			
		||||
#
 | 
			
		||||
#myorigin = $myhostname
 | 
			
		||||
#myorigin = $mydomain
 | 
			
		||||
 | 
			
		||||
# RECEIVING MAIL
 | 
			
		||||
 | 
			
		||||
# The inet_interfaces parameter specifies the network interface
 | 
			
		||||
# addresses that this mail system receives mail on.  By default,
 | 
			
		||||
# the software claims all active interfaces on the machine. The
 | 
			
		||||
# parameter also controls delivery of mail to user@[ip.address].
 | 
			
		||||
#
 | 
			
		||||
# See also the proxy_interfaces parameter, for network addresses that
 | 
			
		||||
# are forwarded to us via a proxy or network address translator.
 | 
			
		||||
#
 | 
			
		||||
# Note: you need to stop/start Postfix when this parameter changes.
 | 
			
		||||
#
 | 
			
		||||
#inet_interfaces = all
 | 
			
		||||
#inet_interfaces = $myhostname
 | 
			
		||||
#inet_interfaces = $myhostname, localhost
 | 
			
		||||
 | 
			
		||||
# The proxy_interfaces parameter specifies the network interface
 | 
			
		||||
# addresses that this mail system receives mail on by way of a
 | 
			
		||||
# proxy or network address translation unit. This setting extends
 | 
			
		||||
# the address list specified with the inet_interfaces parameter.
 | 
			
		||||
#
 | 
			
		||||
# You must specify your proxy/NAT addresses when your system is a
 | 
			
		||||
# backup MX host for other domains, otherwise mail delivery loops
 | 
			
		||||
# will happen when the primary MX host is down.
 | 
			
		||||
#
 | 
			
		||||
#proxy_interfaces =
 | 
			
		||||
#proxy_interfaces = 1.2.3.4
 | 
			
		||||
 | 
			
		||||
# The mydestination parameter specifies the list of domains that this
 | 
			
		||||
# machine considers itself the final destination for.
 | 
			
		||||
#
 | 
			
		||||
# These domains are routed to the delivery agent specified with the
 | 
			
		||||
# local_transport parameter setting. By default, that is the UNIX
 | 
			
		||||
# compatible delivery agent that lookups all recipients in /etc/passwd
 | 
			
		||||
# and /etc/aliases or their equivalent.
 | 
			
		||||
#
 | 
			
		||||
# The default is $myhostname + localhost.$mydomain + localhost.  On
 | 
			
		||||
# a mail domain gateway, you should also include $mydomain.
 | 
			
		||||
#
 | 
			
		||||
# Do not specify the names of virtual domains - those domains are
 | 
			
		||||
# specified elsewhere (see VIRTUAL_README).
 | 
			
		||||
#
 | 
			
		||||
# Do not specify the names of domains that this machine is backup MX
 | 
			
		||||
# host for. Specify those names via the relay_domains settings for
 | 
			
		||||
# the SMTP server, or use permit_mx_backup if you are lazy (see
 | 
			
		||||
# STANDARD_CONFIGURATION_README).
 | 
			
		||||
#
 | 
			
		||||
# The local machine is always the final destination for mail addressed
 | 
			
		||||
# to user@[the.net.work.address] of an interface that the mail system
 | 
			
		||||
# receives mail on (see the inet_interfaces parameter).
 | 
			
		||||
#
 | 
			
		||||
# Specify a list of host or domain names, /file/name or type:table
 | 
			
		||||
# patterns, separated by commas and/or whitespace. A /file/name
 | 
			
		||||
# pattern is replaced by its contents; a type:table is matched when
 | 
			
		||||
# a name matches a lookup key (the right-hand side is ignored).
 | 
			
		||||
# Continue long lines by starting the next line with whitespace.
 | 
			
		||||
#
 | 
			
		||||
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
 | 
			
		||||
#
 | 
			
		||||
#mydestination = $myhostname, localhost.$mydomain, localhost
 | 
			
		||||
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
 | 
			
		||||
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
 | 
			
		||||
#	mail.$mydomain, www.$mydomain, ftp.$mydomain
 | 
			
		||||
 | 
			
		||||
# REJECTING MAIL FOR UNKNOWN LOCAL USERS
 | 
			
		||||
#
 | 
			
		||||
# The local_recipient_maps parameter specifies optional lookup tables
 | 
			
		||||
# with all names or addresses of users that are local with respect
 | 
			
		||||
# to $mydestination, $inet_interfaces or $proxy_interfaces.
 | 
			
		||||
#
 | 
			
		||||
# If this parameter is defined, then the SMTP server will reject
 | 
			
		||||
# mail for unknown local users. This parameter is defined by default.
 | 
			
		||||
#
 | 
			
		||||
# To turn off local recipient checking in the SMTP server, specify
 | 
			
		||||
# local_recipient_maps = (i.e. empty).
 | 
			
		||||
#
 | 
			
		||||
# The default setting assumes that you use the default Postfix local
 | 
			
		||||
# delivery agent for local delivery. You need to update the
 | 
			
		||||
# local_recipient_maps setting if:
 | 
			
		||||
#
 | 
			
		||||
# - You define $mydestination domain recipients in files other than
 | 
			
		||||
#   /etc/passwd, /etc/aliases, or the $virtual_alias_maps files.
 | 
			
		||||
#   For example, you define $mydestination domain recipients in    
 | 
			
		||||
#   the $virtual_mailbox_maps files.
 | 
			
		||||
#
 | 
			
		||||
# - You redefine the local delivery agent in master.cf.
 | 
			
		||||
#
 | 
			
		||||
# - You redefine the "local_transport" setting in main.cf.
 | 
			
		||||
#
 | 
			
		||||
# - You use the "luser_relay", "mailbox_transport", or "fallback_transport"
 | 
			
		||||
#   feature of the Postfix local delivery agent (see local(8)).
 | 
			
		||||
#
 | 
			
		||||
# Details are described in the LOCAL_RECIPIENT_README file.
 | 
			
		||||
#
 | 
			
		||||
# Beware: if the Postfix SMTP server runs chrooted, you probably have
 | 
			
		||||
# to access the passwd file via the proxymap service, in order to
 | 
			
		||||
# overcome chroot restrictions. The alternative, having a copy of
 | 
			
		||||
# the system passwd file in the chroot jail is just not practical.
 | 
			
		||||
#
 | 
			
		||||
# The right-hand side of the lookup tables is conveniently ignored.
 | 
			
		||||
# In the left-hand side, specify a bare username, an @domain.tld
 | 
			
		||||
# wild-card, or specify a user@domain.tld address.
 | 
			
		||||
# 
 | 
			
		||||
#local_recipient_maps = unix:passwd.byname $alias_maps
 | 
			
		||||
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
 | 
			
		||||
#local_recipient_maps =
 | 
			
		||||
 | 
			
		||||
# The unknown_local_recipient_reject_code specifies the SMTP server
 | 
			
		||||
# response code when a recipient domain matches $mydestination or
 | 
			
		||||
# ${proxy,inet}_interfaces, while $local_recipient_maps is non-empty
 | 
			
		||||
# and the recipient address or address local-part is not found.
 | 
			
		||||
#
 | 
			
		||||
# The default setting is 550 (reject mail) but it is safer to start
 | 
			
		||||
# with 450 (try again later) until you are certain that your
 | 
			
		||||
# local_recipient_maps settings are OK.
 | 
			
		||||
#
 | 
			
		||||
unknown_local_recipient_reject_code = 550
 | 
			
		||||
 | 
			
		||||
# TRUST AND RELAY CONTROL
 | 
			
		||||
 | 
			
		||||
# The mynetworks parameter specifies the list of "trusted" SMTP
 | 
			
		||||
# clients that have more privileges than "strangers".
 | 
			
		||||
#
 | 
			
		||||
# In particular, "trusted" SMTP clients are allowed to relay mail
 | 
			
		||||
# through Postfix.  See the smtpd_recipient_restrictions parameter
 | 
			
		||||
# in postconf(5).
 | 
			
		||||
#
 | 
			
		||||
# You can specify the list of "trusted" network addresses by hand
 | 
			
		||||
# or you can let Postfix do it for you (which is the default).
 | 
			
		||||
#
 | 
			
		||||
# By default (mynetworks_style = subnet), Postfix "trusts" SMTP
 | 
			
		||||
# clients in the same IP subnetworks as the local machine.
 | 
			
		||||
# On Linux, this works correctly only with interfaces specified
 | 
			
		||||
# with the "ifconfig" command.
 | 
			
		||||
# 
 | 
			
		||||
# Specify "mynetworks_style = class" when Postfix should "trust" SMTP
 | 
			
		||||
# clients in the same IP class A/B/C networks as the local machine.
 | 
			
		||||
# Don't do this with a dialup site - it would cause Postfix to "trust"
 | 
			
		||||
# your entire provider's network.  Instead, specify an explicit
 | 
			
		||||
# mynetworks list by hand, as described below.
 | 
			
		||||
#  
 | 
			
		||||
# Specify "mynetworks_style = host" when Postfix should "trust"
 | 
			
		||||
# only the local machine.
 | 
			
		||||
# 
 | 
			
		||||
#mynetworks_style = class
 | 
			
		||||
#mynetworks_style = subnet
 | 
			
		||||
mynetworks_style = host
 | 
			
		||||
 | 
			
		||||
# Alternatively, you can specify the mynetworks list by hand, in
 | 
			
		||||
# which case Postfix ignores the mynetworks_style setting.
 | 
			
		||||
#
 | 
			
		||||
# Specify an explicit list of network/netmask patterns, where the
 | 
			
		||||
# mask specifies the number of bits in the network part of a host
 | 
			
		||||
# address.
 | 
			
		||||
#
 | 
			
		||||
# You can also specify the absolute pathname of a pattern file instead
 | 
			
		||||
# of listing the patterns here. Specify type:table for table-based lookups
 | 
			
		||||
# (the value on the table right-hand side is not used).
 | 
			
		||||
#
 | 
			
		||||
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
 | 
			
		||||
#mynetworks = $config_directory/mynetworks
 | 
			
		||||
#mynetworks = hash:$config_directory/network_table
 | 
			
		||||
 | 
			
		||||
# The relay_domains parameter restricts what destinations this system will
 | 
			
		||||
# relay mail to.  See the smtpd_recipient_restrictions description in
 | 
			
		||||
# postconf(5) for detailed information.
 | 
			
		||||
#
 | 
			
		||||
# By default, Postfix relays mail
 | 
			
		||||
# - from "trusted" clients (IP address matches $mynetworks) to any destination,
 | 
			
		||||
# - from "untrusted" clients to destinations that match $relay_domains or
 | 
			
		||||
#   subdomains thereof, except addresses with sender-specified routing.
 | 
			
		||||
# The default relay_domains value is $mydestination.
 | 
			
		||||
# 
 | 
			
		||||
# In addition to the above, the Postfix SMTP server by default accepts mail
 | 
			
		||||
# that Postfix is final destination for:
 | 
			
		||||
# - destinations that match $inet_interfaces or $proxy_interfaces,
 | 
			
		||||
# - destinations that match $mydestination
 | 
			
		||||
# - destinations that match $virtual_alias_domains,
 | 
			
		||||
# - destinations that match $virtual_mailbox_domains.
 | 
			
		||||
# These destinations do not need to be listed in $relay_domains.
 | 
			
		||||
# 
 | 
			
		||||
# Specify a list of hosts or domains, /file/name patterns or type:name
 | 
			
		||||
# lookup tables, separated by commas and/or whitespace.  Continue
 | 
			
		||||
# long lines by starting the next line with whitespace. A file name
 | 
			
		||||
# is replaced by its contents; a type:name table is matched when a
 | 
			
		||||
# (parent) domain appears as lookup key.
 | 
			
		||||
#
 | 
			
		||||
# NOTE: Postfix will not automatically forward mail for domains that
 | 
			
		||||
# list this system as their primary or backup MX host. See the
 | 
			
		||||
# permit_mx_backup restriction description in postconf(5).
 | 
			
		||||
#
 | 
			
		||||
#relay_domains = $mydestination
 | 
			
		||||
 | 
			
		||||
# INTERNET OR INTRANET
 | 
			
		||||
 | 
			
		||||
# The relayhost parameter specifies the default host to send mail to
 | 
			
		||||
# when no entry is matched in the optional transport(5) table. When
 | 
			
		||||
# no relayhost is given, mail is routed directly to the destination.
 | 
			
		||||
#
 | 
			
		||||
# On an intranet, specify the organizational domain name. If your
 | 
			
		||||
# internal DNS uses no MX records, specify the name of the intranet
 | 
			
		||||
# gateway host instead.
 | 
			
		||||
#
 | 
			
		||||
# In the case of SMTP, specify a domain, host, host:port, [host]:port,
 | 
			
		||||
# [address] or [address]:port; the form [host] turns off MX lookups.
 | 
			
		||||
#
 | 
			
		||||
# If you're connected via UUCP, see also the default_transport parameter.
 | 
			
		||||
#
 | 
			
		||||
#relayhost = $mydomain
 | 
			
		||||
#relayhost = [gateway.my.domain]
 | 
			
		||||
#relayhost = [mailserver.isp.tld]
 | 
			
		||||
#relayhost = uucphost
 | 
			
		||||
#relayhost = [an.ip.add.ress]
 | 
			
		||||
 | 
			
		||||
# REJECTING UNKNOWN RELAY USERS
 | 
			
		||||
#
 | 
			
		||||
# The relay_recipient_maps parameter specifies optional lookup tables
 | 
			
		||||
# with all addresses in the domains that match $relay_domains.
 | 
			
		||||
#
 | 
			
		||||
# If this parameter is defined, then the SMTP server will reject
 | 
			
		||||
# mail for unknown relay users. This feature is off by default.
 | 
			
		||||
#
 | 
			
		||||
# The right-hand side of the lookup tables is conveniently ignored.
 | 
			
		||||
# In the left-hand side, specify an @domain.tld wild-card, or specify
 | 
			
		||||
# a user@domain.tld address.
 | 
			
		||||
# 
 | 
			
		||||
#relay_recipient_maps = hash:$config_directory/relay_recipients
 | 
			
		||||
 | 
			
		||||
# INPUT RATE CONTROL
 | 
			
		||||
#
 | 
			
		||||
# The in_flow_delay configuration parameter implements mail input
 | 
			
		||||
# flow control. This feature is turned on by default, although it
 | 
			
		||||
# still needs further development (it's disabled on SCO UNIX due
 | 
			
		||||
# to an SCO bug).
 | 
			
		||||
# 
 | 
			
		||||
# A Postfix process will pause for $in_flow_delay seconds before
 | 
			
		||||
# accepting a new message, when the message arrival rate exceeds the
 | 
			
		||||
# message delivery rate. With the default 100 SMTP server process
 | 
			
		||||
# limit, this limits the mail inflow to 100 messages a second more
 | 
			
		||||
# than the number of messages delivered per second.
 | 
			
		||||
# 
 | 
			
		||||
# Specify 0 to disable the feature. Valid delays are 0..10.
 | 
			
		||||
# 
 | 
			
		||||
#in_flow_delay = 1s
 | 
			
		||||
 | 
			
		||||
# ADDRESS REWRITING
 | 
			
		||||
#
 | 
			
		||||
# The ADDRESS_REWRITING_README document gives information about
 | 
			
		||||
# address masquerading or other forms of address rewriting including
 | 
			
		||||
# username->Firstname.Lastname mapping.
 | 
			
		||||
 | 
			
		||||
# ADDRESS REDIRECTION (VIRTUAL DOMAIN)
 | 
			
		||||
#
 | 
			
		||||
# The VIRTUAL_README document gives information about the many forms
 | 
			
		||||
# of domain hosting that Postfix supports.
 | 
			
		||||
 | 
			
		||||
# "USER HAS MOVED" BOUNCE MESSAGES
 | 
			
		||||
#
 | 
			
		||||
# See the discussion in the ADDRESS_REWRITING_README document.
 | 
			
		||||
 | 
			
		||||
# TRANSPORT MAP
 | 
			
		||||
#
 | 
			
		||||
# See the discussion in the ADDRESS_REWRITING_README document.
 | 
			
		||||
 | 
			
		||||
# ALIAS DATABASE
 | 
			
		||||
#
 | 
			
		||||
# The alias_maps parameter specifies the list of alias databases used
 | 
			
		||||
# by the local delivery agent. The default list is system dependent.
 | 
			
		||||
#
 | 
			
		||||
# On systems with NIS, the default is to search the local alias
 | 
			
		||||
# database, then the NIS alias database. See aliases(5) for syntax
 | 
			
		||||
# details.
 | 
			
		||||
# 
 | 
			
		||||
# If you change the alias database, run "postalias /etc/aliases" (or
 | 
			
		||||
# wherever your system stores the mail alias file), or simply run
 | 
			
		||||
# "newaliases" to build the necessary DBM or DB file.
 | 
			
		||||
#
 | 
			
		||||
# It will take a minute or so before changes become visible.  Use
 | 
			
		||||
# "postfix reload" to eliminate the delay.
 | 
			
		||||
#
 | 
			
		||||
#alias_maps = dbm:/etc/aliases
 | 
			
		||||
#alias_maps = hash:/etc/aliases
 | 
			
		||||
#alias_maps = hash:/etc/aliases, nis:mail.aliases
 | 
			
		||||
#alias_maps = netinfo:/aliases
 | 
			
		||||
 | 
			
		||||
# The alias_database parameter specifies the alias database(s) that
 | 
			
		||||
# are built with "newaliases" or "sendmail -bi".  This is a separate
 | 
			
		||||
# configuration parameter, because alias_maps (see above) may specify
 | 
			
		||||
# tables that are not necessarily all under control by Postfix.
 | 
			
		||||
#
 | 
			
		||||
#alias_database = dbm:/etc/aliases
 | 
			
		||||
#alias_database = hash:/etc/aliases
 | 
			
		||||
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
 | 
			
		||||
 | 
			
		||||
# ADDRESS EXTENSIONS (e.g., user+foo)
 | 
			
		||||
#
 | 
			
		||||
# The recipient_delimiter parameter specifies the separator between
 | 
			
		||||
# user names and address extensions (user+foo). See canonical(5),
 | 
			
		||||
# local(8), relocated(5) and virtual(5) for the effects this has on
 | 
			
		||||
# aliases, canonical, virtual, relocated and .forward file lookups.
 | 
			
		||||
# Basically, the software tries user+foo and .forward+foo before
 | 
			
		||||
# trying user and .forward.
 | 
			
		||||
#
 | 
			
		||||
#recipient_delimiter = +
 | 
			
		||||
 | 
			
		||||
# DELIVERY TO MAILBOX
 | 
			
		||||
#
 | 
			
		||||
# The home_mailbox parameter specifies the optional pathname of a
 | 
			
		||||
# mailbox file relative to a user's home directory. The default
 | 
			
		||||
# mailbox file is /var/spool/mail/user or /var/mail/user.  Specify
 | 
			
		||||
# "Maildir/" for qmail-style delivery (the / is required).
 | 
			
		||||
#
 | 
			
		||||
#home_mailbox = Mailbox
 | 
			
		||||
#home_mailbox = Maildir/
 | 
			
		||||
 
 | 
			
		||||
# The mail_spool_directory parameter specifies the directory where
 | 
			
		||||
# UNIX-style mailboxes are kept. The default setting depends on the
 | 
			
		||||
# system type.
 | 
			
		||||
#
 | 
			
		||||
#mail_spool_directory = /var/mail
 | 
			
		||||
#mail_spool_directory = /var/spool/mail
 | 
			
		||||
 | 
			
		||||
# The mailbox_command parameter specifies the optional external
 | 
			
		||||
# command to use instead of mailbox delivery. The command is run as
 | 
			
		||||
# the recipient with proper HOME, SHELL and LOGNAME environment settings.
 | 
			
		||||
# Exception:  delivery for root is done as $default_user.
 | 
			
		||||
#
 | 
			
		||||
# Other environment variables of interest: USER (recipient username),
 | 
			
		||||
# EXTENSION (address extension), DOMAIN (domain part of address),
 | 
			
		||||
# and LOCAL (the address localpart).
 | 
			
		||||
#
 | 
			
		||||
# Unlike other Postfix configuration parameters, the mailbox_command
 | 
			
		||||
# parameter is not subjected to $parameter substitutions. This is to
 | 
			
		||||
# make it easier to specify shell syntax (see example below).
 | 
			
		||||
#
 | 
			
		||||
# Avoid shell meta characters because they will force Postfix to run
 | 
			
		||||
# an expensive shell process. Procmail alone is expensive enough.
 | 
			
		||||
#
 | 
			
		||||
# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
 | 
			
		||||
# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.
 | 
			
		||||
#
 | 
			
		||||
#mailbox_command = /some/where/procmail
 | 
			
		||||
#mailbox_command = /some/where/procmail -a "$EXTENSION"
 | 
			
		||||
 | 
			
		||||
# The mailbox_transport specifies the optional transport in master.cf
 | 
			
		||||
# to use after processing aliases and .forward files. This parameter
 | 
			
		||||
# has precedence over the mailbox_command, fallback_transport and
 | 
			
		||||
# luser_relay parameters.
 | 
			
		||||
#
 | 
			
		||||
# Specify a string of the form transport:nexthop, where transport is
 | 
			
		||||
# the name of a mail delivery transport defined in master.cf.  The
 | 
			
		||||
# :nexthop part is optional. For more details see the sample transport
 | 
			
		||||
# configuration file.
 | 
			
		||||
#
 | 
			
		||||
# NOTE: if you use this feature for accounts not in the UNIX password
 | 
			
		||||
# file, then you must update the "local_recipient_maps" setting in
 | 
			
		||||
# the main.cf file, otherwise the SMTP server will reject mail for    
 | 
			
		||||
# non-UNIX accounts with "User unknown in local recipient table".
 | 
			
		||||
#
 | 
			
		||||
# Cyrus IMAP over LMTP. Specify ``lmtpunix      cmd="lmtpd"
 | 
			
		||||
# listen="/var/imap/socket/lmtp" prefork=0'' in cyrus.conf.
 | 
			
		||||
#mailbox_transport = lmtp:unix:/var/imap/socket/lmtp
 | 
			
		||||
#
 | 
			
		||||
# Cyrus IMAP via command line. Uncomment the "cyrus...pipe" and
 | 
			
		||||
# subsequent line in master.cf.
 | 
			
		||||
#mailbox_transport = cyrus
 | 
			
		||||
 | 
			
		||||
# The fallback_transport specifies the optional transport in master.cf
 | 
			
		||||
# to use for recipients that are not found in the UNIX passwd database.
 | 
			
		||||
# This parameter has precedence over the luser_relay parameter.
 | 
			
		||||
#
 | 
			
		||||
# Specify a string of the form transport:nexthop, where transport is
 | 
			
		||||
# the name of a mail delivery transport defined in master.cf.  The
 | 
			
		||||
# :nexthop part is optional. For more details see the sample transport
 | 
			
		||||
# configuration file.
 | 
			
		||||
#
 | 
			
		||||
# NOTE: if you use this feature for accounts not in the UNIX password
 | 
			
		||||
# file, then you must update the "local_recipient_maps" setting in
 | 
			
		||||
# the main.cf file, otherwise the SMTP server will reject mail for    
 | 
			
		||||
# non-UNIX accounts with "User unknown in local recipient table".
 | 
			
		||||
#
 | 
			
		||||
#fallback_transport = lmtp:unix:/file/name
 | 
			
		||||
#fallback_transport = cyrus
 | 
			
		||||
#fallback_transport =
 | 
			
		||||
 | 
			
		||||
# The luser_relay parameter specifies an optional destination address
 | 
			
		||||
# for unknown recipients.  By default, mail for unknown@$mydestination,
 | 
			
		||||
# unknown@[$inet_interfaces] or unknown@[$proxy_interfaces] is returned
 | 
			
		||||
# as undeliverable.
 | 
			
		||||
#
 | 
			
		||||
# The following expansions are done on luser_relay: $user (recipient
 | 
			
		||||
# username), $shell (recipient shell), $home (recipient home directory),
 | 
			
		||||
# $recipient (full recipient address), $extension (recipient address
 | 
			
		||||
# extension), $domain (recipient domain), $local (entire recipient
 | 
			
		||||
# localpart), $recipient_delimiter. Specify ${name?value} or
 | 
			
		||||
# ${name:value} to expand value only when $name does (does not) exist.
 | 
			
		||||
#
 | 
			
		||||
# luser_relay works only for the default Postfix local delivery agent.
 | 
			
		||||
#
 | 
			
		||||
# NOTE: if you use this feature for accounts not in the UNIX password
 | 
			
		||||
# file, then you must specify "local_recipient_maps =" (i.e. empty) in
 | 
			
		||||
# the main.cf file, otherwise the SMTP server will reject mail for    
 | 
			
		||||
# non-UNIX accounts with "User unknown in local recipient table".
 | 
			
		||||
#
 | 
			
		||||
#luser_relay = $user@other.host
 | 
			
		||||
#luser_relay = $local@other.host
 | 
			
		||||
#luser_relay = admin+$local
 | 
			
		||||
  
 | 
			
		||||
# JUNK MAIL CONTROLS
 | 
			
		||||
# 
 | 
			
		||||
# The controls listed here are only a very small subset. The file
 | 
			
		||||
# SMTPD_ACCESS_README provides an overview.
 | 
			
		||||
 | 
			
		||||
# The header_checks parameter specifies an optional table with patterns
 | 
			
		||||
# that each logical message header is matched against, including
 | 
			
		||||
# headers that span multiple physical lines.
 | 
			
		||||
#
 | 
			
		||||
# By default, these patterns also apply to MIME headers and to the
 | 
			
		||||
# headers of attached messages. With older Postfix versions, MIME and
 | 
			
		||||
# attached message headers were treated as body text.
 | 
			
		||||
#
 | 
			
		||||
# For details, see "man header_checks".
 | 
			
		||||
#
 | 
			
		||||
#header_checks = regexp:$config_directory/header_checks
 | 
			
		||||
 | 
			
		||||
# FAST ETRN SERVICE
 | 
			
		||||
#
 | 
			
		||||
# Postfix maintains per-destination logfiles with information about
 | 
			
		||||
# deferred mail, so that mail can be flushed quickly with the SMTP
 | 
			
		||||
# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld".
 | 
			
		||||
# See the ETRN_README document for a detailed description.
 | 
			
		||||
# 
 | 
			
		||||
# The fast_flush_domains parameter controls what destinations are
 | 
			
		||||
# eligible for this service. By default, they are all domains that
 | 
			
		||||
# this server is willing to relay mail to.
 | 
			
		||||
# 
 | 
			
		||||
#fast_flush_domains = $relay_domains
 | 
			
		||||
 | 
			
		||||
# SHOW SOFTWARE VERSION OR NOT
 | 
			
		||||
#
 | 
			
		||||
# The smtpd_banner parameter specifies the text that follows the 220
 | 
			
		||||
# code in the SMTP server's greeting banner. Some people like to see
 | 
			
		||||
# the mail version advertised. By default, Postfix shows no version.
 | 
			
		||||
#
 | 
			
		||||
# You MUST specify $myhostname at the start of the text. That is an
 | 
			
		||||
# RFC requirement. Postfix itself does not care.
 | 
			
		||||
#
 | 
			
		||||
#smtpd_banner = $myhostname ESMTP $mail_name
 | 
			
		||||
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
 | 
			
		||||
 | 
			
		||||
# PARALLEL DELIVERY TO THE SAME DESTINATION
 | 
			
		||||
#
 | 
			
		||||
# How many parallel deliveries to the same user or domain? With local
 | 
			
		||||
# delivery, it does not make sense to do massively parallel delivery
 | 
			
		||||
# to the same user, because mailbox updates must happen sequentially,
 | 
			
		||||
# and expensive pipelines in .forward files can cause disasters when
 | 
			
		||||
# too many are run at the same time. With SMTP deliveries, 10
 | 
			
		||||
# simultaneous connections to the same domain could be sufficient to
 | 
			
		||||
# raise eyebrows.
 | 
			
		||||
# 
 | 
			
		||||
# Each message delivery transport has its XXX_destination_concurrency_limit
 | 
			
		||||
# parameter.  The default is $default_destination_concurrency_limit for
 | 
			
		||||
# most delivery transports. For the local delivery agent the default is 2.
 | 
			
		||||
 | 
			
		||||
#local_destination_concurrency_limit = 2
 | 
			
		||||
#default_destination_concurrency_limit = 20
 | 
			
		||||
 | 
			
		||||
# DEBUGGING CONTROL
 | 
			
		||||
#
 | 
			
		||||
# The debug_peer_level parameter specifies the increment in verbose
 | 
			
		||||
# logging level when an SMTP client or server host name or address
 | 
			
		||||
# matches a pattern in the debug_peer_list parameter.
 | 
			
		||||
#
 | 
			
		||||
debug_peer_level = 2
 | 
			
		||||
 | 
			
		||||
# The debug_peer_list parameter specifies an optional list of domain
 | 
			
		||||
# or network patterns, /file/name patterns or type:name tables. When
 | 
			
		||||
# an SMTP client or server host name or address matches a pattern,
 | 
			
		||||
# increase the verbose logging level by the amount specified in the
 | 
			
		||||
# debug_peer_level parameter.
 | 
			
		||||
#
 | 
			
		||||
#debug_peer_list = 127.0.0.1
 | 
			
		||||
#debug_peer_list = some.domain
 | 
			
		||||
 | 
			
		||||
# The debugger_command specifies the external command that is executed
 | 
			
		||||
# when a Postfix daemon program is run with the -D option.
 | 
			
		||||
#
 | 
			
		||||
# Use "command .. & sleep 5" so that the debugger can attach before
 | 
			
		||||
# the process marches on. If you use an X-based debugger, be sure to
 | 
			
		||||
# set up your XAUTHORITY environment variable before starting Postfix.
 | 
			
		||||
#
 | 
			
		||||
debugger_command =
 | 
			
		||||
	 PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
 | 
			
		||||
	 ddd $daemon_directory/$process_name $process_id & sleep 5
 | 
			
		||||
 | 
			
		||||
# If you can't use X, use this to capture the call stack when a
 | 
			
		||||
# daemon crashes. The result is in a file in the configuration
 | 
			
		||||
# directory, and is named after the process name and the process ID.
 | 
			
		||||
#
 | 
			
		||||
# debugger_command =
 | 
			
		||||
#	PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont;
 | 
			
		||||
#	echo where) | gdb $daemon_directory/$process_name $process_id 2>&1
 | 
			
		||||
#	>$config_directory/$process_name.$process_id.log & sleep 5
 | 
			
		||||
#
 | 
			
		||||
# Another possibility is to run gdb under a detached screen session.
 | 
			
		||||
# To attach to the screen session, su root and run "screen -r
 | 
			
		||||
# <id_string>" where <id_string> uniquely matches one of the detached
 | 
			
		||||
# sessions (from "screen -list").
 | 
			
		||||
#
 | 
			
		||||
# debugger_command =
 | 
			
		||||
#	PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen
 | 
			
		||||
#	-dmS $process_name gdb $daemon_directory/$process_name
 | 
			
		||||
#	$process_id & sleep 1
 | 
			
		||||
 | 
			
		||||
# INSTALL-TIME CONFIGURATION INFORMATION
 | 
			
		||||
#
 | 
			
		||||
# The following parameters are used when installing a new Postfix version.
 | 
			
		||||
# 
 | 
			
		||||
# sendmail_path: The full pathname of the Postfix sendmail command.
 | 
			
		||||
# This is the Sendmail-compatible mail posting interface.
 | 
			
		||||
# 
 | 
			
		||||
sendmail_path = /usr/local/sbin/sendmail
 | 
			
		||||
 | 
			
		||||
# newaliases_path: The full pathname of the Postfix newaliases command.
 | 
			
		||||
# This is the Sendmail-compatible command to build alias databases.
 | 
			
		||||
#
 | 
			
		||||
newaliases_path = /usr/local/bin/newaliases
 | 
			
		||||
 | 
			
		||||
# mailq_path: The full pathname of the Postfix mailq command.  This
 | 
			
		||||
# is the Sendmail-compatible mail queue listing command.
 | 
			
		||||
# 
 | 
			
		||||
mailq_path = /usr/local/bin/mailq
 | 
			
		||||
 | 
			
		||||
# setgid_group: The group for mail submission and queue management
 | 
			
		||||
# commands.  This must be a group name with a numerical group ID that
 | 
			
		||||
# is not shared with other accounts, not even with the Postfix account.
 | 
			
		||||
#
 | 
			
		||||
setgid_group = maildrop
 | 
			
		||||
 | 
			
		||||
# html_directory: The location of the Postfix HTML documentation.
 | 
			
		||||
#
 | 
			
		||||
html_directory = /usr/local/share/doc/postfix
 | 
			
		||||
 | 
			
		||||
# manpage_directory: The location of the Postfix on-line manual pages.
 | 
			
		||||
#
 | 
			
		||||
manpage_directory = /usr/local/man
 | 
			
		||||
 | 
			
		||||
# sample_directory: The location of the Postfix sample configuration files.
 | 
			
		||||
# This parameter is obsolete as of Postfix 2.1.
 | 
			
		||||
#
 | 
			
		||||
sample_directory = /usr/local/etc/postfix
 | 
			
		||||
 | 
			
		||||
# readme_directory: The location of the Postfix README files.
 | 
			
		||||
#
 | 
			
		||||
readme_directory = /usr/local/share/doc/postfix
 | 
			
		||||
inet_protocols = ipv4
 | 
			
		||||
meta_directory = /usr/local/libexec/postfix
 | 
			
		||||
shlib_directory = /usr/local/lib/postfix
 | 
			
		||||
							
								
								
									
										135
									
								
								jails/config/mail/postfix/master.cf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										135
									
								
								jails/config/mail/postfix/master.cf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,135 @@
 | 
			
		||||
#
 | 
			
		||||
# Postfix master process configuration file.  For details on the format
 | 
			
		||||
# of the file, see the master(5) manual page (command: "man 5 master" or
 | 
			
		||||
# on-line: http://www.postfix.org/master.5.html).
 | 
			
		||||
#
 | 
			
		||||
# Do not forget to execute "postfix reload" after editing this file.
 | 
			
		||||
#
 | 
			
		||||
# ==========================================================================
 | 
			
		||||
# service type  private unpriv  chroot  wakeup  maxproc command + args
 | 
			
		||||
#               (yes)   (yes)   (no)    (never) (100)
 | 
			
		||||
# ==========================================================================
 | 
			
		||||
smtp      inet  n       -       n       -       -       smtpd
 | 
			
		||||
 -o smtpd_sasl_auth_enable=no
 | 
			
		||||
#smtp      inet  n       -       n       -       1       postscreen
 | 
			
		||||
#smtpd     pass  -       -       n       -       -       smtpd
 | 
			
		||||
#dnsblog   unix  -       -       n       -       0       dnsblog
 | 
			
		||||
#tlsproxy  unix  -       -       n       -       0       tlsproxy
 | 
			
		||||
submission inet n       -       n       -       -       smtpd
 | 
			
		||||
#  -o syslog_name=postfix/submission
 | 
			
		||||
  -o smtpd_tls_security_level=encrypt
 | 
			
		||||
 -o tls_preempt_cipherlist=yes
 | 
			
		||||
#  -o smtpd_sasl_auth_enable=yes
 | 
			
		||||
#  -o smtpd_tls_auth_only=yes
 | 
			
		||||
#  -o smtpd_reject_unlisted_recipient=no
 | 
			
		||||
#  -o smtpd_client_restrictions=$mua_client_restrictions
 | 
			
		||||
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
 | 
			
		||||
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
 | 
			
		||||
#  -o smtpd_recipient_restrictions=
 | 
			
		||||
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
 | 
			
		||||
#  -o milter_macro_daemon_name=ORIGINATING
 | 
			
		||||
#smtps     inet  n       -       n       -       -       smtpd
 | 
			
		||||
#  -o syslog_name=postfix/smtps
 | 
			
		||||
#  -o smtpd_tls_wrappermode=yes
 | 
			
		||||
#  -o smtpd_sasl_auth_enable=yes
 | 
			
		||||
#  -o smtpd_reject_unlisted_recipient=no
 | 
			
		||||
#  -o smtpd_client_restrictions=$mua_client_restrictions
 | 
			
		||||
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
 | 
			
		||||
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
 | 
			
		||||
#  -o smtpd_recipient_restrictions=
 | 
			
		||||
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
 | 
			
		||||
#  -o milter_macro_daemon_name=ORIGINATING
 | 
			
		||||
#628       inet  n       -       n       -       -       qmqpd
 | 
			
		||||
pickup    unix  n       -       n       60      1       pickup
 | 
			
		||||
cleanup   unix  n       -       n       -       0       cleanup
 | 
			
		||||
qmgr      unix  n       -       n       300     1       qmgr
 | 
			
		||||
#qmgr     unix  n       -       n       300     1       oqmgr
 | 
			
		||||
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
 | 
			
		||||
rewrite   unix  -       -       n       -       -       trivial-rewrite
 | 
			
		||||
bounce    unix  -       -       n       -       0       bounce
 | 
			
		||||
defer     unix  -       -       n       -       0       bounce
 | 
			
		||||
trace     unix  -       -       n       -       0       bounce
 | 
			
		||||
verify    unix  -       -       n       -       1       verify
 | 
			
		||||
flush     unix  n       -       n       1000?   0       flush
 | 
			
		||||
proxymap  unix  -       -       n       -       -       proxymap
 | 
			
		||||
proxywrite unix -       -       n       -       1       proxymap
 | 
			
		||||
smtp      unix  -       -       n       -       -       smtp
 | 
			
		||||
relay     unix  -       -       n       -       -       smtp
 | 
			
		||||
        -o syslog_name=postfix/$service_name
 | 
			
		||||
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
 | 
			
		||||
showq     unix  n       -       n       -       -       showq
 | 
			
		||||
error     unix  -       -       n       -       -       error
 | 
			
		||||
retry     unix  -       -       n       -       -       error
 | 
			
		||||
discard   unix  -       -       n       -       -       discard
 | 
			
		||||
local     unix  -       n       n       -       -       local
 | 
			
		||||
virtual   unix  -       n       n       -       -       virtual
 | 
			
		||||
lmtp      unix  -       -       n       -       -       lmtp
 | 
			
		||||
anvil     unix  -       -       n       -       1       anvil
 | 
			
		||||
scache    unix  -       -       n       -       1       scache
 | 
			
		||||
postlog   unix-dgram n  -       n       -       1       postlogd
 | 
			
		||||
#
 | 
			
		||||
# ====================================================================
 | 
			
		||||
# Interfaces to non-Postfix software. Be sure to examine the manual
 | 
			
		||||
# pages of the non-Postfix software to find out what options it wants.
 | 
			
		||||
#
 | 
			
		||||
# Many of the following services use the Postfix pipe(8) delivery
 | 
			
		||||
# agent.  See the pipe(8) man page for information about ${recipient}
 | 
			
		||||
# and other message envelope options.
 | 
			
		||||
# ====================================================================
 | 
			
		||||
#
 | 
			
		||||
# maildrop. See the Postfix MAILDROP_README file for details.
 | 
			
		||||
# Also specify in main.cf: maildrop_destination_recipient_limit=1
 | 
			
		||||
#
 | 
			
		||||
#maildrop  unix  -       n       n       -       -       pipe
 | 
			
		||||
#  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
 | 
			
		||||
#
 | 
			
		||||
# ====================================================================
 | 
			
		||||
#
 | 
			
		||||
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
 | 
			
		||||
#
 | 
			
		||||
# Specify in cyrus.conf:
 | 
			
		||||
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
 | 
			
		||||
#
 | 
			
		||||
# Specify in main.cf one or more of the following:
 | 
			
		||||
#  mailbox_transport = lmtp:inet:localhost
 | 
			
		||||
#  virtual_transport = lmtp:inet:localhost
 | 
			
		||||
#
 | 
			
		||||
# ====================================================================
 | 
			
		||||
#
 | 
			
		||||
# Cyrus 2.1.5 (Amos Gouaux)
 | 
			
		||||
# Also specify in main.cf: cyrus_destination_recipient_limit=1
 | 
			
		||||
#
 | 
			
		||||
#cyrus     unix  -       n       n       -       -       pipe
 | 
			
		||||
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
 | 
			
		||||
#
 | 
			
		||||
# ====================================================================
 | 
			
		||||
#
 | 
			
		||||
# Old example of delivery via Cyrus.
 | 
			
		||||
#
 | 
			
		||||
#old-cyrus unix  -       n       n       -       -       pipe
 | 
			
		||||
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
 | 
			
		||||
#
 | 
			
		||||
# ====================================================================
 | 
			
		||||
#
 | 
			
		||||
# See the Postfix UUCP_README file for configuration details.
 | 
			
		||||
#
 | 
			
		||||
#uucp      unix  -       n       n       -       -       pipe
 | 
			
		||||
#  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
 | 
			
		||||
#
 | 
			
		||||
# ====================================================================
 | 
			
		||||
#
 | 
			
		||||
# Other external delivery methods.
 | 
			
		||||
#
 | 
			
		||||
#ifmail    unix  -       n       n       -       -       pipe
 | 
			
		||||
#  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
 | 
			
		||||
#
 | 
			
		||||
#bsmtp     unix  -       n       n       -       -       pipe
 | 
			
		||||
#  flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
 | 
			
		||||
#
 | 
			
		||||
#scalemail-backend unix -       n       n       -       2       pipe
 | 
			
		||||
#  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
 | 
			
		||||
#  ${nexthop} ${user} ${extension}
 | 
			
		||||
#
 | 
			
		||||
#mailman   unix  -       n       n       -       -       pipe
 | 
			
		||||
#  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
 | 
			
		||||
#  ${nexthop} ${user}
 | 
			
		||||
							
								
								
									
										133
									
								
								jails/config/mail/postfix/master.cf.sample
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								jails/config/mail/postfix/master.cf.sample
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,133 @@
 | 
			
		||||
#
 | 
			
		||||
# Postfix master process configuration file.  For details on the format
 | 
			
		||||
# of the file, see the master(5) manual page (command: "man 5 master" or
 | 
			
		||||
# on-line: http://www.postfix.org/master.5.html).
 | 
			
		||||
#
 | 
			
		||||
# Do not forget to execute "postfix reload" after editing this file.
 | 
			
		||||
#
 | 
			
		||||
# ==========================================================================
 | 
			
		||||
# service type  private unpriv  chroot  wakeup  maxproc command + args
 | 
			
		||||
#               (yes)   (yes)   (no)    (never) (100)
 | 
			
		||||
# ==========================================================================
 | 
			
		||||
smtp      inet  n       -       n       -       -       smtpd
 | 
			
		||||
#smtp      inet  n       -       n       -       1       postscreen
 | 
			
		||||
#smtpd     pass  -       -       n       -       -       smtpd
 | 
			
		||||
#dnsblog   unix  -       -       n       -       0       dnsblog
 | 
			
		||||
#tlsproxy  unix  -       -       n       -       0       tlsproxy
 | 
			
		||||
#submission inet n       -       n       -       -       smtpd
 | 
			
		||||
#  -o syslog_name=postfix/submission
 | 
			
		||||
#  -o smtpd_tls_security_level=encrypt
 | 
			
		||||
#  -o smtpd_sasl_auth_enable=yes
 | 
			
		||||
#  -o smtpd_tls_auth_only=yes
 | 
			
		||||
#  -o smtpd_reject_unlisted_recipient=no
 | 
			
		||||
#  -o smtpd_client_restrictions=$mua_client_restrictions
 | 
			
		||||
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
 | 
			
		||||
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
 | 
			
		||||
#  -o smtpd_recipient_restrictions=
 | 
			
		||||
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
 | 
			
		||||
#  -o milter_macro_daemon_name=ORIGINATING
 | 
			
		||||
#smtps     inet  n       -       n       -       -       smtpd
 | 
			
		||||
#  -o syslog_name=postfix/smtps
 | 
			
		||||
#  -o smtpd_tls_wrappermode=yes
 | 
			
		||||
#  -o smtpd_sasl_auth_enable=yes
 | 
			
		||||
#  -o smtpd_reject_unlisted_recipient=no
 | 
			
		||||
#  -o smtpd_client_restrictions=$mua_client_restrictions
 | 
			
		||||
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
 | 
			
		||||
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
 | 
			
		||||
#  -o smtpd_recipient_restrictions=
 | 
			
		||||
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
 | 
			
		||||
#  -o milter_macro_daemon_name=ORIGINATING
 | 
			
		||||
#628       inet  n       -       n       -       -       qmqpd
 | 
			
		||||
pickup    unix  n       -       n       60      1       pickup
 | 
			
		||||
cleanup   unix  n       -       n       -       0       cleanup
 | 
			
		||||
qmgr      unix  n       -       n       300     1       qmgr
 | 
			
		||||
#qmgr     unix  n       -       n       300     1       oqmgr
 | 
			
		||||
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
 | 
			
		||||
rewrite   unix  -       -       n       -       -       trivial-rewrite
 | 
			
		||||
bounce    unix  -       -       n       -       0       bounce
 | 
			
		||||
defer     unix  -       -       n       -       0       bounce
 | 
			
		||||
trace     unix  -       -       n       -       0       bounce
 | 
			
		||||
verify    unix  -       -       n       -       1       verify
 | 
			
		||||
flush     unix  n       -       n       1000?   0       flush
 | 
			
		||||
proxymap  unix  -       -       n       -       -       proxymap
 | 
			
		||||
proxywrite unix -       -       n       -       1       proxymap
 | 
			
		||||
smtp      unix  -       -       n       -       -       smtp
 | 
			
		||||
relay     unix  -       -       n       -       -       smtp
 | 
			
		||||
        -o syslog_name=postfix/$service_name
 | 
			
		||||
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
 | 
			
		||||
showq     unix  n       -       n       -       -       showq
 | 
			
		||||
error     unix  -       -       n       -       -       error
 | 
			
		||||
retry     unix  -       -       n       -       -       error
 | 
			
		||||
discard   unix  -       -       n       -       -       discard
 | 
			
		||||
local     unix  -       n       n       -       -       local
 | 
			
		||||
virtual   unix  -       n       n       -       -       virtual
 | 
			
		||||
lmtp      unix  -       -       n       -       -       lmtp
 | 
			
		||||
anvil     unix  -       -       n       -       1       anvil
 | 
			
		||||
scache    unix  -       -       n       -       1       scache
 | 
			
		||||
postlog   unix-dgram n  -       n       -       1       postlogd
 | 
			
		||||
#
 | 
			
		||||
# ====================================================================
 | 
			
		||||
# Interfaces to non-Postfix software. Be sure to examine the manual
 | 
			
		||||
# pages of the non-Postfix software to find out what options it wants.
 | 
			
		||||
#
 | 
			
		||||
# Many of the following services use the Postfix pipe(8) delivery
 | 
			
		||||
# agent.  See the pipe(8) man page for information about ${recipient}
 | 
			
		||||
# and other message envelope options.
 | 
			
		||||
# ====================================================================
 | 
			
		||||
#
 | 
			
		||||
# maildrop. See the Postfix MAILDROP_README file for details.
 | 
			
		||||
# Also specify in main.cf: maildrop_destination_recipient_limit=1
 | 
			
		||||
#
 | 
			
		||||
#maildrop  unix  -       n       n       -       -       pipe
 | 
			
		||||
#  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
 | 
			
		||||
#
 | 
			
		||||
# ====================================================================
 | 
			
		||||
#
 | 
			
		||||
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
 | 
			
		||||
#
 | 
			
		||||
# Specify in cyrus.conf:
 | 
			
		||||
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
 | 
			
		||||
#
 | 
			
		||||
# Specify in main.cf one or more of the following:
 | 
			
		||||
#  mailbox_transport = lmtp:inet:localhost
 | 
			
		||||
#  virtual_transport = lmtp:inet:localhost
 | 
			
		||||
#
 | 
			
		||||
# ====================================================================
 | 
			
		||||
#
 | 
			
		||||
# Cyrus 2.1.5 (Amos Gouaux)
 | 
			
		||||
# Also specify in main.cf: cyrus_destination_recipient_limit=1
 | 
			
		||||
#
 | 
			
		||||
#cyrus     unix  -       n       n       -       -       pipe
 | 
			
		||||
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
 | 
			
		||||
#
 | 
			
		||||
# ====================================================================
 | 
			
		||||
#
 | 
			
		||||
# Old example of delivery via Cyrus.
 | 
			
		||||
#
 | 
			
		||||
#old-cyrus unix  -       n       n       -       -       pipe
 | 
			
		||||
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
 | 
			
		||||
#
 | 
			
		||||
# ====================================================================
 | 
			
		||||
#
 | 
			
		||||
# See the Postfix UUCP_README file for configuration details.
 | 
			
		||||
#
 | 
			
		||||
#uucp      unix  -       n       n       -       -       pipe
 | 
			
		||||
#  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
 | 
			
		||||
#
 | 
			
		||||
# ====================================================================
 | 
			
		||||
#
 | 
			
		||||
# Other external delivery methods.
 | 
			
		||||
#
 | 
			
		||||
#ifmail    unix  -       n       n       -       -       pipe
 | 
			
		||||
#  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
 | 
			
		||||
#
 | 
			
		||||
#bsmtp     unix  -       n       n       -       -       pipe
 | 
			
		||||
#  flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
 | 
			
		||||
#
 | 
			
		||||
#scalemail-backend unix -       n       n       -       2       pipe
 | 
			
		||||
#  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
 | 
			
		||||
#  ${nexthop} ${user} ${extension}
 | 
			
		||||
#
 | 
			
		||||
#mailman   unix  -       n       n       -       -       pipe
 | 
			
		||||
#  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
 | 
			
		||||
#  ${nexthop} ${user}
 | 
			
		||||
							
								
								
									
										10
									
								
								jails/config/mail/postfix/reinit.sac
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								jails/config/mail/postfix/reinit.sac
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
# update aliases.db
 | 
			
		||||
newaliases
 | 
			
		||||
 | 
			
		||||
#rm /usr/local/etc/postfix/system-virtual-mailboxes.db
 | 
			
		||||
#postmap /usr/local/etc/postfix/system-virtual-mailboxes
 | 
			
		||||
 | 
			
		||||
rm /usr/local/etc/postfix/virtual-maillist-alias-maps.db
 | 
			
		||||
postmap /usr/local/etc/postfix/virtual-maillist-alias-maps
 | 
			
		||||
 | 
			
		||||
service postfix reload
 | 
			
		||||
							
								
								
									
										3
									
								
								jails/config/mail/postfix/virtual-maillist-alias-maps
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								jails/config/mail/postfix/virtual-maillist-alias-maps
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
family@ahlawat.com	sharad@ahlawat.com
 | 
			
		||||
# Uncomment entry below to implement a catch-all address
 | 
			
		||||
#@ahlawat.com		ahlawat@ahlawat.com
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								jails/config/mail/postfix/virtual-maillist-alias-maps.db
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								jails/config/mail/postfix/virtual-maillist-alias-maps.db
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										1318
									
								
								jails/config/mail/redis.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1318
									
								
								jails/config/mail/redis.conf
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										29
									
								
								jails/config/mail/rspamd/actions.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								jails/config/mail/rspamd/actions.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
# Actions settings
 | 
			
		||||
# Please don't modify this file as your changes might be overwritten with
 | 
			
		||||
# the next update.
 | 
			
		||||
#
 | 
			
		||||
# You can modify 'local.d/actions.conf' to add and merge
 | 
			
		||||
# parameters defined inside this section
 | 
			
		||||
#
 | 
			
		||||
# You can modify 'override.d/actions.conf' to strictly override all
 | 
			
		||||
# parameters defined inside this section
 | 
			
		||||
#
 | 
			
		||||
# See https://rspamd.com/doc/faq.html#what-are-the-locald-and-overrided-directories
 | 
			
		||||
# for details
 | 
			
		||||
#
 | 
			
		||||
# See also https://rspamd.com/doc/faq.html#what-are-rspamd-actions for actions definition
 | 
			
		||||
 | 
			
		||||
actions {
 | 
			
		||||
    reject = 15; # Reject when reaching this score
 | 
			
		||||
    add_header = 6; # Add header when reaching this score
 | 
			
		||||
    greylist = 4; # Apply greylisting when reaching this score (will emit `soft reject action`)
 | 
			
		||||
 | 
			
		||||
    #unknown_weight = 1.0; # Enable if need to set score for all symbols implicitly
 | 
			
		||||
    # Each new symbol is added multiplied by gf^N, where N is the number of spammy symbols
 | 
			
		||||
    #grow_factor = 1.1;
 | 
			
		||||
    # Set rewrite subject to this value (%s is replaced by the original subject)
 | 
			
		||||
    #subject = "***SPAM*** %s"
 | 
			
		||||
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/actions.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/actions.conf"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										17
									
								
								jails/config/mail/rspamd/cgp.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								jails/config/mail/rspamd/cgp.inc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
			
		||||
# Please don't modify this file as your changes might be overwritten with
 | 
			
		||||
# the next update.
 | 
			
		||||
#
 | 
			
		||||
# This file defines some specific settings that are applicable merely when using
 | 
			
		||||
# CommuniGate Pro MTA and it's specific integration
 | 
			
		||||
 | 
			
		||||
arc {
 | 
			
		||||
    sign_networks = [127.2.4.7];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dkim_signing {
 | 
			
		||||
    sign_networks = [127.2.4.7];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
options {
 | 
			
		||||
    local_addrs = [127.2.4.7];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										40
									
								
								jails/config/mail/rspamd/common.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								jails/config/mail/rspamd/common.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,40 @@
 | 
			
		||||
# A common rspamd configuration file (should never ever be changed)
 | 
			
		||||
# Please don't modify this file as your changes might be overwritten with
 | 
			
		||||
# the next update.
 | 
			
		||||
#
 | 
			
		||||
# You can modify '$LOCAL_CONFDIR/rspamd.conf.local.override' to redefine
 | 
			
		||||
# parameters defined on the top level
 | 
			
		||||
#
 | 
			
		||||
# You can modify '$LOCAL_CONFDIR/rspamd.conf.local' to add
 | 
			
		||||
# parameters defined on the top level
 | 
			
		||||
#
 | 
			
		||||
# For specific modules or configuration you can also modify
 | 
			
		||||
# '$LOCAL_CONFDIR/local.d/file.conf' - to add your options or rewrite defaults
 | 
			
		||||
# '$LOCAL_CONFDIR/override.d/file.conf' - to override the defaults
 | 
			
		||||
#
 | 
			
		||||
# See https://rspamd.com/doc/tutorials/writing_rules.html for details
 | 
			
		||||
 | 
			
		||||
lua = "$RULESDIR/rspamd.lua"
 | 
			
		||||
 | 
			
		||||
.include "$CONFDIR/metrics.conf"
 | 
			
		||||
.include "$CONFDIR/actions.conf"
 | 
			
		||||
.include "$CONFDIR/groups.conf"
 | 
			
		||||
.include "$CONFDIR/composites.conf"
 | 
			
		||||
 | 
			
		||||
.include "$CONFDIR/statistic.conf"
 | 
			
		||||
 | 
			
		||||
.include "$CONFDIR/modules.conf"
 | 
			
		||||
 | 
			
		||||
# Include users settings
 | 
			
		||||
.include "$CONFDIR/settings.conf"
 | 
			
		||||
 | 
			
		||||
# User local settings
 | 
			
		||||
.include(try=true) "$LOCAL_CONFDIR/rspamd.conf.local"
 | 
			
		||||
.include(try=true,priority=10) "$LOCAL_CONFDIR/rspamd.conf.local.override"
 | 
			
		||||
.include(try=true,priority=10) "$LOCAL_CONFDIR/rspamd.conf.override"
 | 
			
		||||
 | 
			
		||||
modules {
 | 
			
		||||
  path = "${PLUGINSDIR}";
 | 
			
		||||
  fallback_path = "${SHAREDIR}/lua"; # Legacy path
 | 
			
		||||
  try_path = "${LOCAL_CONFDIR}/plugins.d/"; # User plugins
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										160
									
								
								jails/config/mail/rspamd/composites.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								jails/config/mail/rspamd/composites.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,160 @@
 | 
			
		||||
# Composites setup
 | 
			
		||||
# Please don't modify this file as your changes might be overwritten with
 | 
			
		||||
# the next update.
 | 
			
		||||
#
 | 
			
		||||
# You can modify 'local.d/composites.conf' to add and merge
 | 
			
		||||
# parameters defined inside this section
 | 
			
		||||
#
 | 
			
		||||
# You can modify 'override.d/composites.conf' to strictly override all
 | 
			
		||||
# parameters defined inside this section
 | 
			
		||||
#
 | 
			
		||||
# See https://rspamd.com/doc/faq.html#what-are-the-locald-and-overrided-directories
 | 
			
		||||
# for details
 | 
			
		||||
#
 | 
			
		||||
# See https://rspamd.com/doc/tutorials/writing_rules.html and
 | 
			
		||||
# https://rspamd.com/doc/configuration/composites.html for details
 | 
			
		||||
 | 
			
		||||
composites {
 | 
			
		||||
 | 
			
		||||
  FORGED_RECIPIENTS_MAILLIST {
 | 
			
		||||
    expression = "FORGED_RECIPIENTS & -MAILLIST";
 | 
			
		||||
  }
 | 
			
		||||
  FORGED_SENDER_MAILLIST {
 | 
			
		||||
    expression = "FORGED_SENDER & -MAILLIST";
 | 
			
		||||
  }
 | 
			
		||||
  FORGED_SENDER_FORWARDING {
 | 
			
		||||
    expression = "FORGED_SENDER & g:forwarding";
 | 
			
		||||
    description = "Forged sender, but message is forwarded";
 | 
			
		||||
    policy = "remove_weight";
 | 
			
		||||
  }
 | 
			
		||||
  SPF_FAIL_FORWARDING {
 | 
			
		||||
    expression = "g:forwarding & (R_SPF_SOFTFAIL | R_SPF_FAIL)";
 | 
			
		||||
    policy = "remove_weight";
 | 
			
		||||
  }
 | 
			
		||||
  DMARC_POLICY_ALLOW_WITH_FAILURES {
 | 
			
		||||
    expression = "DMARC_POLICY_ALLOW & (R_SPF_SOFTFAIL | R_SPF_FAIL | R_DKIM_REJECT)";
 | 
			
		||||
    policy = "remove_weight";
 | 
			
		||||
  }
 | 
			
		||||
  FORGED_RECIPIENTS_FORWARDING {
 | 
			
		||||
    expression = "FORGED_RECIPIENTS & g:forwarding";
 | 
			
		||||
    policy = "remove_weight";
 | 
			
		||||
  }
 | 
			
		||||
  FORGED_SENDER_VERP_SRS {
 | 
			
		||||
    expression = "FORGED_SENDER & (ENVFROM_PRVS | ENVFROM_VERP)";
 | 
			
		||||
  }
 | 
			
		||||
  FORGED_MUA_MAILLIST {
 | 
			
		||||
    expression = "g:mua & -MAILLIST";
 | 
			
		||||
  }
 | 
			
		||||
  RBL_SPAMHAUS_XBL_ANY {
 | 
			
		||||
    expression = "RBL_SPAMHAUS_XBL & RECEIVED_SPAMHAUS_XBL";
 | 
			
		||||
    description = "From and Received address are listed in Spamhaus XBL";
 | 
			
		||||
  }
 | 
			
		||||
  AUTH_NA {
 | 
			
		||||
    expression = "R_DKIM_NA & R_SPF_NA & DMARC_NA & ARC_NA";
 | 
			
		||||
    score = 1.0;
 | 
			
		||||
    policy = "remove_weight";
 | 
			
		||||
    description = "Authenticating message via SPF/DKIM/DMARC/ARC not possible";
 | 
			
		||||
  }
 | 
			
		||||
  DKIM_MIXED {
 | 
			
		||||
    expression = "-R_DKIM_ALLOW & (R_DKIM_DNSFAIL | R_DKIM_PERMFAIL | R_DKIM_REJECT)"
 | 
			
		||||
    policy = "remove_weight";
 | 
			
		||||
  }
 | 
			
		||||
  MAIL_RU_MAILER_BASE64 {
 | 
			
		||||
    expression = "MAIL_RU_MAILER & (FROM_EXCESS_BASE64 | MIME_BASE64_TEXT | REPLYTO_EXCESS_BASE64 | SUBJ_EXCESS_BASE64 | TO_EXCESS_BASE64)";
 | 
			
		||||
  }
 | 
			
		||||
  YANDEX_RU_MAILER_CTYPE_MIXED_BOGUS {
 | 
			
		||||
    expression = "YANDEX_RU_MAILER & -HAS_ATTACHMENT & CTYPE_MIXED_BOGUS";
 | 
			
		||||
  }
 | 
			
		||||
  MAILER_1C_8_BASE64 {
 | 
			
		||||
    expression = "MAILER_1C_8 & (FROM_EXCESS_BASE64 | MIME_BASE64_TEXT | SUBJ_EXCESS_BASE64 | TO_EXCESS_BASE64)";
 | 
			
		||||
    description = "Message was sent by '1C:Enterprise 8' and uses base64 encoded data";
 | 
			
		||||
  }
 | 
			
		||||
  HACKED_WP_PHISHING {
 | 
			
		||||
    expression = "(HAS_X_POS | HAS_PHPMAILER_SIG) & HAS_WP_URI & (PHISHING | DBL_PHISH | PHISHED_OPENPHISH | PHISHED_PHISHTANK)";
 | 
			
		||||
    description = "Phish message sent by hacked Wordpress instance";
 | 
			
		||||
    policy = "leave";
 | 
			
		||||
  }
 | 
			
		||||
  COMPROMISED_ACCT_BULK {
 | 
			
		||||
    expression = "(HAS_XOIP | RCVD_FROM_SMTP_AUTH) & DCC_BULK";
 | 
			
		||||
    description = "Likely to be from a compromised account";
 | 
			
		||||
    score = 3.0;
 | 
			
		||||
    policy = "leave";
 | 
			
		||||
  }
 | 
			
		||||
  UNDISC_RCPTS_BULK {
 | 
			
		||||
    expression = "DCC_BULK & (MISSING_TO | R_UNDISC_RCPT)";
 | 
			
		||||
    description = "Missing or undisclosed recipients with a bulk signature";
 | 
			
		||||
    score = 3.0;
 | 
			
		||||
    policy = "leave";
 | 
			
		||||
  }
 | 
			
		||||
  RCVD_UNAUTH_PBL {
 | 
			
		||||
    expression = "RECEIVED_PBL & !RCVD_VIA_SMTP_AUTH";
 | 
			
		||||
    description = "Relayed through ZEN PBL IP without sufficient authentication (possible indicating an open relay)";
 | 
			
		||||
    score = 2.0;
 | 
			
		||||
    policy = "leave";
 | 
			
		||||
  }
 | 
			
		||||
  RCVD_DKIM_ARC_DNSWL_MED {
 | 
			
		||||
    expression = "(R_DKIM_ALLOW | ARC_ALLOW) & RCVD_IN_DNSWL_MED";
 | 
			
		||||
    description = "Sufficiently DKIM/ARC signed and received from IP with medium trust at DNSWL";
 | 
			
		||||
    score = -0.5;
 | 
			
		||||
    policy = "leave";
 | 
			
		||||
  }
 | 
			
		||||
  RCVD_DKIM_ARC_DNSWL_HI {
 | 
			
		||||
    expression = "(R_DKIM_ALLOW | ARC_ALLOW) & RCVD_IN_DNSWL_HI";
 | 
			
		||||
    description = "Sufficiently DKIM/ARC signed and received from IP with high trust at DNSWL";
 | 
			
		||||
    score = -1.0;
 | 
			
		||||
    policy = "leave";
 | 
			
		||||
  }
 | 
			
		||||
  AUTOGEN_PHP_SPAMMY {
 | 
			
		||||
    expression = "(HAS_X_POS | HAS_PHPMAILER_SIG | HAS_X_PHP_SCRIPT) & (SUBJECT_ENDS_QUESTION | SUBJECT_ENDS_EXCLAIM | MANY_INVISIBLE_PARTS)";
 | 
			
		||||
    description = "Message was generated by PHP script and contains some spam indicators";
 | 
			
		||||
    score = 1.0;
 | 
			
		||||
    policy = "leave";
 | 
			
		||||
  }
 | 
			
		||||
  PHISH_EMOTION {
 | 
			
		||||
    expression = "(PHISHING | DBL_PHISH | PHISHED_OPENPHISH | PHISHED_PHISHTANK) & (SUBJECT_ENDS_QUESTION | SUBJECT_ENDS_EXCLAIM)";
 | 
			
		||||
    description = "Phish message with subject trying to address users emotion";
 | 
			
		||||
    score = 1.0;
 | 
			
		||||
    policy = "leave";
 | 
			
		||||
  }
 | 
			
		||||
  HAS_ANON_DOMAIN {
 | 
			
		||||
    expression = "HAS_GUC_PROXY_URI | URIBL_RED | DBL_ABUSE_REDIR | HAS_ONION_URI";
 | 
			
		||||
    description = "Contains one or more domains trying to disguise owner/destination";
 | 
			
		||||
    score = 0.1;
 | 
			
		||||
    policy = "leave";
 | 
			
		||||
  }
 | 
			
		||||
  BAD_REP_POLICIES {
 | 
			
		||||
    description = "Contains valid policies but are also marked by fuzzy/bayes/surbl/rbl";
 | 
			
		||||
    expression = "(~g-:policies) & (-g+:fuzzy | -g+:bayes | -g+:surbl | -g+:rbl)";
 | 
			
		||||
    score = 0.1;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  VIOLATED_DIRECT_SPF {
 | 
			
		||||
    description = "Has no Received (or no trusted received relays) and SPF policy fails or soft fails";
 | 
			
		||||
    expression = "(R_SPF_FAIL | R_SPF_SOFTFAIL) & (RCVD_COUNT_ZERO | RCVD_NO_TLS_LAST)";
 | 
			
		||||
    policy = "leave";
 | 
			
		||||
    score = 3.5;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  IP_SCORE_FREEMAIL {
 | 
			
		||||
    description = "Negate IP_SCORE when message comes from FreeMail";
 | 
			
		||||
    expression = "FREEMAIL_FROM & SENDER_REP_SPAM";
 | 
			
		||||
    score = 0.0;
 | 
			
		||||
    policy = "remove_weight";
 | 
			
		||||
  }
 | 
			
		||||
  BROKEN_HEADERS_MAILLIST {
 | 
			
		||||
    description = "Negate BROKEN_HEADERS when message comes via some mailing list";
 | 
			
		||||
    expression = "BROKEN_HEADERS & -MAILLIST";
 | 
			
		||||
    score = 0.0;
 | 
			
		||||
    policy = "remove_weight";
 | 
			
		||||
  }
 | 
			
		||||
  LEAKED_PASSWORD_SCAM {
 | 
			
		||||
    description = "Contains BTC wallet address and scam patterns";
 | 
			
		||||
    expression = "BITCOIN_ADDR & (LEAKED_PASSWORD_SCAM_RE | R_MIXED_CHARSET | R_EMPTY_IMAGE)";
 | 
			
		||||
    policy = "leave";
 | 
			
		||||
    score = 7.0;
 | 
			
		||||
    group = "scams";
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/composites.conf"
 | 
			
		||||
  .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/composites.conf"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										120
									
								
								jails/config/mail/rspamd/groups.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								jails/config/mail/rspamd/groups.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,120 @@
 | 
			
		||||
# Symbols groups setup
 | 
			
		||||
# Each individual group lives in scores.d/<GROUPNAME>
 | 
			
		||||
#
 | 
			
		||||
# Please don't modify this file as your changes might be overwritten with
 | 
			
		||||
# the next update.
 | 
			
		||||
#
 | 
			
		||||
# You can modify 'local.d/groups.conf' to add and merge
 | 
			
		||||
# parameters defined inside this section
 | 
			
		||||
#
 | 
			
		||||
# You can modify 'override.d/groups.conf' to strictly override all
 | 
			
		||||
# parameters defined inside this section
 | 
			
		||||
#
 | 
			
		||||
# See https://rspamd.com/doc/faq.html#what-are-the-locald-and-overrided-directories
 | 
			
		||||
# for details
 | 
			
		||||
#
 | 
			
		||||
# See also: https://rspamd.com/doc/faq.html#how-to-change-score-for-some-symbol
 | 
			
		||||
 | 
			
		||||
group "headers" {
 | 
			
		||||
    .include "$CONFDIR/scores.d/headers_group.conf"
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/headers_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/headers_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "subject" {
 | 
			
		||||
    .include "$CONFDIR/scores.d/subject_group.conf"
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/subject_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/subject_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "mua" {
 | 
			
		||||
    .include "$CONFDIR/scores.d/mua_group.conf"
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/mua_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/mua_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "rbl" {
 | 
			
		||||
    .include "$CONFDIR/scores.d/rbl_group.conf"
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/rbl_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/rbl_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "statistics" {
 | 
			
		||||
    .include "$CONFDIR/scores.d/statistics_group.conf"
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/statistics_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/statistics_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "fuzzy" {
 | 
			
		||||
    .include "$CONFDIR/scores.d/fuzzy_group.conf"
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/fuzzy_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/fuzzy_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# SPF + DKIM + DMARC + ARC
 | 
			
		||||
group "policies" {
 | 
			
		||||
    .include "$CONFDIR/scores.d/policies_group.conf"
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/policies_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/policies_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "whitelist" {
 | 
			
		||||
    .include "$CONFDIR/scores.d/whitelist_group.conf"
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/whitelist_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/whitelist_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "surbl" {
 | 
			
		||||
    .include "$CONFDIR/scores.d/surbl_group.conf"
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/surbl_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/surbl_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "phishing" {
 | 
			
		||||
    .include "$CONFDIR/scores.d/phishing_group.conf"
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/phishing_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/phishing_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "hfilter" {
 | 
			
		||||
    .include "$CONFDIR/scores.d/hfilter_group.conf"
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/hfilter_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/hfilter_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "mime_types" {
 | 
			
		||||
    .include "$CONFDIR/scores.d/mime_types_group.conf"
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/mime_types_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/mime_types_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Used to limit maximium score
 | 
			
		||||
group "excessqp" {
 | 
			
		||||
    max_score = 2.4;
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/excessqp_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/excessqp_group.conf"
 | 
			
		||||
}
 | 
			
		||||
group "excessb64" {
 | 
			
		||||
    max_score = 3.0;
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/excessb64_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/excessb64_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Not defined by default
 | 
			
		||||
group "neural" {
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/neural_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/neural_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "antivirus" {
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/antivirus_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/antivirus_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group "external_services" {
 | 
			
		||||
    .include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/external_services_group.conf"
 | 
			
		||||
    .include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/external_services_group.conf"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.include(try=true; priority=1; duplicate=merge) "$LOCAL_CONFDIR/local.d/groups.conf"
 | 
			
		||||
.include(try=true; priority=10) "$LOCAL_CONFDIR/override.d/groups.conf"
 | 
			
		||||
							
								
								
									
										2
									
								
								jails/config/mail/rspamd/local.d/classifier-bayes.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								jails/config/mail/rspamd/local.d/classifier-bayes.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
autolearn = true;
 | 
			
		||||
backend = "redis";
 | 
			
		||||
							
								
								
									
										3
									
								
								jails/config/mail/rspamd/local.d/dcc.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								jails/config/mail/rspamd/local.d/dcc.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
# path to dcc socket
 | 
			
		||||
host = "/usr/local/dcc/dccifd";
 | 
			
		||||
timeout = 5.0;
 | 
			
		||||
							
								
								
									
										3
									
								
								jails/config/mail/rspamd/local.d/dkim_signing.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								jails/config/mail/rspamd/local.d/dkim_signing.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
# enable dkim signing - we will set this up in the DKIM section later
 | 
			
		||||
path = "/var/db/rspamd/dkim/$domain.$selector.key";
 | 
			
		||||
selector = "dkim";
 | 
			
		||||
							
								
								
									
										2
									
								
								jails/config/mail/rspamd/local.d/mx_check.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								jails/config/mail/rspamd/local.d/mx_check.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
# checks if sender's domain has at least one connectable MX record
 | 
			
		||||
enabled = true;
 | 
			
		||||
							
								
								
									
										3
									
								
								jails/config/mail/rspamd/local.d/phishing.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								jails/config/mail/rspamd/local.d/phishing.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
# check messages against some anti-phishing databases
 | 
			
		||||
openphish_enabled = true;
 | 
			
		||||
phishtank_enabled = true;
 | 
			
		||||
							
								
								
									
										2
									
								
								jails/config/mail/rspamd/local.d/redis.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								jails/config/mail/rspamd/local.d/redis.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
# just specifying a server enables redis for all modules that can use it
 | 
			
		||||
servers = "127.0.0.1";
 | 
			
		||||
							
								
								
									
										2
									
								
								jails/config/mail/rspamd/local.d/replies.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								jails/config/mail/rspamd/local.d/replies.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
# whitelist messages from threads that have been replied to
 | 
			
		||||
action = "no action";
 | 
			
		||||
							
								
								
									
										2
									
								
								jails/config/mail/rspamd/local.d/surbl.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								jails/config/mail/rspamd/local.d/surbl.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
# follow redirects when checking URLs in emails for spaminess
 | 
			
		||||
redirector_hosts_map = "/usr/local/etc/rspamd/redirectors.inc";
 | 
			
		||||
							
								
								
									
										2
									
								
								jails/config/mail/rspamd/local.d/url_reputation.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								jails/config/mail/rspamd/local.d/url_reputation.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
# check URLs within messages for spaminess
 | 
			
		||||
enabled = true;
 | 
			
		||||
							
								
								
									
										2
									
								
								jails/config/mail/rspamd/local.d/url_tags.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								jails/config/mail/rspamd/local.d/url_tags.conf
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
			
		||||
# cache some URL tags in redis
 | 
			
		||||
enabled = true;
 | 
			
		||||
							
								
								
									
										10
									
								
								jails/config/mail/rspamd/local.d/worker-controller.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								jails/config/mail/rspamd/local.d/worker-controller.inc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
# generate a password hash using the `rspamadm pw` command and put it here
 | 
			
		||||
# this one is the hash for 'hunter2'
 | 
			
		||||
password = "$2$or9n9ffj4qsogh7i8d9qi5u1hxt53q6o$ntp4kj...";
 | 
			
		||||
 | 
			
		||||
# dovecot will use this socket to communicate with rspamd
 | 
			
		||||
# note to self - tighten up these permissions
 | 
			
		||||
bind_socket = "/var/run/rspamd/rspamd.sock mode=0666 owner=nobody";
 | 
			
		||||
 | 
			
		||||
# you can comment this out if you don't need the web interface
 | 
			
		||||
bind_socket = "127.0.0.1:11334";
 | 
			
		||||
							
								
								
									
										3
									
								
								jails/config/mail/rspamd/local.d/worker-normal.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								jails/config/mail/rspamd/local.d/worker-normal.inc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
# we're not running rspamd in a distributed setup, so this can be disabled
 | 
			
		||||
# the proxy worker will handle all the spam filtering
 | 
			
		||||
enabled = false;
 | 
			
		||||
							
								
								
									
										13
									
								
								jails/config/mail/rspamd/local.d/worker-proxy.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								jails/config/mail/rspamd/local.d/worker-proxy.inc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
			
		||||
# this worker will be used as postfix milter
 | 
			
		||||
milter = yes;
 | 
			
		||||
 | 
			
		||||
# note to self - tighten up these permissions
 | 
			
		||||
bind_socket = "/var/run/rspamd/milter.sock mode=0666 owner=nobody";
 | 
			
		||||
 | 
			
		||||
# the following specifies self-scan mode, for when rspamd is on the same
 | 
			
		||||
# machine as postfix
 | 
			
		||||
timeout = 120s;
 | 
			
		||||
upstream "local" {
 | 
			
		||||
  default = yes;
 | 
			
		||||
  self_scan = yes;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										35
									
								
								jails/config/mail/rspamd/logging.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								jails/config/mail/rspamd/logging.inc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,35 @@
 | 
			
		||||
# Logging configuration
 | 
			
		||||
# Please don't modify this file as your changes might be overwritten with
 | 
			
		||||
# the next update.
 | 
			
		||||
#
 | 
			
		||||
# You can modify 'local.d/logging.inc' to add and merge
 | 
			
		||||
# parameters defined inside this section
 | 
			
		||||
#
 | 
			
		||||
# You can modify 'override.d/logging.inc' to strictly override all
 | 
			
		||||
# parameters defined inside this section
 | 
			
		||||
#
 | 
			
		||||
# See https://rspamd.com/doc/faq.html#what-are-the-locald-and-overrided-directories
 | 
			
		||||
# for details
 | 
			
		||||
#
 | 
			
		||||
# Relevant documentation: https://rspamd.com/doc/configuration/logging.html
 | 
			
		||||
 | 
			
		||||
level = "info";
 | 
			
		||||
log_format =<<EOD
 | 
			
		||||
id: <$mid>,$if_qid{ qid: <$>,}$if_ip{ ip: $,}$if_user{ user: $,}$if_smtp_from{ from: <$>,}
 | 
			
		||||
(default: $is_spam ($action): [$scores] [$symbols_scores_params]),
 | 
			
		||||
len: $len, time: $time_real, dns req: $dns_req,
 | 
			
		||||
digest: <$digest>$if_smtp_rcpts{, rcpts: <$>}$if_mime_rcpts{, mime_rcpts: <$>}$if_filename{, file: $}$if_forced_action{, forced: $}$if_settings_id{, settings_id: $}
 | 
			
		||||
EOD
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Show statistics for regular expressions
 | 
			
		||||
log_re_cache = true;
 | 
			
		||||
 | 
			
		||||
# Can be used for console logging
 | 
			
		||||
color = false;
 | 
			
		||||
 | 
			
		||||
# Log with microseconds resolution
 | 
			
		||||
log_usec = false;
 | 
			
		||||
 | 
			
		||||
# Enable debug for specific modules (e.g. `debug_modules = ["dkim", "re_cache"];`)
 | 
			
		||||
debug_modules = []
 | 
			
		||||
							
								
								
									
										70
									
								
								jails/config/mail/rspamd/maps.d/dmarc_whitelist.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								jails/config/mail/rspamd/maps.d/dmarc_whitelist.inc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,70 @@
 | 
			
		||||
# Domains with valid DMARC and DKIM
 | 
			
		||||
# These domains come from some top visited sites that have restrictive dmarc policy
 | 
			
		||||
 | 
			
		||||
4chan.org
 | 
			
		||||
adp.com
 | 
			
		||||
advice.hmrc.gov.uk
 | 
			
		||||
airbnb.com
 | 
			
		||||
airtel.in
 | 
			
		||||
alibaba.com
 | 
			
		||||
aliexpress.com
 | 
			
		||||
alipay.com
 | 
			
		||||
americanexpress.com
 | 
			
		||||
avg.com
 | 
			
		||||
avito.ru
 | 
			
		||||
badoo.com
 | 
			
		||||
battle.net
 | 
			
		||||
beeline.ru
 | 
			
		||||
booking.com
 | 
			
		||||
box.com
 | 
			
		||||
chase.com
 | 
			
		||||
consultant.ru
 | 
			
		||||
dhl.com
 | 
			
		||||
emarsys.com
 | 
			
		||||
esetnod32.ru
 | 
			
		||||
evernote.com
 | 
			
		||||
facebook.com
 | 
			
		||||
facebookmail.com
 | 
			
		||||
fedex.com
 | 
			
		||||
force.com
 | 
			
		||||
garant.ru
 | 
			
		||||
gosuslugi.ru
 | 
			
		||||
hh.ru
 | 
			
		||||
hmrc.gov.uk
 | 
			
		||||
instagram.com
 | 
			
		||||
linkedin.com
 | 
			
		||||
livejournal.com
 | 
			
		||||
lufthansa-group.com
 | 
			
		||||
mackeeper.com
 | 
			
		||||
megafon.ru
 | 
			
		||||
mercadolibre.com.ar
 | 
			
		||||
mercadolivre.com.br
 | 
			
		||||
messenger.com
 | 
			
		||||
mvideo.ru
 | 
			
		||||
neobux.com
 | 
			
		||||
netflix.com
 | 
			
		||||
newegg.com
 | 
			
		||||
nic.ru
 | 
			
		||||
paypal.com
 | 
			
		||||
pch.com
 | 
			
		||||
pinterest.com
 | 
			
		||||
rostelecom.ru
 | 
			
		||||
rt.ru
 | 
			
		||||
sberbank.ru
 | 
			
		||||
sportmaster.ru
 | 
			
		||||
squarespace.com
 | 
			
		||||
subscribe.ru
 | 
			
		||||
superjob.ru
 | 
			
		||||
twitter.com
 | 
			
		||||
uber.com
 | 
			
		||||
ulmart.ru
 | 
			
		||||
ups.com
 | 
			
		||||
usps.com
 | 
			
		||||
utair.ru
 | 
			
		||||
verizonwireless.com
 | 
			
		||||
vk.com
 | 
			
		||||
vkrugudruzei.ru
 | 
			
		||||
westernunion.com
 | 
			
		||||
whatsapp.com
 | 
			
		||||
zendesk.com
 | 
			
		||||
zomato.com
 | 
			
		||||
							
								
								
									
										208
									
								
								jails/config/mail/rspamd/maps.d/maillist.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										208
									
								
								jails/config/mail/rspamd/maps.d/maillist.inc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,208 @@
 | 
			
		||||
usndr.com
 | 
			
		||||
subscribe.ru
 | 
			
		||||
smartsndr.com
 | 
			
		||||
 | 
			
		||||
hh.ru
 | 
			
		||||
free-lance.ru
 | 
			
		||||
superjob.ru
 | 
			
		||||
rabota.ru
 | 
			
		||||
job.ru
 | 
			
		||||
odesk.com
 | 
			
		||||
jobinmoscow.ru
 | 
			
		||||
 
 | 
			
		||||
russianpost.ru
 | 
			
		||||
shopotam.ru
 | 
			
		||||
 | 
			
		||||
ebay.com
 | 
			
		||||
alibaba.com
 | 
			
		||||
aliexpress.com
 | 
			
		||||
alipay.com
 | 
			
		||||
 | 
			
		||||
github.net
 | 
			
		||||
github.com
 | 
			
		||||
molotok.ru
 | 
			
		||||
 | 
			
		||||
facebook.com
 | 
			
		||||
vk.com
 | 
			
		||||
odnoklassniki.ru
 | 
			
		||||
vkrugudruzei.ru
 | 
			
		||||
linkedin.com
 | 
			
		||||
professionali.ru
 | 
			
		||||
mail.mtml.ru
 | 
			
		||||
livejournal.com
 | 
			
		||||
twitter.com
 | 
			
		||||
 | 
			
		||||
avito.ru
 | 
			
		||||
dmir.ru
 | 
			
		||||
mnogo.ru
 | 
			
		||||
paypal.com
 | 
			
		||||
roboxchange.com
 | 
			
		||||
sberbank.ru
 | 
			
		||||
 | 
			
		||||
qiwi.com
 | 
			
		||||
qiwi.ru
 | 
			
		||||
osmp.ru
 | 
			
		||||
mobilelement.ru
 | 
			
		||||
rp-system.ru
 | 
			
		||||
quickpay.ru
 | 
			
		||||
rbkmoney.ru
 | 
			
		||||
 | 
			
		||||
gosuslugi.ru
 | 
			
		||||
rostelecom.ru
 | 
			
		||||
mos.ru
 | 
			
		||||
gov.ru
 | 
			
		||||
nalog.ru
 | 
			
		||||
sitesoft.ru
 | 
			
		||||
e-moskva.ru
 | 
			
		||||
rosreestr.ru
 | 
			
		||||
roseltorg.ru
 | 
			
		||||
sberbank-ast.ru
 | 
			
		||||
etp-micex.ru
 | 
			
		||||
zakazrf.ru
 | 
			
		||||
rtstender.ru
 | 
			
		||||
rts-tender.ru
 | 
			
		||||
b2b-center.ru
 | 
			
		||||
yamoney.ru
 | 
			
		||||
 | 
			
		||||
fabrikant.ru
 | 
			
		||||
 | 
			
		||||
apple.com
 | 
			
		||||
dropbox.com
 | 
			
		||||
skype.com
 | 
			
		||||
 | 
			
		||||
habramail.net
 | 
			
		||||
mamba.ru
 | 
			
		||||
dating.ru
 | 
			
		||||
topface.com
 | 
			
		||||
 | 
			
		||||
ulmart.ru
 | 
			
		||||
electrozon.ru
 | 
			
		||||
nix.ru
 | 
			
		||||
ozon.ru
 | 
			
		||||
 | 
			
		||||
beeline.ru
 | 
			
		||||
mts.ru
 | 
			
		||||
megafon.ru
 | 
			
		||||
 | 
			
		||||
booking.com
 | 
			
		||||
tutu.ru
 | 
			
		||||
aeroflot.ru
 | 
			
		||||
 | 
			
		||||
vedomosti.ru
 | 
			
		||||
 | 
			
		||||
1c-bitrix.ru
 | 
			
		||||
 | 
			
		||||
moesk.ru
 | 
			
		||||
 | 
			
		||||
exist.ru
 | 
			
		||||
tks.ru
 | 
			
		||||
zzap.ru
 | 
			
		||||
 | 
			
		||||
activeby.net
 | 
			
		||||
babysfera.ru
 | 
			
		||||
baby.ru
 | 
			
		||||
 | 
			
		||||
wordpress.com
 | 
			
		||||
 | 
			
		||||
ispsystem.net
 | 
			
		||||
ispsystem.com
 | 
			
		||||
ispsystem.ru
 | 
			
		||||
 | 
			
		||||
naukanet.ru
 | 
			
		||||
 | 
			
		||||
startcomca.com
 | 
			
		||||
 | 
			
		||||
wmtransfer.com
 | 
			
		||||
 | 
			
		||||
sipnet.ru
 | 
			
		||||
tario.ru
 | 
			
		||||
 | 
			
		||||
mailgun.com
 | 
			
		||||
mailgun.net
 | 
			
		||||
 | 
			
		||||
psport.ru
 | 
			
		||||
 | 
			
		||||
returnpath.net
 | 
			
		||||
senderscore.net
 | 
			
		||||
 | 
			
		||||
webnames.ru
 | 
			
		||||
regtime.net
 | 
			
		||||
 | 
			
		||||
nic.ru
 | 
			
		||||
r01.ru
 | 
			
		||||
reg.ru
 | 
			
		||||
 | 
			
		||||
ztel.ru
 | 
			
		||||
 | 
			
		||||
youtube.com
 | 
			
		||||
baidu.com
 | 
			
		||||
yahoo.com
 | 
			
		||||
amazon.com
 | 
			
		||||
wikipedia.org
 | 
			
		||||
qq.com
 | 
			
		||||
google.co.in
 | 
			
		||||
live.com
 | 
			
		||||
taobao.com
 | 
			
		||||
msn.com
 | 
			
		||||
yahoo.co.jp
 | 
			
		||||
google.co.jp
 | 
			
		||||
weibo.com
 | 
			
		||||
bing.com
 | 
			
		||||
hao123.com
 | 
			
		||||
instagram.com
 | 
			
		||||
google.de
 | 
			
		||||
amazon.co.jp
 | 
			
		||||
360.cn
 | 
			
		||||
tmall.com
 | 
			
		||||
google.co.uk
 | 
			
		||||
pinterest.com
 | 
			
		||||
google.ru
 | 
			
		||||
reddit.com
 | 
			
		||||
google.com.br
 | 
			
		||||
t.co
 | 
			
		||||
netflix.com
 | 
			
		||||
google.fr
 | 
			
		||||
sohu.com
 | 
			
		||||
microsoft.com
 | 
			
		||||
google.it
 | 
			
		||||
blogspot.com
 | 
			
		||||
tumblr.com
 | 
			
		||||
ok.ru
 | 
			
		||||
gmw.cn
 | 
			
		||||
imgur.com
 | 
			
		||||
stackoverflow.com
 | 
			
		||||
xvideos.com
 | 
			
		||||
google.com.mx
 | 
			
		||||
fc2.com
 | 
			
		||||
imdb.com
 | 
			
		||||
google.com.hk
 | 
			
		||||
amazon.de
 | 
			
		||||
ask.com
 | 
			
		||||
google.com.tr
 | 
			
		||||
google.ca
 | 
			
		||||
office.com
 | 
			
		||||
pornhub.com
 | 
			
		||||
google.co.id
 | 
			
		||||
soso.com
 | 
			
		||||
go.com
 | 
			
		||||
pixnet.net
 | 
			
		||||
amazon.co.uk
 | 
			
		||||
googleusercontent.com
 | 
			
		||||
outbrain.com
 | 
			
		||||
amazon.in
 | 
			
		||||
blogger.com
 | 
			
		||||
cnn.com
 | 
			
		||||
google.pl
 | 
			
		||||
google.com.au
 | 
			
		||||
360.com
 | 
			
		||||
xhamster.com
 | 
			
		||||
adobe.com
 | 
			
		||||
flipkart.com
 | 
			
		||||
microsoftonline.com
 | 
			
		||||
whatsapp.com
 | 
			
		||||
nytimes.com
 | 
			
		||||
chase.com
 | 
			
		||||
wosign.com
 | 
			
		||||
comodo.com
 | 
			
		||||
comodogroup.com
 | 
			
		||||
comodo.net
 | 
			
		||||
							
								
								
									
										22
									
								
								jails/config/mail/rspamd/maps.d/mid.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								jails/config/mail/rspamd/maps.d/mid.inc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
			
		||||
# Known invalid or missed Message-IDs
 | 
			
		||||
# 'domain' 'Message-ID regexp'
 | 
			
		||||
 | 
			
		||||
alibaba.com /^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}-0$/
 | 
			
		||||
aliexpress.com /^(?:(?:[0-9]{14,15}|[a-z]{4}UTT_[0-9]{5,6}_(?:[0-9]{8}_)?)[$])?[a-f0-9]{32}$/
 | 
			
		||||
beeline.ru /^<[A-z0-9+]{18}>$/
 | 
			
		||||
noreply.esphere.ru
 | 
			
		||||
noreply.etprf.ru
 | 
			
		||||
rkn.gov.ru
 | 
			
		||||
garant.ru
 | 
			
		||||
is-zakupki.com
 | 
			
		||||
mirtesen.ru
 | 
			
		||||
fcod.nalog.ru
 | 
			
		||||
otc.ru
 | 
			
		||||
qiwi.ru
 | 
			
		||||
client.rostelecom.ru
 | 
			
		||||
sberbank-ast.ru
 | 
			
		||||
crm.taxcom.ru
 | 
			
		||||
wildberries.ru /^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$/
 | 
			
		||||
promo.wildberries.ru /^[A-F0-9]{8}(?:-[A-F0-9]{4}){3}-[A-F0-9]{12}$/
 | 
			
		||||
taxi.yandex.ru /^[a-f0-9]{32}$/
 | 
			
		||||
online.zcts.ru
 | 
			
		||||
							
								
								
									
										1533
									
								
								jails/config/mail/rspamd/maps.d/mime_types.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1533
									
								
								jails/config/mail/rspamd/maps.d/mime_types.inc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1045
									
								
								jails/config/mail/rspamd/maps.d/redirectors.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1045
									
								
								jails/config/mail/rspamd/maps.d/redirectors.inc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										233
									
								
								jails/config/mail/rspamd/maps.d/spf_dkim_whitelist.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										233
									
								
								jails/config/mail/rspamd/maps.d/spf_dkim_whitelist.inc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,233 @@
 | 
			
		||||
# Domains with valid SPF and DKIM
 | 
			
		||||
 | 
			
		||||
4chan.org
 | 
			
		||||
6pm.com
 | 
			
		||||
about.com
 | 
			
		||||
addthis.com
 | 
			
		||||
adf.ly
 | 
			
		||||
adobe.com
 | 
			
		||||
adp.com
 | 
			
		||||
adschemist.com
 | 
			
		||||
airbnb.com
 | 
			
		||||
airtel.in
 | 
			
		||||
alibaba.com
 | 
			
		||||
aliexpress.com 2.0
 | 
			
		||||
alipay.com 2.0
 | 
			
		||||
allrecipes.com
 | 
			
		||||
amazon.ca
 | 
			
		||||
amazon.cn
 | 
			
		||||
amazon.co.jp
 | 
			
		||||
amazon.com
 | 
			
		||||
amazon.co.uk
 | 
			
		||||
amazon.de
 | 
			
		||||
amazon.es
 | 
			
		||||
amazon.fr
 | 
			
		||||
amazon.in
 | 
			
		||||
amazon.it
 | 
			
		||||
amazon.ru
 | 
			
		||||
americanexpress.com
 | 
			
		||||
ancestry.com
 | 
			
		||||
android.com
 | 
			
		||||
apple.com
 | 
			
		||||
asana.com
 | 
			
		||||
att.com
 | 
			
		||||
autohome.com.cn
 | 
			
		||||
avg.com
 | 
			
		||||
aweber.com
 | 
			
		||||
badoo.com
 | 
			
		||||
bankofamerica.com
 | 
			
		||||
basecamp.com
 | 
			
		||||
battle.net
 | 
			
		||||
bet365.com
 | 
			
		||||
biglobe.ne.jp
 | 
			
		||||
bitly.com
 | 
			
		||||
bleacherreport.com
 | 
			
		||||
blogger.com
 | 
			
		||||
bloomberg.com
 | 
			
		||||
booking.com
 | 
			
		||||
box.com
 | 
			
		||||
bt.com
 | 
			
		||||
capitalone.com
 | 
			
		||||
cdiscount.com
 | 
			
		||||
change.org
 | 
			
		||||
chase.com
 | 
			
		||||
cisco.com
 | 
			
		||||
citi.com
 | 
			
		||||
constantcontact.com
 | 
			
		||||
costco.com
 | 
			
		||||
craigslist.org
 | 
			
		||||
custhelp.com
 | 
			
		||||
dell.com
 | 
			
		||||
delta.com
 | 
			
		||||
diply.com
 | 
			
		||||
discovercard.com
 | 
			
		||||
disqus.com
 | 
			
		||||
dropbox.com
 | 
			
		||||
drweb.com
 | 
			
		||||
ebay.ca
 | 
			
		||||
ebay.com
 | 
			
		||||
ebay.com.au
 | 
			
		||||
ebay.co.uk
 | 
			
		||||
ebay.de
 | 
			
		||||
ebay.fr
 | 
			
		||||
ebay.in
 | 
			
		||||
ebay.it
 | 
			
		||||
ebay.ru
 | 
			
		||||
etsy.com
 | 
			
		||||
evernote.com
 | 
			
		||||
expedia.com
 | 
			
		||||
facebook.com
 | 
			
		||||
fedex.com
 | 
			
		||||
fidelity.com
 | 
			
		||||
fishki.net
 | 
			
		||||
flickr.com
 | 
			
		||||
flirchi.com
 | 
			
		||||
force.com
 | 
			
		||||
freepik.com
 | 
			
		||||
gap.com
 | 
			
		||||
gawker.com
 | 
			
		||||
github.com 2.0
 | 
			
		||||
gizmodo.com
 | 
			
		||||
godaddy.com
 | 
			
		||||
googleadservices.com
 | 
			
		||||
googleusercontent.com
 | 
			
		||||
groupon.com
 | 
			
		||||
hdfcbank.com
 | 
			
		||||
hgtv.com
 | 
			
		||||
hh.ru
 | 
			
		||||
hm.com
 | 
			
		||||
houzz.com
 | 
			
		||||
hubspot.com
 | 
			
		||||
icicibank.com
 | 
			
		||||
icloud.com
 | 
			
		||||
ign.com
 | 
			
		||||
imgur.com
 | 
			
		||||
immobilienscout24.de
 | 
			
		||||
indeed.com
 | 
			
		||||
indiatimes.com
 | 
			
		||||
infusionsoft.com
 | 
			
		||||
instagram.com
 | 
			
		||||
intel.com
 | 
			
		||||
irctc.co.in
 | 
			
		||||
kayak.com
 | 
			
		||||
kickstarter.com
 | 
			
		||||
kijiji.ca
 | 
			
		||||
kotaku.com
 | 
			
		||||
letsencrypt.org
 | 
			
		||||
libero.it
 | 
			
		||||
lifehacker.com
 | 
			
		||||
likes.com
 | 
			
		||||
linkedin.com
 | 
			
		||||
linux.com
 | 
			
		||||
list-manage.com
 | 
			
		||||
mackeeper.com
 | 
			
		||||
mailchimp.com
 | 
			
		||||
mashable.com
 | 
			
		||||
match.com
 | 
			
		||||
mercadolibre.com.ar
 | 
			
		||||
mercadolivre.com.br
 | 
			
		||||
messenger.com
 | 
			
		||||
microsoft.com
 | 
			
		||||
microsoftonline.com
 | 
			
		||||
moikrug.ru
 | 
			
		||||
mts.ru
 | 
			
		||||
neobux.com
 | 
			
		||||
netflix.com
 | 
			
		||||
newegg.com
 | 
			
		||||
nhk.or.jp
 | 
			
		||||
nifty.com
 | 
			
		||||
nikkeibp.co.jp
 | 
			
		||||
nyaa.se
 | 
			
		||||
nytimes.com
 | 
			
		||||
odnoklassniki.ru
 | 
			
		||||
ok.ru
 | 
			
		||||
olx.ua
 | 
			
		||||
overstock.com
 | 
			
		||||
ozon.ru
 | 
			
		||||
ozon.travel
 | 
			
		||||
pandora.com
 | 
			
		||||
paypal.ca
 | 
			
		||||
paypal.cn
 | 
			
		||||
paypal.com
 | 
			
		||||
paypal.com
 | 
			
		||||
paypal.co.uk
 | 
			
		||||
paypal.de
 | 
			
		||||
paypal.es
 | 
			
		||||
paypal.fr
 | 
			
		||||
paypal.it
 | 
			
		||||
paypal.ru
 | 
			
		||||
paytm.com
 | 
			
		||||
pch.com
 | 
			
		||||
pinterest.com
 | 
			
		||||
porn.com
 | 
			
		||||
priceline.com
 | 
			
		||||
qq.com
 | 
			
		||||
quora.com
 | 
			
		||||
rakuten.co.jp
 | 
			
		||||
reddit.com
 | 
			
		||||
researchgate.net
 | 
			
		||||
salesforce.com
 | 
			
		||||
sciencedirect.com
 | 
			
		||||
shopify.com
 | 
			
		||||
slack.com
 | 
			
		||||
slideshare.net
 | 
			
		||||
so-net.ne.jp
 | 
			
		||||
southwest.com
 | 
			
		||||
spotify.com
 | 
			
		||||
springer.com
 | 
			
		||||
squarespace.com
 | 
			
		||||
stalker.com
 | 
			
		||||
steampowered.com
 | 
			
		||||
stumbleupon.com
 | 
			
		||||
surveymonkey.com
 | 
			
		||||
swagbucks.com
 | 
			
		||||
taboola.com
 | 
			
		||||
taleo.net
 | 
			
		||||
taobao.com
 | 
			
		||||
target.com
 | 
			
		||||
taringa.net
 | 
			
		||||
taxi.yandex.ru
 | 
			
		||||
tele2.ru
 | 
			
		||||
thekitchn.com
 | 
			
		||||
tokopedia.com
 | 
			
		||||
trello.com
 | 
			
		||||
tribunnews.com
 | 
			
		||||
trulia.com
 | 
			
		||||
tumblr.com
 | 
			
		||||
twitter.com
 | 
			
		||||
ultimate-guitar.com
 | 
			
		||||
ups.com
 | 
			
		||||
usaa.com
 | 
			
		||||
usbank.com
 | 
			
		||||
usps.com
 | 
			
		||||
verizon.com
 | 
			
		||||
verizonwireless.com
 | 
			
		||||
vimeo.com
 | 
			
		||||
vine.co
 | 
			
		||||
vk.com
 | 
			
		||||
vmware.com
 | 
			
		||||
vtb24.ru
 | 
			
		||||
wahoofitness.com
 | 
			
		||||
walmart.com
 | 
			
		||||
wav.tv
 | 
			
		||||
wellsfargo.com
 | 
			
		||||
whatsapp.com
 | 
			
		||||
wikia.com
 | 
			
		||||
wikimedia.org
 | 
			
		||||
wikipedia.org
 | 
			
		||||
wildberries.ru
 | 
			
		||||
wix.com
 | 
			
		||||
wordpress.com
 | 
			
		||||
wordpress.org
 | 
			
		||||
wp.com
 | 
			
		||||
xuite.net
 | 
			
		||||
xvideos.com
 | 
			
		||||
yelp.com
 | 
			
		||||
youtube.com
 | 
			
		||||
yts.to
 | 
			
		||||
zappos.com
 | 
			
		||||
zendesk.com
 | 
			
		||||
zippyshare.com
 | 
			
		||||
zomato.com
 | 
			
		||||
zulily.com
 | 
			
		||||
zwift.com
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user