-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Help wanted for local email client (e.g. Thunderbird) #82
Comments
Hi @kklepper Thunderbird Settings for SMTP: For incoming mails: When LetsEncrypt is working, it is important to use the certificates in docker-mailserver aswell. This guide should explain it. Don't forget to restart the whole project afterwards. Roundcube is sending and receiving mails via an internal connection to the mda and mta service. What you need to open in your firewall are the ports 25 (for sending & receiving mails from external users), 143 (communication with your Thunderbird instance, receiving), 587 143 (communication with your Thunderbird instance, sending). If it is all set up and working, I'ld appreciate if you can provide some documentation of your knowledge for other users. |
Thank you for your immediate answer. No error now, but timeout:
What's wrong here? |
I'm sorry, I guess I wrecked it all up. First I restored the original So I concluded that the volume Now I have no idea why the original installation does not work anymore and that new installation does not work either, although the original installation worked out-of-the-box. What can I do now? |
Again sorry, now it works... Totally confused now. |
I only have to wait for you to find the solution, very good! ;P Because I lost track what you're doing exactly, just some explanation here.
|
I am so glad you bear with me, that is really kind of you. Thank you very much for the explanation. I was misled by the exiting. So here is the output
As you see, I spent 2 hours to get the thing working, but still it doesn't do as it did the first time. Also, you see that I renamed the original folder for the new I was able to install a 2nd user, but I cannot send or receive, or rather, to be precise, all e-mails sent from So something is wrong. In order to get some insight I tried I didn't change anything with the ports on my virtual server. |
At least, now I got an error message
What exactly is wrong here? GMX sends me to https://intodns.com/ and they say I set a bcc to each email to gmail, and gmx.de gets nothing yet, but gmail does. So this is good. Another test, the other way around, now email to gmail and bcc to gmx -- same thing, gmail responds, gmx not. I guess after a while I will get another error report. Also, GMX sent me to Now why did it work the first time without all that fuss? Confusing. |
Oh, what a bummer! GMX classified my test emails as spam. |
Funny, though, gmail classified this email as phishing due to the image attachment and stated that it was not possible to verify the sender. No, I don't understand all this. |
Well, I seem to have blocked myself. As a kind of newbee paranoia, I restricted all email ports to my own IP address. When I opened them up, emails waiting somewhere came in. Let's see tomorrow what this means for my POP/SMTP problem. |
How is it going? :) |
Oh yes, I just thought I have to keep you informed. Well, I collected quite some new errors, so instead of bothering you, I chose a deviant way to learn more. I have another virtual server with a LAMP stack, but the installation didn't work out fine either:
Now this looked like a clash with LAMP, so I first integrated my own database (I'll post suggestions for your help file later), but it didn't work out. Finally I realized I should drop LAMP first and then install a LEMP docker setup. Locally, adminer works. After opening the adminer port, it works in the browser, too. Next I try to define virtual servers. If this works, I will come back to docker-mailserver. I'll keep you informed. |
This is another report of enduring failures. My first virtual server has a running webmail with the ability to send and receive from Roundcube. I noticed an interesting phenomenon. The address http://xxx.tld:81/webmail/?_task=mail&_mbox=INBOX gets updated in Opera, but not in Vivaldi. Still I cannot find any combination of settings for SMTP, and the same holds true for POP. All my ports are open. Nevertheless Thunderbird reports server errors. Any idea of how I can debug this? My 2nd virtual server has its own problems. The first one still runs on port 80, the 2nd reroutes all unsafe connections to port 443. Of course, this is my goal with the first one as well. There is a big docker stack running on port 80 which ought to be transformed to https. I still don't have an idea how to do that right. As I use ports, it may be a good idea to leave the whole zoo as it is and use a reverse proxy in front to accept https. Around these lines I stumbled upon Traefik, which promises to be an excellent concept, but unfortunately I don't understand the setup good enough to make it work. So this was a 2nd reason to keep things simple and experiment with another virtual server first. Now my main address on the 2nd server runs on https without Traefik, but now I have 2 problems I struggle with. Port 81 doesn't run with https. So I'll try to tie docker-mailserver to the first stack and 2nd make it work with https. Another problem I don't understand is the way NGINX handles server blocks. For testing, I acquired a .tk domain. It turns out that is not possible to get a letsenscript for this tld. Therefore, I wanted to handle one block as redirecting to https and the other not. I can't get it right. So this is how I spend hours and hours and my mind gets confused more and more. Okay, this is nothing new, I have to become patient and work it out one by one. Thank you for listening. |
Puuh, all this sounds a bit messed up. First things first! I even don't know what's wrong with your Thunderbird. Since you're working on so many construction sites in parallel it's hard to locate the issues and their causes.
The software swaks might help you to test the services like smtp, pop3 (do you really need it?) and imap. I use it in the integration tests: https://github.com/jeboehm/docker-mailserver/blob/master/test/rootfs/usr/share/tests/003_mta.bats To protect the manager and webmail with https, have a look at this: |
Thank you very much for your kind words and your helpful advice. By studying your I have a couple of browsers at my hands but I am using mostly Opera and lately gave Vivaldi a chance. Vivaldi misses a couple of features of Opera which boost my productivity quite a lot. I am stubborn and persistent and don't tend to give up. Anyway, your work is brilliant and helps a lot. Thank you. I'll keep you informed. |
Well, I think it's time to deliver an intermediate report. Yesterday, I was struggling with all kinds of interesting and well-written tutorials to implement a proxy to a docker zoo, including jwilder/nginx-proxy. But somehow they were all incomplete and do not really fit my scenario. In the end I was confused; I couldn't get any approach to work. So I turned to docker-mailserver and again had the error I experienced before, so I gave up and decided to install a fresh CentOS 8 and start from scratch. This time I didn't install LEMP, as I had learned that I don't need that, rather delivering every service via docker containers. After one day of making every mistake you can think of, I finally managed to not only reach my domain.TLD via ports 80 and 443 with 3 docker containers, but also, with the help of https://www.domysee.com/blogposts/reverse-proxy-nginx-docker-compose, install a proxy in front of my docker containers. That's fine, but still not really understood. For example, the procedure I used for getting the letsenscrypt certificates (https://github.com/wmnnd/nginx-certbot/) does not place symbolic links in the directory Or is it a bug of certbot? I don't know yet. I have seen the symbolic links and worked with them, probably from the approach https://www.humankode.com/ssl/how-to-set-up-free-ssl-certificates-from-lets-encrypt-using-docker-and-nginx, I don't know, I will use that approach next and will see if it uses symbolic links. In addition, both solutions use NGINX, so this NGINX container might just as well be my proxy. I will investigate into that also. Back to docker-mailserver. First I shut down all docker containers to have a clean setup. And then I followed your procedure and got the same error I had the day before. So here it is:
What's happening here? How can I debug that? What is tcp 192.168.208.4:80? Here my uneducated investigation:
No other container is running:
After nearly an hour I found some containers exited:
Any hint? |
Wait, I found an obvious mistake: |
Hello, time again to report. The obvious mistake I thought to have found wasn't really one. So I just picked up your advice and started from scratch. But first an explanation for the long silence. The most urgent thing I was looking for is providing a solution for TLS. The obvious thing to do is to put a proxy in front of all the services, but this isn't that easy as I thought. I couldn't get it right with Then I ran into the next problem which seems to be unsolved for years now. It was a longtime standard to track the IP addresses of users in the log files of the Web server. With docker things changed. Docker does not supply the IP address of the user, but the internal IP address of the container -- which is useless information. I am not interested in tracking the IP addresses of my users, but I must know geographical data to provide certain services. So the IP address of the user is vital. How do you get this information? Well, many people have invested much time and effort and didn't find much. There are people who pretend that they can trick Somebody presented a solution via
That's great, and I hope to be able to integrate that result into a working proxy for my Docker zoo. Right now I am exhausted, so I picked up The first snapshot looks promising.
But then I get the following:
Okay, nevermind, just proceed.
Well, why that? It went without problems the first time. Actually, Thunderbird came up and wanted to get a certificate exception. Well, looks like something is responding. Now the problem is that having TLS installed, the address http://xxx.tld:81/webmail will no longer work as it is redirected to be handled by the That shouldn't be a problem, but it is. To begin with, I integrated all your containers simply with copy and paste into my stack.
That looks good, but it isn't:
To make it more understandable:
Why is that? The rest of the zoo is fine:
The obvious thing is that the original snippet cannot work anymore; apart from the unsupported options these lines had to be corrected as follows:
Also, having a database running already, I commented the database block out. But this isn't it. Everything else works as planned:
Here you see that If I would succeed in getting all your containers started, I would add the following snippet to my
and hopefully everything would work as smooth as it does with Adminer:
(So my initial idea with subdomains was not good.) I tried to approach the problem by eliminating all containers of yours but the first one, volumes leaving untouched. The result is
I looked at the source code for this container at Do you have any ideas to get me on the right track? |
Aha:
|
Same here:
|
|
Sorry, I've never used Docker Stack. :( |
See last entry in #85 at |
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I had a running local connection to my domain hosted via plesk. Now I moved on to a virtual server and installed your system. Great work, great explanation, easy installation. Thank you very much.
Roundcube works, I could receive mail. I could not send due to a general lock of my new provider on port 25, which was removed on request. I also opened port 25 for connections from my local IP. Sending from Roundcube now works, too.
Now I wanted to change my local Thunderbird configuration to connect to my new virtual server. The domain name xxx.tld and mail.xxx.tld point to the new virtual server IP. Well, no matter which method and port I choose for send and receive, I cannot send and I cannot receive from my local Thunderbird account like before.
Describe the solution you'd like
A clear and concise description of what you want to happen.
I'd like to have a simple instruction to this end. What do I have to do where to make things work as expected.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
I opened ports 25, 110, 143, 465, 587, 993, 995 - to no avail. Obviously I do not understand what I do.
Additional context
Add any other context or screenshots about the feature request here.
The old setting was 143 for receive and 587 for send.
This is an excerpt of my ports setting:
As you see, I restricted one port to my local IP.
I set up a TLS certificate using letsencrypt, so https://xxx.tld works fine. Thunderbird comes up with
Downloading a certificate from here does not work either.
Sorry, I run out of ideas.
The text was updated successfully, but these errors were encountered: