Hello,
Thank you. My configuration is below. It looks like a perm problem,
i've set +r on the directory and it is readable.
One other thing I noticed when going through the log the testuser logs
in, then logs out. Then logs in again, and then gets the error. Any
ideas why the two logins? I see this all the time, a log in log out,
then another log in log out then the email transaction.
Thanks.
Dave.
# 2.2.28 (bed8434): /usr/local/etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.17 (e179378)
# OS: FreeBSD 10.3-RELEASE-p11 amd64 ufs
auth_default_realm = domain.tld
auth_mechanisms = plain login cram-md5
dict {
sqlquota = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
}
first_valid_gid = 999
first_valid_uid = 999
hostname = mail.domain.tld
imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags
last_valid_gid = 999
last_valid_uid = 999
lmtp_rcpt_check_quota = yes
mail_gid = vmail
mail_home = /home/vmail/%d/%n/home
mail_location = maildir:/home/vmail/%d/%n:LAYOUT=fs
mail_plugins = acl quota zlib welcome
mail_server_admin = mailto:postmaster at domain.tld
mail_uid = vmail
mailbox_list_index = yes
maildir_broken_filename_sizes = yes
maildir_empty_new = yes
maildir_stat_dirs = yes
maildir_very_dirty_syncs = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress tldparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date index ihave duplicate mime foreverypart
extracttext imapflags notify imapsieve
namespace {
list = yes
location = maildir:/home/vmail/public:LAYOUT=fs
prefix = public/
separator = /
subscriptions = yes
type = public
}
namespace inbox {
hidden = no
inbox = yes
list = yes
location mailbox Drafts {
auto = no
special_use = \Drafts
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Spam {
auto = subscribe
special_use = \Junk
}
mailbox Trash {
auto = no
special_use = \Trash
}
prefix separator = /
subscriptions = yes
type = private
}
passdb {
args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
imapsieve_mailbox1_before file:/usr/local/lib/dovecot/sieve/report-spam.sieve
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_name = Spam
imapsieve_mailbox2_before = file:/usr/local/lib/dovecot/sieve/report-ham.sieve
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_from = Spam
imapsieve_mailbox2_name = *
last_login_dict = redis:host=127.0.0.1:port=6379
quota = dict:User quota::proxy::sqlquota
quota_grace = 10%%
quota_status_nouser = DUNNO
quota_status_overquota = 552 5.2.2 Mailbox is full
quota_status_success = DUNNO
sieve = ~/.dovecot.sieve
sieve_before = /usr/local/etc/dovecot/sieve/before.d
sieve_extensions = +notify +imapflags
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.execute
sieve_pipe_bin_dir = /usr/local/lib/dovecot/sieve
sieve_plugins = sieve_imapsieve sieve_extprograms
}
postmaster_address = postmaster at domain.tld
protocols = imap
service auth-worker {
user = vmail
}
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
}
unix_listener auth-userdb {
mode = 0600
user = vmail
}
}
service dict {
unix_listener dict {
mode = 0600
user = vmail
}
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service lmtp {
unix_listener dovecot-lmtp {
group = postfix
mode = 0660
user = postfix
}
}
service quota-status {
client_limit = 1
executable = quota-status -p postfix
inet_listener {
address = 127.0.0.1
port = 12345
}
}
ssl_ca = /etc/ssl/certs/cacert.crt
ssl_cert = </etc/ssl/certs/server.crt
ssl_cipher_list
EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4
ssl_dh_parameters_length = 2048
ssl_key = # hidden, use -P to show it
ssl_options = no_tldpression
ssl_prefer_server_ciphers = yes
ssl_protocols = !SSLv2 !SSLv3
userdb {
args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lmtp {
mail_plugins = acl quota zlib welcome sieve
}
protocol lda {
mail_plugins = acl quota zlib welcome quota sieve
}
protocol imap {
mail_plugins = acl quota zlib welcome imap_acl imap_quota imap_sieve
imap_zlib last_login
}
/var/log/maillog:
Feb 28 14:52:06 hostname dovecot: imap-login: Login:
user=<testuser at domain.tld>, method=PLAIN, rip=127.0.0.1,
lip=127.0.0.1, mpid=5840, secured, session=<5EXYh5xJesx/AAAB>
Feb 28 14:52:06 hostname dovecot: imap(testuser at domain.tld): Logged
out in=102 out=1373
Feb 28 14:52:06 hostname dovecot: imap-login: Login:
user=<testuser at domain.tld>, method=PLAIN, rip=127.0.0.1,
lip=127.0.0.1, mpid=7724, secured, session=<0nPch5xJMeR/AAAB>
Feb 28 14:52:06 hostname dovecot: lda(testuser at domain.tld): Error:
userdb lookup: connect(/var/run/dovecot/auth-userdb) failed:
Permission denied (euid=143(dovecot) egid=143(dovecot) missing +r
perm: /var/run/dovecot/auth-userdb, dir owned by 0:0 mode=0755)
Feb 28 14:52:06 hostname dovecot: lda: Fatal: Internal error occurred.
Refer to server log for more information.
Feb 28 14:52:06 hostname dovecot: welcome: Fatal: master:
service(welcome): child 8781 returned error 75
Feb 28 14:52:06 hostname dovecot: imap(testuser at domain.tld): Logged
out in=234 out=1549
On 3/2/17, @lbutlr <kremels at kreme.com> wrote:> On 2017-03-02 (16:54 MST), David Mehler <dave.mehler at gmail.com>
wrote:
>>
>> Is anyone using the welcome plugin? I'm trying to utilize it to
send a
>> message when a user first logs in to the system, containing important
>> information for them to know. The plugin loads, I don't have a
>> configuration problem, but the message never gets sent.
>
> I would say you DO have a configuration problem if the mail doesn?t get
> sent.
>
>> What can I provide to more easily troubleshoot this?
>
> I?d start with the settings for the welcome plugin and any logs.
>
>
> --
> Apple broke AppleScripting signatures in Mail.app, so no random signatures.
>