deliver has the following:
/* After buffer grows larger than this, create a temporary file to /tmp where to read the mail. */ #define MAIL_MAX_MEMORY_BUFFER (1024*128)
...
static struct istream *create_raw_stream(int fd, time_t *mtime_r)
... input = i_stream_create_seekable(input_list, MAIL_MAX_MEMORY_BUFFER, "/tmp/dovecot.deliver.");
On most of my systems, /tmp is relatively small (a few hundred MB, and sometimes on ramdisk), and I like to use /var/tmp for larger temp space.
I just had a problem where I exceeded the space available in /tmp while delivering a (multi recipient) message and had to modify the above line to use an alternative location, and recompile.
Would it be appropriate to make this a configurable option instead?
Thanks.
Feb 3 15:14:51 mh1-pl7 deliver(169@example.com): write_full(/tmp/dovecot.deliver....) failed: No space left on device Feb 3 15:14:51 mh1-pl7 deliver(149@example.com): write_full(/tmp/dovecot.deliver....) failed: No space left on device Feb 3 15:14:51 mh1-pl7 deliver(opx-cc@example.com): write_full(/tmp/dovecot.deliver....) failed: No space left on device Feb 3 15:14:51 mh1-pl7 deliver(142@example.com): write_full(/tmp/dovecot.deliver....) failed: No space left on device Feb 3 15:14:51 mh1-pl7 deliver(165@example.com): write_full(/tmp/dovecot.deliver....) failed: No space left on device Feb 3 15:14:51 mh1-pl7 deliver(152@example.com): stat(/tmp/Dovecot Delivery Mail) failed: No space left on device Feb 3 15:14:51 mh1-pl7 deliver(152@example.com): msgid=49885EB9.60706@example.com: save failed to INBOX: BUG: Unknown internal error Feb 3 15:14:51 mh1-pl7 deliver(152@example.com): sieve runtime error: Keep: Generic Error Feb 3 15:14:51 mh1-pl7 deliver(152@example.com): sieve_execute_bytecode(/home/vmail/example.com/152/.dovecot.sievec) failed Feb 3 15:14:51 mh1-pl7 deliver(125@example.com): stat(/tmp/Dovecot Delivery Mail) failed: No space left on device Feb 3 15:14:51 mh1-pl7 deliver(125@example.com): msgid=49885EB9.60706@example.com: save failed to INBOX: BUG: Unknown internal error Feb 3 15:14:51 mh1-pl7 deliver(125@example.com): sieve runtime error: Keep: Generic Error Feb 3 15:14:51 mh1-pl7 deliver(125@example.com): sieve_execute_bytecode(/home/vmail/example.com/125/.dovecot.sievec) failed