lmtp: Error: Temp file creation to /tmp/ ... failed: No such file or directory on incoming mails with attachments
Dear list,
I'm currently facing problems when receiving eMails with attachments, at least sometimes.
My mailserver is set up with the tool 'Mailcow', and hence is based on Dovecot (2.2.22 (fe789d2)) and Postfix.
Usually, there are no problems with receiving mails. If a mail has an attachment, however, it is possible that the following error occurs (extract from /var/log/mail.log):
'Jun 7 12:50:28 mail postfix/lmtp[26827]: 564E68A0515: to=<abc@def.ghj>, relay=my.mail.server[private/dovecot-lmtp], delay=0.71, delays=0.67/0.01/0.01/0.02, dsn=4.3.0, status=deferred (host my.mail.server[private/dovecot-lmtp] said: 451 4.3.0 Temporary internal failure (in reply to end of DATA command))'
Extract from /var/log/mail.err:
'Jun 7 12:50:28 mail dovecot: lmtp(26828): Error: Temp file creation to /tmp/dovecot.lmtp.mail.26828. failed: No such file or directory'
Once this happened the first time after dovecot is running, it will happen for all incoming mails with attachments. This can be solved temporarily by restarting the dovecot service and running postqueue -f, but that obviously does not solve the underlying problem.
In this post to this list, it is stated that dovecot sometimes creates temp files to avoid 'excessive memory usage'. I'm guessing that this is the case here, also the error message is similiar:
https://dovecot.org/list/dovecot/2016-June/104722.html
Should I simply change the configuration variable mail_temp_dir to solve this? Why is dovecot not able to find the /tmp folder? In the list thread, it is stated that this is caused by dovecot running with enabled chrooting. As far as I understand it though (correct me if I'm wrong), chrooting is not enabled in my dovecot configuration.
Please find attached the output of 'dovecot -n':
# 2.2.22 (fe789d2): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.13 (7b14904) # OS: Linux 4.4.0-78-generic x86_64 Ubuntu 16.04.2 LTS auth_mechanisms = plain login dict { sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf } listen = * log_timestamp = "%Y-%m-%d %H:%M:%S " login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k mail_home = /var/vmail/%d/%n mail_location = maildir:~/ mail_max_userip_connections = 500 mail_plugins = quota acl fts fts_solr managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext namespace { list = yes location = maildir:%%h/:INDEXPVT=~/Shared/%%u prefix = Shared/%%u/ separator = / subscriptions = no type = shared } namespace inbox { inbox = yes location = mailbox Archiv { special_use = \Archive } mailbox Archive { auto = subscribe special_use = \Archive } mailbox Archives { special_use = \Archive } mailbox "Deleted Messages" { special_use = \Trash } mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Entwürfe { special_use = \Drafts } mailbox "Gelöschte Objekte" { special_use = \Trash } mailbox Gesendet { special_use = \Sent } mailbox "Gesendete Objekte" { special_use = \Sent } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Papierkorb { special_use = \Trash } mailbox Sent { auto = subscribe special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { auto = subscribe special_use = \Trash } prefix = separator = / } passdb { args = /etc/dovecot/dovecot-mysql.conf driver = sql } plugin { acl = vfile acl_anyone = allow acl_shared_dict = file:/var/vmail/shared-mailboxes.db fts = solr fts_autoindex = yes fts_solr = url=http://127.0.0.1:8983/solr/ quota = dict:Userquota::proxy::sqlquota quota_rule2 = Trash:storage=+100%% sieve = /var/vmail/sieve/%u.sieve sieve_after = /var/vmail/sieve/global.sieve sieve_max_script_size = 1M sieve_quota_max_scripts = 0 sieve_quota_max_storage = 0 } protocols = imap sieve lmtp pop3 service auth { unix_listener /var/spool/postfix/private/auth_dovecot { group = postfix mode = 0660 user = postfix } unix_listener auth-master { mode = 0600 user = vmail } unix_listener auth-userdb { mode = 0600 user = vmail } user = root } service dict { unix_listener dict { group = vmail mode = 0660 user = vmail } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } user = vmail } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 2 service_count = 1 vsz_limit = 128 M } service managesieve { process_limit = 256 } ssl_cert = </etc/ssl/mail/mail.crt ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA ssl_dh_parameters_length = 2048 ssl_key = </etc/ssl/mail/mail.key ssl_protocols = !SSLv3 !SSLv2 userdb { args = /etc/dovecot/dovecot-mysql.conf driver = sql } protocol imap { mail_plugins = quota imap_quota imap_acl acl fts fts_solr } protocol lmtp { auth_socket_path = /var/run/dovecot/auth-master mail_plugins = quota sieve acl fts fts_solr postmaster_address = postmaster@steck.cc } protocol sieve { managesieve_logout_format = bytes=%i/%o } remote 127.0.0.1 { disable_plaintext_auth = no }
Thank you for your help.
Lars
On 07.06.2017 23:42, Lars-Sören Steck wrote:
Dear list,
I'm currently facing problems when receiving eMails with attachments, at least sometimes.
My mailserver is set up with the tool 'Mailcow', and hence is based on Dovecot (2.2.22 (fe789d2)) and Postfix.
Usually, there are no problems with receiving mails. If a mail has an attachment, however, it is possible that the following error occurs (extract from /var/log/mail.log):
'Jun 7 12:50:28 mail postfix/lmtp[26827]: 564E68A0515: to=<abc@def.ghj>, relay=my.mail.server[private/dovecot-lmtp], delay=0.71, delays=0.67/0.01/0.01/0.02, dsn=4.3.0, status=deferred (host my.mail.server[private/dovecot-lmtp] said: 451 4.3.0 Temporary internal failure (in reply to end of DATA command))'
Extract from /var/log/mail.err:
'Jun 7 12:50:28 mail dovecot: lmtp(26828): Error: Temp file creation to /tmp/dovecot.lmtp.mail.26828. failed: No such file or directory'
Once this happened the first time after dovecot is running, it will happen for all incoming mails with attachments. This can be solved temporarily by restarting the dovecot service and running postqueue -f, but that obviously does not solve the underlying problem.
In this post to this list, it is stated that dovecot sometimes creates temp files to avoid 'excessive memory usage'. I'm guessing that this is the case here, also the error message is similiar:
https://dovecot.org/list/dovecot/2016-June/104722.html
Should I simply change the configuration variable mail_temp_dir to solve this? Why is dovecot not able to find the /tmp folder? In the list thread, it is stated that this is caused by dovecot running with enabled chrooting. As far as I understand it though (correct me if I'm wrong), chrooting is not enabled in my dovecot configuration.
Please find attached the output of 'dovecot -n':
Are you using either chroot or some apparmor/selinux/whatever security suite which is preventing writing to /tmp?
Aki
Dear Aki,
as far as I know, I'm not using chroot. I am not aware of any setting within my dovecot configuration that I attached which enables this. I checked my mysql database as well (as it is stated in the dovecot documentation that a chroot can also be returned by userdb), but it is not activated there as well.
Also, I am using Apparmor and it is logging blocks to kern.log, where I can't find anything related to this issue.
What I can notice is that this issue only happens randomly and once it happened, it will continue to happen until dovecot is restarted. Then only mails with attachments are stuck in mailqueue. I can't reproduce it, even if I want to. I just sent a mail with a 25 MB attachment to an address and it wasn't a problem. I can see from my logfiles though, that this issue has happened several times already.
Lars
Am 08.06.2017 um 10:09 schrieb Aki Tuomi:
On 07.06.2017 23:42, Lars-Sören Steck wrote:
Dear list,
I'm currently facing problems when receiving eMails with attachments, at least sometimes.
My mailserver is set up with the tool 'Mailcow', and hence is based on Dovecot (2.2.22 (fe789d2)) and Postfix.
Usually, there are no problems with receiving mails. If a mail has an attachment, however, it is possible that the following error occurs (extract from /var/log/mail.log):
'Jun 7 12:50:28 mail postfix/lmtp[26827]: 564E68A0515: to=<abc@def.ghj>, relay=my.mail.server[private/dovecot-lmtp], delay=0.71, delays=0.67/0.01/0.01/0.02, dsn=4.3.0, status=deferred (host my.mail.server[private/dovecot-lmtp] said: 451 4.3.0 Temporary internal failure (in reply to end of DATA command))'
Extract from /var/log/mail.err:
'Jun 7 12:50:28 mail dovecot: lmtp(26828): Error: Temp file creation to /tmp/dovecot.lmtp.mail.26828. failed: No such file or directory'
Once this happened the first time after dovecot is running, it will happen for all incoming mails with attachments. This can be solved temporarily by restarting the dovecot service and running postqueue -f, but that obviously does not solve the underlying problem.
In this post to this list, it is stated that dovecot sometimes creates temp files to avoid 'excessive memory usage'. I'm guessing that this is the case here, also the error message is similiar:
https://dovecot.org/list/dovecot/2016-June/104722.html
Should I simply change the configuration variable mail_temp_dir to solve this? Why is dovecot not able to find the /tmp folder? In the list thread, it is stated that this is caused by dovecot running with enabled chrooting. As far as I understand it though (correct me if I'm wrong), chrooting is not enabled in my dovecot configuration.
Please find attached the output of 'dovecot -n':
Are you using either chroot or some apparmor/selinux/whatever security suite which is preventing writing to /tmp?
Aki
participants (2)
-
Aki Tuomi
-
Lars-Sören Steck