Hi guys, Postfix 2.0.x has a quirk where it does not check for available free disk space before smtpd accepts a message. If your disk fills up, smtpd will accept delivery of mail but then throw the email away when it can't write it to disk. There are two solutions: 1) add this to the default /etc/postfix/main.cf for the current postfix-2.0.x ebuild, right below the queue_directory setting: #Set mininum acceptable queue filesystem disk space to 10MB #IMPORTANT: without this option set, postfix 2.0.x will lose mail if your #queue filesystem fills up, so be sure to keep this configuration option #enabled! This option is not needed for postfix 2.1+ as 2.1+ sets a reasonable #default value for queue_minfree even if it is not explicitly set. But if you're #using a version lower than 2.1, then please keep this option enabled for your #own safety. queue_minfree=10000000 This will cause postfix to refuse mail if there is less than 10MB available on the queue filesystem. The other solution is to simply use postfix 2.1+ (see bug 48796, which contains postfix 2.1 ebuild and appears to be ready for unstable,) since it has safe defaults that automatically check to ensure that available free disk space is at least 1.5 times the incoming maximum message size (which by default is 1.5 * 10.5MB) This is a fairly major issue at the moment, since the default gentoo postfix 2.0.x main.cf config does not have a queue_minfree setting, and thus free space checking is disabled. Probably best to fix this in 2.0.19-rx's main.cf and try to get 2.1 into unstable asap? Until this issue is fixed, Gentoo users are likely to lose their mail if they are using postfix and their disk fills up for some reason.
postfix-2.1 is now in portage cvs see bug 48796
This is clearly pretty important. I have attached a diff against postfix-2.0.19-r3.ebuild (the latest 2.0 ebuild, although it's not marked as stable). Before you look at my implementation, let me point out that there's a files/main.cf as well as a files/postfix-2.0.0/main.cf.diff that are both unused in the whole postfix-2.0.19 series as well as the unstable 2.1.1 ebuild. These should probably be cleaned up at some point. Without using those files (replacement main.cf or diff), which have clearly been deprecated for the postconf method, I cannot implement the nice warning message shown above. I've settled on added a generic "einfo" statement and using postconf to add the queue_minfree line. You could also bump the revision, so everyone get's the change, but is it worth the recompile?
Created attachment 33290 [details, diff] postfix-2.0.19-r3.ebuild.diff
Ok, I bumped the revision to -r4 and implemented my patch in portage. Since 2.0.19-r4 has been out for a month now, I'm going to move -r4 to stable sooner rather than later, since it's a significant issue. I'll leave this open to remind me to make it stable.
This bug is resolved by updating to Postfix 2.1, which is marked stable in the tree.