Discussion:
[Dovecot] Small issue with "submission host"
Raphael Ordinas
2012-10-25 13:09:47 UTC
Permalink
Hi everyone,

I'm facing a small issue with the lda/lmtp "submission_host" feature in
dovecot 2.0.14.

When sending mail to MTA (in case of sieve filter forwarding for
example), dovecot pass a RCPT TO command just after the EHLO. He's
missing the MAIL FROM command.
Therefore, my MTA show me a warning like this : "improper command
pipelining after EHLO".

How can i solve that ?

Regards,

Raphael
Thomas Leuxner
2012-10-25 14:08:52 UTC
Permalink
Post by Raphael Ordinas
When sending mail to MTA (in case of sieve filter forwarding for
example), dovecot pass a RCPT TO command just after the EHLO. He's
missing the MAIL FROM command.
Therefore, my MTA show me a warning like this : "improper command
pipelining after EHLO".
Works for me with latest and greatest although I'm not using the
'submission_host' option but pure LMTP Unix socket:

[...]
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0660
user = postfix
}
}

Best to show your 'doveconf -n' for more thoughts.

Regards
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20121025/47c2685a/attachment.bin>
Raphael Ordinas
2012-10-26 08:51:52 UTC
Permalink
Hi,

Here's the doveconf -n output :

# doveconf -n
# 2.0.14: /usr/local/etc/dovecot/dovecot.conf
# OS: FreeBSD 8.1-RELEASE-p5 amd64
auth_mechanisms = plain login
auth_username_format = %Lu
auth_worker_max_count = 90
default_process_limit = 1024
first_valid_gid = 1500
first_valid_uid = 1500
hostname = mailhost.mydomain.tld
last_valid_gid = 1500
last_valid_uid = 1500
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = *
mail_gid = 1500
mail_location = maildir:~/Maildir
mail_plugins = acl quota mail_log notify
mail_privileged_group = mail
mail_uid = 1500
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
passdb {
args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
acl = vfile:/usr/local/etc/dovecot-acls:cache_secs=300
autocreate = Sent
autocreate1 = Trash
autocreate2 = Drafts
autocreate3 = Spam
autocreate4 = Faux-positif
autosubscribe = Sent
autosubscribe1 = Trash
autosubscribe2 = Drafts
autosubscribe3 = Spam
autosubscribe4 = Faux-positif
autosubscribe5 = INBOX
mail_log_events = delete undelete expunge copy mailbox_delete
mailbox_rename
mail_log_fields = uid box msgid size
quota = maildir:User quota
quota_rule = Trash:storage=+100M
quota_warning = storage=95%% quota-warning 95
quota_warning2 = storage=80%% quota-warning 80
sieve = ~/.dovecot.sieve
sieve_before = /usr/local/lib/dovecot/sieve/backup-all.sieve
sieve_dir = ~/sieve
}
postmaster_address = postmaster at mydomain.tld
protocols = imap lmtp sieve
quota_full_tempfail = yes
service anvil {
client_limit = 3500
}
service auth-worker {
user = $default_internal_user
}
service auth {
client_limit = 5500
unix_listener auth-master {
group = vmail
mode = 0660
user = vmail
}
user = doveauth
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service lmtp {
inet_listener lmtp {
address = 172.0.0.1
port = 2525
}
}
service managesieve-login {
inet_listener sieve_deprecated {
port = 2000
}
process_limit = 1024
}
service managesieve {
process_limit = 1024
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
unix_listener quota-warning {
user = vmail
}
user = dovecot
}
shutdown_clients = no
ssl = required
ssl_ca = </etc/ssl/certs/dovecot.pem
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
submission_host = smtp.mydomain.tld
userdb {
args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
verbose_proctitle = yes
protocol lmtp {
mail_plugins = acl quota mail_log notify sieve
}
protocol lda {
mail_plugins = acl quota mail_log notify
}
protocol imap {
imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
mail_max_userip_connections = 20
mail_plugins = acl quota mail_log notify imap_quota imap_acl
autocreate
}
protocol sieve {
managesieve_implementation_string = Dovecot Pigeonhole
ssl = required
}

Regards,

Raphael
Post by Thomas Leuxner
Post by Raphael Ordinas
When sending mail to MTA (in case of sieve filter forwarding for
example), dovecot pass a RCPT TO command just after the EHLO. He's
missing the MAIL FROM command.
Therefore, my MTA show me a warning like this : "improper command
pipelining after EHLO".
Works for me with latest and greatest although I'm not using the
[...]
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0660
user = postfix
}
}
Best to show your 'doveconf -n' for more thoughts.
Regards
Thomas
Thomas Leuxner
2012-10-26 09:00:12 UTC
Permalink
Post by Thomas Leuxner
service lmtp {
inet_listener lmtp {
address = 172.0.0.1
port = 2525
}
}
Right, so you are using network sockets with LMTP. Probably does not
answer the question why it is not working with the 'submission_host',
but is there a reason why the redirects are not reinjected this way?
Post by Thomas Leuxner
submission_host = smtp.mydomain.tld
Regards
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20121026/38422d46/attachment.bin>
Thomas Leuxner
2012-10-26 09:31:34 UTC
Permalink
Post by Raphael Ordinas
submission_host = smtp.mydomain.tld
On second thought, above probably overrides this:

# doveconf -a | grep sendmail
sendmail_path = /usr/sbin/sendmail

...which may be the culprit.

Regards
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20121026/8072cacd/attachment.bin>
Raphael Ordinas
2012-10-26 09:59:06 UTC
Permalink
Actually, LMTP inet listener is only used for delivery purpose.
I separated the MTA and the MDA on distinct hosts.
Incomming mails are received by the MTA which proceed to some check
(anti-virus, spams, and aliases) and transport them to the MDA with LMTP.

Maybe I misunderstood something, but i don't see why LMTP is involve in
a sieve forwarding process (or stuff like non delivery mail return) .
According to comments in the "15-lda.conf" file :

# Binary to use for sending mails.
#sendmail_path = /usr/sbin/sendmail

# If non-empty, send mails via this SMTP host[:port] instead of
sendmail.
submission_host = smtp.mydomain.tld

If you don't use the 'submission_host' option, dovecot will forward mail
with '/usr/sbin/sendmail' binary which use the forwarders you tell it to
use, am i right ?

Regards,

Raphael
Post by Thomas Leuxner
Post by Thomas Leuxner
service lmtp {
inet_listener lmtp {
address = 172.0.0.1
port = 2525
}
}
Right, so you are using network sockets with LMTP. Probably does not
answer the question why it is not working with the 'submission_host',
but is there a reason why the redirects are not reinjected this way?
Post by Thomas Leuxner
submission_host = smtp.mydomain.tld
Regards
Thomas
Thomas Leuxner
2012-10-26 09:31:34 UTC
Permalink
Post by Raphael Ordinas
submission_host = smtp.mydomain.tld
On second thought, above probably overrides this:

# doveconf -a | grep sendmail
sendmail_path = /usr/sbin/sendmail

...which may be the culprit.

Regards
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20121026/8072cacd/attachment-0002.bin>
Raphael Ordinas
2012-10-26 09:59:06 UTC
Permalink
Actually, LMTP inet listener is only used for delivery purpose.
I separated the MTA and the MDA on distinct hosts.
Incomming mails are received by the MTA which proceed to some check
(anti-virus, spams, and aliases) and transport them to the MDA with LMTP.

Maybe I misunderstood something, but i don't see why LMTP is involve in
a sieve forwarding process (or stuff like non delivery mail return) .
According to comments in the "15-lda.conf" file :

# Binary to use for sending mails.
#sendmail_path = /usr/sbin/sendmail

# If non-empty, send mails via this SMTP host[:port] instead of
sendmail.
submission_host = smtp.mydomain.tld

If you don't use the 'submission_host' option, dovecot will forward mail
with '/usr/sbin/sendmail' binary which use the forwarders you tell it to
use, am i right ?

Regards,

Raphael
Post by Thomas Leuxner
Post by Thomas Leuxner
service lmtp {
inet_listener lmtp {
address = 172.0.0.1
port = 2525
}
}
Right, so you are using network sockets with LMTP. Probably does not
answer the question why it is not working with the 'submission_host',
but is there a reason why the redirects are not reinjected this way?
Post by Thomas Leuxner
submission_host = smtp.mydomain.tld
Regards
Thomas
Thomas Leuxner
2012-10-26 09:31:34 UTC
Permalink
Post by Raphael Ordinas
submission_host = smtp.mydomain.tld
On second thought, above probably overrides this:

# doveconf -a | grep sendmail
sendmail_path = /usr/sbin/sendmail

...which may be the culprit.

Regards
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20121026/8072cacd/attachment-0004.bin>
Raphael Ordinas
2012-10-26 09:59:06 UTC
Permalink
Actually, LMTP inet listener is only used for delivery purpose.
I separated the MTA and the MDA on distinct hosts.
Incomming mails are received by the MTA which proceed to some check
(anti-virus, spams, and aliases) and transport them to the MDA with LMTP.

Maybe I misunderstood something, but i don't see why LMTP is involve in
a sieve forwarding process (or stuff like non delivery mail return) .
According to comments in the "15-lda.conf" file :

# Binary to use for sending mails.
#sendmail_path = /usr/sbin/sendmail

# If non-empty, send mails via this SMTP host[:port] instead of
sendmail.
submission_host = smtp.mydomain.tld

If you don't use the 'submission_host' option, dovecot will forward mail
with '/usr/sbin/sendmail' binary which use the forwarders you tell it to
use, am i right ?

Regards,

Raphael
Post by Thomas Leuxner
Post by Thomas Leuxner
service lmtp {
inet_listener lmtp {
address = 172.0.0.1
port = 2525
}
}
Right, so you are using network sockets with LMTP. Probably does not
answer the question why it is not working with the 'submission_host',
but is there a reason why the redirects are not reinjected this way?
Post by Thomas Leuxner
submission_host = smtp.mydomain.tld
Regards
Thomas
Thomas Leuxner
2012-10-26 09:00:12 UTC
Permalink
Post by Thomas Leuxner
service lmtp {
inet_listener lmtp {
address = 172.0.0.1
port = 2525
}
}
Right, so you are using network sockets with LMTP. Probably does not
answer the question why it is not working with the 'submission_host',
but is there a reason why the redirects are not reinjected this way?
Post by Thomas Leuxner
submission_host = smtp.mydomain.tld
Regards
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20121026/38422d46/attachment-0002.bin>
Thomas Leuxner
2012-10-26 09:00:12 UTC
Permalink
Post by Thomas Leuxner
service lmtp {
inet_listener lmtp {
address = 172.0.0.1
port = 2525
}
}
Right, so you are using network sockets with LMTP. Probably does not
answer the question why it is not working with the 'submission_host',
but is there a reason why the redirects are not reinjected this way?
Post by Thomas Leuxner
submission_host = smtp.mydomain.tld
Regards
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20121026/38422d46/attachment-0004.bin>
Raphael Ordinas
2012-10-26 08:51:52 UTC
Permalink
Hi,

Here's the doveconf -n output :

# doveconf -n
# 2.0.14: /usr/local/etc/dovecot/dovecot.conf
# OS: FreeBSD 8.1-RELEASE-p5 amd64
auth_mechanisms = plain login
auth_username_format = %Lu
auth_worker_max_count = 90
default_process_limit = 1024
first_valid_gid = 1500
first_valid_uid = 1500
hostname = mailhost.mydomain.tld
last_valid_gid = 1500
last_valid_uid = 1500
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = *
mail_gid = 1500
mail_location = maildir:~/Maildir
mail_plugins = acl quota mail_log notify
mail_privileged_group = mail
mail_uid = 1500
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
passdb {
args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
acl = vfile:/usr/local/etc/dovecot-acls:cache_secs=300
autocreate = Sent
autocreate1 = Trash
autocreate2 = Drafts
autocreate3 = Spam
autocreate4 = Faux-positif
autosubscribe = Sent
autosubscribe1 = Trash
autosubscribe2 = Drafts
autosubscribe3 = Spam
autosubscribe4 = Faux-positif
autosubscribe5 = INBOX
mail_log_events = delete undelete expunge copy mailbox_delete
mailbox_rename
mail_log_fields = uid box msgid size
quota = maildir:User quota
quota_rule = Trash:storage=+100M
quota_warning = storage=95%% quota-warning 95
quota_warning2 = storage=80%% quota-warning 80
sieve = ~/.dovecot.sieve
sieve_before = /usr/local/lib/dovecot/sieve/backup-all.sieve
sieve_dir = ~/sieve
}
postmaster_address = postmaster at mydomain.tld
protocols = imap lmtp sieve
quota_full_tempfail = yes
service anvil {
client_limit = 3500
}
service auth-worker {
user = $default_internal_user
}
service auth {
client_limit = 5500
unix_listener auth-master {
group = vmail
mode = 0660
user = vmail
}
user = doveauth
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service lmtp {
inet_listener lmtp {
address = 172.0.0.1
port = 2525
}
}
service managesieve-login {
inet_listener sieve_deprecated {
port = 2000
}
process_limit = 1024
}
service managesieve {
process_limit = 1024
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
unix_listener quota-warning {
user = vmail
}
user = dovecot
}
shutdown_clients = no
ssl = required
ssl_ca = </etc/ssl/certs/dovecot.pem
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
submission_host = smtp.mydomain.tld
userdb {
args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
verbose_proctitle = yes
protocol lmtp {
mail_plugins = acl quota mail_log notify sieve
}
protocol lda {
mail_plugins = acl quota mail_log notify
}
protocol imap {
imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
mail_max_userip_connections = 20
mail_plugins = acl quota mail_log notify imap_quota imap_acl
autocreate
}
protocol sieve {
managesieve_implementation_string = Dovecot Pigeonhole
ssl = required
}

Regards,

Raphael
Post by Thomas Leuxner
Post by Raphael Ordinas
When sending mail to MTA (in case of sieve filter forwarding for
example), dovecot pass a RCPT TO command just after the EHLO. He's
missing the MAIL FROM command.
Therefore, my MTA show me a warning like this : "improper command
pipelining after EHLO".
Works for me with latest and greatest although I'm not using the
[...]
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0660
user = postfix
}
}
Best to show your 'doveconf -n' for more thoughts.
Regards
Thomas
Raphael Ordinas
2012-10-26 08:51:52 UTC
Permalink
Hi,

Here's the doveconf -n output :

# doveconf -n
# 2.0.14: /usr/local/etc/dovecot/dovecot.conf
# OS: FreeBSD 8.1-RELEASE-p5 amd64
auth_mechanisms = plain login
auth_username_format = %Lu
auth_worker_max_count = 90
default_process_limit = 1024
first_valid_gid = 1500
first_valid_uid = 1500
hostname = mailhost.mydomain.tld
last_valid_gid = 1500
last_valid_uid = 1500
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = *
mail_gid = 1500
mail_location = maildir:~/Maildir
mail_plugins = acl quota mail_log notify
mail_privileged_group = mail
mail_uid = 1500
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
passdb {
args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
acl = vfile:/usr/local/etc/dovecot-acls:cache_secs=300
autocreate = Sent
autocreate1 = Trash
autocreate2 = Drafts
autocreate3 = Spam
autocreate4 = Faux-positif
autosubscribe = Sent
autosubscribe1 = Trash
autosubscribe2 = Drafts
autosubscribe3 = Spam
autosubscribe4 = Faux-positif
autosubscribe5 = INBOX
mail_log_events = delete undelete expunge copy mailbox_delete
mailbox_rename
mail_log_fields = uid box msgid size
quota = maildir:User quota
quota_rule = Trash:storage=+100M
quota_warning = storage=95%% quota-warning 95
quota_warning2 = storage=80%% quota-warning 80
sieve = ~/.dovecot.sieve
sieve_before = /usr/local/lib/dovecot/sieve/backup-all.sieve
sieve_dir = ~/sieve
}
postmaster_address = postmaster at mydomain.tld
protocols = imap lmtp sieve
quota_full_tempfail = yes
service anvil {
client_limit = 3500
}
service auth-worker {
user = $default_internal_user
}
service auth {
client_limit = 5500
unix_listener auth-master {
group = vmail
mode = 0660
user = vmail
}
user = doveauth
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service lmtp {
inet_listener lmtp {
address = 172.0.0.1
port = 2525
}
}
service managesieve-login {
inet_listener sieve_deprecated {
port = 2000
}
process_limit = 1024
}
service managesieve {
process_limit = 1024
}
service quota-warning {
executable = script /usr/local/bin/quota-warning.sh
unix_listener quota-warning {
user = vmail
}
user = dovecot
}
shutdown_clients = no
ssl = required
ssl_ca = </etc/ssl/certs/dovecot.pem
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem
submission_host = smtp.mydomain.tld
userdb {
args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
verbose_proctitle = yes
protocol lmtp {
mail_plugins = acl quota mail_log notify sieve
}
protocol lda {
mail_plugins = acl quota mail_log notify
}
protocol imap {
imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
mail_max_userip_connections = 20
mail_plugins = acl quota mail_log notify imap_quota imap_acl
autocreate
}
protocol sieve {
managesieve_implementation_string = Dovecot Pigeonhole
ssl = required
}

Regards,

Raphael
Post by Thomas Leuxner
Post by Raphael Ordinas
When sending mail to MTA (in case of sieve filter forwarding for
example), dovecot pass a RCPT TO command just after the EHLO. He's
missing the MAIL FROM command.
Therefore, my MTA show me a warning like this : "improper command
pipelining after EHLO".
Works for me with latest and greatest although I'm not using the
[...]
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0660
user = postfix
}
}
Best to show your 'doveconf -n' for more thoughts.
Regards
Thomas
Raphael Ordinas
2012-10-25 13:09:47 UTC
Permalink
Hi everyone,

I'm facing a small issue with the lda/lmtp "submission_host" feature in
dovecot 2.0.14.

When sending mail to MTA (in case of sieve filter forwarding for
example), dovecot pass a RCPT TO command just after the EHLO. He's
missing the MAIL FROM command.
Therefore, my MTA show me a warning like this : "improper command
pipelining after EHLO".

How can i solve that ?

Regards,

Raphael
Thomas Leuxner
2012-10-25 14:08:52 UTC
Permalink
Post by Raphael Ordinas
When sending mail to MTA (in case of sieve filter forwarding for
example), dovecot pass a RCPT TO command just after the EHLO. He's
missing the MAIL FROM command.
Therefore, my MTA show me a warning like this : "improper command
pipelining after EHLO".
Works for me with latest and greatest although I'm not using the
'submission_host' option but pure LMTP Unix socket:

[...]
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0660
user = postfix
}
}

Best to show your 'doveconf -n' for more thoughts.

Regards
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20121025/47c2685a/attachment-0002.bin>
Raphael Ordinas
2012-10-25 13:09:47 UTC
Permalink
Hi everyone,

I'm facing a small issue with the lda/lmtp "submission_host" feature in
dovecot 2.0.14.

When sending mail to MTA (in case of sieve filter forwarding for
example), dovecot pass a RCPT TO command just after the EHLO. He's
missing the MAIL FROM command.
Therefore, my MTA show me a warning like this : "improper command
pipelining after EHLO".

How can i solve that ?

Regards,

Raphael
Thomas Leuxner
2012-10-25 14:08:52 UTC
Permalink
Post by Raphael Ordinas
When sending mail to MTA (in case of sieve filter forwarding for
example), dovecot pass a RCPT TO command just after the EHLO. He's
missing the MAIL FROM command.
Therefore, my MTA show me a warning like this : "improper command
pipelining after EHLO".
Works for me with latest and greatest although I'm not using the
'submission_host' option but pure LMTP Unix socket:

[...]
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0660
user = postfix
}
}

Best to show your 'doveconf -n' for more thoughts.

Regards
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://dovecot.org/pipermail/dovecot/attachments/20121025/47c2685a/attachment-0004.bin>
Continue reading on narkive:
Loading...