On 14/05/2020 04:09 Gregory Sloop gregs@sloop.net wrote:
So I've done quite a lot of searching on the list and on the web - and perhaps my google-fu is really bad - but I can't find any real recipes on how to sync mail from the old server to the new.
As an FYI - the old server is a CPanel/WHM setup on a VPS. The new is mailcow - which uses docker.
However, I don't think either of these platforms is what's causing the issue - but I'm certainly not sure of that.
I've tried several things - but have lost track of all the things I've tried. This seemed like the best of all the things I've tried.
This particular mailbox/user+domain is setup on both servers.
doveadm backup -D -u mc-user@abc.net ssh root@abc.net -p2200 doveadm dsync-server -u cp-user@abc.net
mc-user@abc.net is the MC/NEW mailbox/domain cp-user@abc.net is the CPanel/OLD user/domain account The SSH server of the remote system is running on port 2200.
However when I try this, I get: WARNING: The WATCHDOG_NOTIFY_EMAIL variable is not set. Defaulting to a blank string. dsync-local(user@abc.net)<v44NFyRWvF5efgAAb6OASA>: Error: read(remote) failed: EOF (version not received) doveadm(user@abc.net): Fatal: execvp(ssh) failed: No such file or directory
The process appears to hang, and a Ctrl+C stops it.
I'd love to get pointed at a reasonable recipe on how to make this work.
I don't really get/understand the docs much at all. [And either everyone else understands it just fine, and never thinks to write a document on how to do it - or, and I think this is a lot more likely - they're using something like imapsync to do it. I found numerous places where others were, essentially, "Dovecot's tool is way too complicated and I can't get it to work right, so I used imapsync." I suppose I should probably just do that too, but it does seem a shame to do that when the dovecot tool is almost certainly the best tool for the job, but I can't figure out how to use it.]
If someone can help me grok what's going on, I'm glad to write it up for the list and or a blog entry so it's more accessible.
TIA -Greg
Just thought I'd point out that if you want to use ssh, it should be installed on both ends:
"doveadm(user@abc.net): Fatal: execvp(ssh) failed: No such file or directory"
If you don't want to, or can't install ssh, you can also use doveadm server:
service doveadm { inet_listener { port = 12534 } }
doveadm_port = 12534 doveadm_password = secretpass
Then you can use tcp:otherhost:12534 as target/source.
Aki