usage of recipient delimiters

fsantiago at garbage-juice.com fsantiago at garbage-juice.com
Sun Nov 15 00:46:29 UTC 2015


Hello,

I have a forum system which can potentially have users send email to it 
for posting purposes that arrives addressed to a particular user account 
with a recipient delimiter:

user+1a2b3c4d5e6f at domain.com

The forum server is supposed to check the "user" account mailbox's inbox 
for the messages and post them to the site automatically. This doesn't 
work right now because when the messages arrive, they get placed into a 
newly and automatically created folder named after the alpha numeric 
string after the + in the address (eg... 1a2b3c4d5e6f).

I feel dovecot is likely doing this. any ideas why and how i can shut 
this off and just allow them to arrive and stay in the inbox?

My version is:

2.2.10

My config is:

# 2.2.10: /etc/dovecot/dovecot.conf
# OS: Linux 4.1.5-x86_64-linode61 x86_64 CentOS Linux release 7.1.1503 
(Core)
auth_master_user_separator = *
auth_mechanisms = PLAIN LOGIN
dict {
   acl = mysql:/etc/dovecot/dovecot-share-folder.conf
   quotadict = mysql:/etc/dovecot/dovecot-used-quota.conf
}
first_valid_uid = 2000
last_valid_uid = 2000
listen = * [::]
log_path = /var/log/dovecot.log
mail_gid = 2000
mail_location = maildir:%Lh/Maildir/:INDEX=%Lh/Maildir/
mail_plugins = quota mailbox_alias acl
mail_uid = 2000
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 ihave
namespace {
   inbox = yes
   location =
   mailbox Drafts {
     auto = subscribe
     special_use = \Drafts
   }
   mailbox Junk {
     auto = subscribe
     special_use = \Junk
   }
   mailbox Sent {
     auto = subscribe
     special_use = \Sent
   }
   mailbox "Sent Messages" {
     auto = no
     special_use = \Sent
   }
   mailbox Spam {
     auto = no
     special_use = \Junk
   }
   mailbox Trash {
     auto = subscribe
     special_use = \Trash
   }
   prefix =
   separator = /
   type = private
}
namespace {
   list = children
   location = maildir:%%Lh/Maildir/:INDEX=%%Lh/Maildir/Shared/%%u
   prefix = Shared/%%u/
   separator = /
   subscriptions = yes
   type = shared
}
passdb {
   args = /etc/dovecot/dovecot-mysql.conf
   driver = sql
}
passdb {
   args = /etc/dovecot/dovecot-master-users
   driver = passwd-file
   master = yes
}
plugin {
   acl = vfile
   acl_shared_dict = proxy::acl
   auth_socket_path = /var/run/dovecot/auth-master
   mailbox_alias_new = Sent Messages
   mailbox_alias_new2 = Sent Items
   mailbox_alias_old = Sent
   mailbox_alias_old2 = Sent
   quota = dict:user::proxy::quotadict
   quota_rule = *:storage=1G
   quota_warning = storage=85%% quota-warning 85 %u
   quota_warning2 = storage=90%% quota-warning 90 %u
   quota_warning3 = storage=95%% quota-warning 95 %u
   sieve = %Lh/sieve/dovecot.sieve
   sieve_before = /var/vmail/sieve/dovecot.sieve
   sieve_dir = %Lh/sieve
   sieve_global_dir = /var/vmail/sieve
}
protocols = pop3 imap sieve lmtp
service auth {
   unix_listener /var/spool/postfix/private/dovecot-auth {
     group = postfix
     mode = 0666
     user = postfix
   }
   unix_listener auth-master {
     group = vmail
     mode = 0666
     user = vmail
   }
   unix_listener auth-userdb {
     group = vmail
     mode = 0660
     user = vmail
   }
}
service dict {
   unix_listener dict {
     group = vmail
     mode = 0660
     user = vmail
   }
}
service imap-login {
   process_limit = 500
   service_count = 1
}
service lmtp {
   executable = lmtp -L
   inet_listener lmtp {
     address = 127.0.0.1
     port = 24
   }
   process_min_avail = 5
   unix_listener /var/spool/postfix/private/dovecot-lmtp {
     group = postfix
     mode = 0600
     user = postfix
   }
   user = vmail
}
service managesieve-login {
   inet_listener sieve {
     address = 127.0.0.1
     port = 4190
   }
}
service pop3-login {
   service_count = 1
}
service quota-warning {
   executable = script /usr/local/bin/dovecot-quota-warning.sh
   unix_listener quota-warning {
     group = vmail
     mode = 0660
     user = vmail
   }
}
ssl = required
ssl_cert = </etc/pki/tls/certs/iRedMail.crt
ssl_cipher_list = 
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
ssl_dh_parameters_length = 2048
ssl_key = </etc/pki/tls/private/iRedMail.key
ssl_prefer_server_ciphers = yes
ssl_protocols = !SSLv2 !SSLv3
userdb {
   args = /etc/dovecot/dovecot-mysql.conf
   driver = sql
}
protocol lda {
   auth_socket_path = /var/run/dovecot/auth-master
   lda_mailbox_autocreate = yes
   lda_mailbox_autosubscribe = yes
   log_path = /var/log/dovecot-sieve.log
   mail_plugins = quota mailbox_alias acl sieve
   postmaster_address = root
}
protocol lmtp {
   info_log_path = /var/log/dovecot-lmtp.log
   lmtp_save_to_detail_mailbox = yes
   mail_plugins = quota sieve
   postmaster_address = postmaster
   recipient_delimiter = +
}
protocol imap {
   imap_client_workarounds = tb-extra-mailbox-sep
   mail_max_userip_connections = 20
   mail_plugins = quota mailbox_alias acl imap_quota imap_acl
}
protocol pop3 {
   mail_max_userip_connections = 20
   mail_plugins = quota mailbox_alias acl
   pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
   pop3_uidl_format = %08Xu%08Xv
}


Thank you.

- Fabian S.



More information about the dovecot mailing list