Creating a mail server on Linux-powered machines can be one of the most essential tasks that every system administrator needs to perform while configuring the servers for the first time.
If you’re unfamiliar with what it entails, it’s quite simple. For example, if you have a website like “example.com“, you can create an email account such as “[email protected]“, this enables you to send and receive emails easily without relying on services like Hotmail, Gmail, Yahoo Mail, etc.
In this article, we’ll learn how to do so by installing the Postfix mail server with the “Roundcube” webmail application and its dependencies on Debian and Ubuntu distribution.
Step 1: Set a Hostname and DNS Records for Domain
1. First, set a valid FQDN (Fully Qualified Domain Name) hostname for your Ubuntu server using the hostnamectl command as shown.
sudo hostnamectl set-hostname mail.tecmint.com
2. Next, you need to add a MX
and A
records for your domain in your DNS control panel that guides other MTAs that your mail server mail.yourdomain.com
domain is responsible for email delivery.
MX record @ mail.tecmint.com mail.tecmint.com <IP-address>
Step 2: Installing Apache, MariaDB, and PHP on Ubuntu
3. To create a running mail server using “Roundcube”, we’ll have to install Apache2, MariaDB, and PHP packages first, to do so, run.
sudo apt update -y sudo apt upgrade -y sudo apt install apache2 apache2-utils mariadb-server mariadb-client php libapache2-mod-php php-mysql php-net-ldap2 php-net-ldap3 php-imagick php-common php-gd php-imap php-json php-curl php-zip php-xml php-mbstring php-bz2 php-intl php-gmp php-net-smtp php-mail-mime mailutils
Step 3: Installing Postfix Mail Server on Ubuntu
4. Postfix is a mail transfer agent (MTA) which is the responsible software for delivering & receiving emails, it’s essential in order to create a complete mail server.
To install it on Ubuntu/Debian or even Mint, run:
sudo apt install postfix
During installation, you will be asked to choose the type of mail configuration, and choose “Internet Site”.
5. Now enter the fully qualified domain name that you want to use for sending and receiving emails.
6. Once Postfix is installed, it will automatically start and create a new /etc/postfix/main.cf file. You can verify the Postfix status of the service using the following commands.
sudo systemctl status postfix
Step 4: Testing Postfix Mail Server on Ubuntu
7. Now try to check your mail server is connecting on port 25 using the following command.
$ telnet gmail-smtp-in.l.google.com 25 Trying 74.125.200.27... Connected to gmail-smtp-in.l.google.com. Escape character is '^]'. 220 mx.google.com ESMTP k12si849250plk.430 - gsmtp
The above message indicates that the connection is successfully established. Type quit to close the connection.
8. You can also use a mail program to send and read emails using the following command.
$ mail [email protected] Cc: Subject: Testing My Postfix Mail Server I'm sending this email using the postfix mail server from Ubuntu machine
Step 5: Installing Dovecot IMAP and POP in Ubuntu
9. Dovecot is a mail delivery agent (MDA), it delivers the emails from/to the mail server, to install it, run the following command.
sudo apt install dovecot-imapd dovecot-pop3d
10. Next, restart the Dovecot service and verify the status using the following commands.
sudo systemctl restart dovecot sudo systemctl status dovecot
Step 6: Installing Roundcube Webmail in Ubuntu
11. Roundcube is the webmail server that you’ll be using to manage emails on your server, it has a simple web interface to do the job, it can be customized by installing more modules & themes.
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.6/roundcubemail-1.6.6-complete.tar.gz tar -xvf roundcubemail-1.6.6-complete.tar.gz sudo mv roundcubemail-1.6.6 /var/www/html/roundcubemail sudo chown -R www-data:www-data /var/www/html/roundcubemail/ sudo chmod 755 -R /var/www/html/roundcubemail/
12. Next, you need to create a new database and user for roundcube and grant all permission to a new user to write to the database.
$ sudo mysql -u root CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER roundcubeuser@localhost IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON roundcube.* TO roundcubeuser@localhost; flush privileges; quit;
13. Next, import the initial tables to the Roundcube database.
sudo mysql roundcube < /var/www/html/roundcubemail/SQL/mysql.initial.sql
Step 7: Create an Apache Virtual Host for Roundcube Webmail
14. Create an Apache virtual host for Roundcube webmail.
sudo nano /etc/apache2/sites-available/roundcube.conf
Add the following configuration to it.
<VirtualHost *:80> ServerName tecmint.com DocumentRoot /var/www/html/roundcubemail/ ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/html/roundcubemail/> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
15. Next, enable this virtual host and reload the Apache for the changes.
sudo a2ensite roundcube.conf sudo systemctl reload apache2
16. You can now access the roundcube webmail by going to the following url.
http://yourdomain.com/roundcubemail/installer/
16. Next, go to the Database settings and add the database details.
17. After making all the changes, create a config.inc.php
file.
18. After finishing the installation and the final tests please delete the installer
folder and make sure that enable_installer
option in config.inc.php
is disabled.
$ sudo rm /var/www/html/roundcubemail/installer/ -r
19. Now go to the login page and enter the username and password of the user.
http://yourdomain.com/roundcubemail/
Step 8: Creating Mail Users in Postfix
20. In order to start using the Roundcube webmail, you’ll have to create a new user, to do so, run.
sudo useradd myusername
Replace “myusername” with the user name you want, and create a password for the new user by running.
sudo passwd myusername
21. Now go back to the login page and enter the user name and the password of the newly created user.
Have you tried to create an email server before? How did it go? Have you used Roundcube or any other mail server before? What do you think about it?
Hello, I have a question.
I don’t own a domain yet. But I wanted to know if it is possible to create a free domain such as “mydomain.com” and send emails from it? Or is it required of me to purchase the domain first?
You’ll need a domain name. Most, if not all mail servers will reject your sent email as it doesn’t show up in DNS
ERROR: Config file ‘ . ‘”config/config.php” not found. You need to ‘ . ‘configure SquirrelMail before you can use it.
‘; exit; } // If we are, go ahead to the login page. header(‘Location: src/login.php’); ?>
I have this problems, i have follow the guide
Try this commands:
In step 14 this command
usermod -m -d /var/www/html/myusername myusername
is not working for me says user mod no changes.anyway, I’m able to log in to the error screen.
then i use command
sudo chown -R myusername:myusername /var/www/html/myusername
and still get the IMAP error.(I’m supposed to replace my username in any of this for my actual user name ?) I’ve tried also not working.
your help is greatly appreciated
I have completed all steps and even I remove all folder and repeat all steps carefully still I faced error:
Please contact your system administrator and report this error.
@Muhammad,
Make the following directory writable by user www-data.
Thank you so much, Sir,
If I want to generate an email from laravel or python Django. How I will set laravel mail setting or Django?
..
and can you send me some tutorial or documentation of its? I am very thankful to you…
I have installed Squirrelmail as per your provided instructions. However, when I connect using Firefox I get a blank page.
Using Chromium I get connection refused by the server.
Login page isn’t opening for me. I have followed all the instructions. I cant access the login page. PLEASE HELP
@MZ,
Please check the logs..
Hello Sir,
I have followed your instruction to create the web server. But I can’t log in with the user I created and even root. I am using a virtual host. how can I create email user on the virtual host?
@Cooper,
Any error you getting while logging?
Error opening ../data/default_pref
Could not create initial preference file!
/var/local/squirrelmail/data/ should be writable by user www-data.
Please contact your system administrator and report this error.
I get this error and /var/local/squirrelmail/data is not exist.
What I did was that I copied “squirrelmail” folder that is in /var/www/html/squirrelmail copied to /var/local and did the permissions again, I dont know if I did it right or not but it seems to be working for me after doing that, correct if I am wrong @Ravi Saive
@TechNafo,
As per the instructions provided here, the step 4 clearly shows that squirrelmail installed under /var/www/html/squirrelmail and the
data
directory would be /var/www/html/squirrelmail/data.What can I do now? I had copied folder squirrelmail to /var/local manually because there was no folder in there.
@John,
Nothing, squirrelmail will work without any problems..
@TechNafo,
Please follow the Step 4: Installing SquirrelMail in Ubuntu properly…
But Step 4 does not talk about directory /var/local/ at all
@John,
Then, where you have installed your Squirrelmail? as per step 4 it will install under /var/www/html and data directory would be /var/www/html/squirrelmail/data.
I followed step 4 and I ended up with a folder “squirrelmail” in /var/www/html/ because I was having that error I mentioned before, all that I did was copy that folder “squirrelmail” to /var/local then I ran the commands again for permissions and that was it, it was fixed for me, I dont know if I was supposed to manually copy the folder to /var/local or not but I did.
I am following all the steps but I am getting this error message at the end after giving full permissions.
Error opening ../data/default_pref
Could not create initial preference file!
/var/local/squirrelmail/data/ should be writable by user www-data
Please contact your system administrator and report this error.
I checked mail.err but nothing in there
@John,
Make the following directory writable by user www-data.
It would appear that these directions are out of date or there is a repository that should be perhaps be mentioned where php5 can be obtained from.
@Tcullen,
I’ve updated the article and included latest instructions for setting up complete mail server using Postfix on Ubuntu.
i didn’t get any ssl configuration window while installing dovecot
Me neither.
I have configured almost everything and also the mail is working perfectly fine but my question is can’t we install squirrel administrator for managing all the users using web ui ?
@Sushant,
You can install Squirrelmail as explained in this article: .
Hello, @Sushant
Based on my previous setup of email servers through this tutorial. I haven’t found any web UI for managing squirrel mail users.
What I done is build a simple web UI and API using nodejs for CRUD users.
Hello this might help you.
I created this document based on this tutorial.
https://drive.google.com/file/d/17nii7skTJi9WfiGSs4BtNl24khY3nxBS/view?usp=sharing
@Chael,
That’s really nice and very helpful for newbies, who are new to setting up Mail Server. Thanks a ton..
Your welcome @Ravi
I’m glad to help.
If there’s any question on the document I will update it.
@Chael,
I have checked the document, it’s perfect, if any issues raised by users, I will definitely contact you. Thanks again…:)
Hi, in the part TXT vielsoft_dkim._domain. Where do i get those values??
@Edaurdo,
You need to create TXT values on the server for domain.
Thank you so much for taking some time out to break this down.
I am very grateful…
Hi, in the part, where do I get txt values?
Hello @Eduardo,
opendkim-genkey -t -s mail -d vielsoft.com
will generate the mail.txt in the current folder you executed the command
@Chael,
Thanks for sharing the command for creating TXT record for mail domain…
I’m unable to launch squirrel-email web UI, any help ?
Hi,
Many thanks for sharing this article.
However, my major problem is how to point the dns to enable it work. For example, i purchased my domain from gandi.net, what configuration must i do at the domain provider’s site?
And, how can I set up the following:
I have an account with digitalocean.com, where I have also created a droplet and have an IP for my domain. I have created a new record at digitalocean.com and I have changed the dns server information at gandi.net as ns1.mydomain.com and ns2.mydomain.com.
I have already setup Postfix Mail Server on my Ubuntu 14, although, without installing the squirrel mail, but while i was researching how to fix the above, i came across this post and i find it very helpful because I was able to add Squirrel Mail to my Postfix Mail, but still, nothing is working.
Please I really need your help to fix this.
@Dave,
In your domain control panel, point your domain A and MX records to your server IP address where Postfix installed.
Hello All,
I am not able to get to the web interface, page fails to load. Please help.
add the user to the mail group, this will resolve the inbox issue:
Hi ,
When I try to send any mail I got an error like:
“Service not available, closing channel
421 4.3.0 collect: Cannot write ./dfwAKAhJ3f108965 (bfcommit, uid=0, gid=119): No such file or directory”
Is there anybody give me a hand to rid out of it .
Thank
Hi Zac, I still have the error even though I added my user to the mail group. From my /var/llog/mail.err, I am getting this:
localhost dovecot: imap(myusername): Error: Opening INBOX failed: Mailbox isn’t selectable
Hello
During the installation of Dovecot did not execute the creation of SSL keys, how do I create at this time?
Another thing, following step by step, I still have a problem logging in to squirrelmail: ERROR: Connection dropped by IMAP server.
Can you help me?
Thank you.
Have you checked the log at /var/log/mail.err?
Maybe the permission or the existence of the folder is missing in /var/mail/myusername?
I still have the error though on localhost dovecot: imap(myusername): Error: Opening INBOX failed: Mailbox isn’t selectable.
Hi, did you manage to solve this issue yet?
When I tried to create a MX record on my server on DigitalOcean, there is a session that says [MAIL PROVIDERS MAIL SERVER] and the example in that field reads aspmx.|.google.com.
When I am trying to login it says: “You must be logged in to access this page.” How can I fix it?
@Rahu
I tried to send an email using the newly setup email server but, I don’t receive any email in my gmail. Does MX and SPF record, took times or days to be able my newly setup server to send email ?
Hi Chael. Both the MX and SPF records will take about two hours (depending on your location) to propagate to other DNS servers. I’ve heard of some cases of it taking a day, but not more than that.
@doug can you help me setup a simple email server ?
I already follow the tutorial and I receive email but sending email to my gmail doesn’t work.
I don’t know if I miss something from my dns config, [email protected] is my email. if you can help me
Hi, How do I link it up with SQL so that users will have the freedom to reset their passwords to their choice? and enable password reset option in the web interface?
Good tutorial, but I still get a time-out “ERROR: Connection dropped by IMAP server.”. Any ideas would be appreciated.
I am not able to receive mail in Inbox. Is there anything missed like DNS configurations or something?
@Rahu,
Does the mail received in Spam section? Have you added correct MX and SPF records for your mail domain?
Can your please explain that MX record and SPF record for my domain? Am using digitalocean and followed all above steps.
@Rahu,
Please check out the following article, and see the section – Create A and MX Records for Domain in DNS.
https://www.tecmint.com/setup-postfix-mail-server-and-dovecot-with-mariadb-in-centos/
@Rahu
MX (mail exchange) record is an entry in your DNS zone file that specifies a mail server to handle a domain’s email, and SPF(Sender Policy Framework) record is an entry in DNS zone file used to indicate to mail exchanges which hosts are authorized to send mail for a domain.
@Rahu
You will need (must have) a MX record in your DNS configuration. An example would be:
A SPF (Sender Policy Framework) helps other email servers (like Gmail) to let them know that you are a legitimate email server and not pumping out spam. A SPF record would look something like this:
This is the one that I use and it has passed all spam filters and gmail.
Hi! I would like to ask what I should do if I have already installed an SSL certificate. Should I install a new certificate during the Dovecot installation or I could expand my certificate.
How can I connect my email with Outlook?
Excellent excellent excellent and thanks
On SquirrelMail, I get an error:
ERROR: Could not complete request.
Query: SELECT “INBOX”
Reason Given: [SERVERBUG] Internal error occurred. Refer to server log for more information. [2018-04-06 18:33:43] (0.000 + 0.000 secs).
add the user to mail group
adduser username mail
How to do that thanks you ?
sudo adduser username mail
please, Can you do me a favor ? I send mail but not receive mail.
Dec 29 10:21:44 presta-final dovecot: imap-login: Fatal: Can’t load ssl_cert: There is no valid PEM certificate. (You probably forgot ‘<' from ssl_cert=<)
I am facing problem regrading ssl certificate, help me!
me too the terminal for entering ok and host name not showing up
i tried to send email from my vps to gmail, but the email goes to the spam folder. how to fix it?
@januri,
Please setup Mail domain MX, SPF and TXT record in DNS control panel of your domain hosting..
I don’t use domain or hosting. i use vps digitalocean. where to get that (MX, SPF, TXT)?
@Januri,
You must have valid domain with MX and SPF records to send mails to top mail providers like Gmail, Hotmail, etc..
I can’t access squirrel mail address on my pc.
How can i open the squirrelmail after finish setup at Ubuntu terminal???
Hey i have set up the mail server using this tutorial, now i ab able to send the mails, but not being able to receive the mails, can anyone help me in that, i think its MX record problem in DNS, so what should i put in MX record in DNS ?
have you got any solution because i faced the same problem.if yes then please tell me how to fix this problem.
My squirrel mail is not working from last 10 days. It shows “Unknown user or password incorrect”
Please tell me step by step troubleshooting.
Hi there, How can i add auto response feature in squirrel mail, I know that we can add from backend by installing auto response package, but How can we add auto response plugin to squirrel mail?
Thank you for the amazing tutorial,
I have been trying to setup my email server for as long as i can remember, and i never got it right until this time.
The steps are missing to give the username permissions to create an Inbox.
https://serverfault.com/questions/713635/postfix-dovecot-squirrelmail-failed-to-autocreate-mailbox-inbox
The first line of the dovecot error indicates it doesn’t have permission write to /var/mail/. This indicates the dovecot is running under an account without permission to write to the folder. /var/mail/ is owned by root:mail (UID/GID 0:8), giving full read/write/execute permissions to both root and the group mail.
Dovecot is running under nicolai to access it, and because nicolai is not in the group mail, the folder cannot be accessed.
I’m not sure how the other inbox folders got created, but to fix this, all you should need to do is add nicolai to mail, like this:
That should allow nicolai to access it’s mail folder, and fix the problem.
Thank you so much. First I had got the same problem, however, I solved it by your method.
I tried, but not connecting to squirrel mail in my computer, looks like something is missing in this tutorial.
When I try to log into my Squirrelmail web interface there comes this:
Error connecting to IMAP server: timetoplaymc.de.
111 : Connection refused
What can I do? What is wrong?
NICE AND SIMPLE WAY TO TEACH THE SCRIPT
May 30 15:19:05 mailaitlb dovecot: imap(myusername): Error: open(/var/mail/myusername) failed: Permission denied (euid=1003(myusername) egid=1003(myusername) missing +w perm: /var/mail, we’re not in group 8(mail), dir owned by 0:8 mode=0775)
May 30 15:19:05 mailaitlbdovecot: imap(myusername): Error: Failed to autocreate mailbox INBOX: Internal error occurred. Refer to server log for more information. [2017-05-30 15:19:05]
I’m getting this error. Please help me.
Hello After completion of all the step mention. I wanted to access the server through browser but it showing not found. Can you assist
hello is it use for bulk email
Hi, is it possible to sync with outlook with this configuration? how can i do?
Thanks,
Sendmail not working after following this instruction and this is not sending any mail.
my domain name is dima.lb
I try to send mail but the same error appear every time : “Requested action not taken: mailbox unavailable 550 5.1.1 : Recipient address rejected : gmail.com”
Can anyone help me
what I have found is that this is most likely gmail’s spam filter blocking you. This is usually for new domains and stuff. To test this send an email to a yahoo account and see if it goes through. I have yet to find a fix for this issue though.
I meant spam filter, not firewall. *sigh* This is why you should always proofread things and why forums and comment sections should always have an edit button.
It works good, but how can I configure it to Icedove.
I also want to configure my webmail on my mobile phone.
Thank you.
Hi Sir,
This is very nice guide, I’ve don the configuration, unable to login with domain. Can you please help me, how to login with domain. How to enable virtual domain. Please help me, this is very nice really very great sir.
@Mahesh,
Have you added correct DNS and MX records for your domain?
Hi,
Thanks for the tutorial. Is this possible to install on the same server as my website? I use nginx and ruby on rails on my website. If I install this, will it not be causing conflicts?
Thanks
@Clint,
You can install Postfix on same Linux server without any issues, it will not conflict with your web server or applications..
Please create user with these step,
# useradd username
# passwd usernmae
# cd /home
# cd username
# mkdir mail
# cd mail
# mkdir .imap
# cd imap
# cd .imap
Please do it step by step and dont try to create directory like /home/username/mail
You can say it is crazy but I did face same problem and I fix it the say way.
Regard
# mkdir INBOX/
# cd INBOX
Hello,
thank for tuto :)
in the final step i got this error :
ERROR: Could not complete request.
Query: SELECT “INBOX”
Reason Given: [SERVERBUG] Internal error occurred. Refer to server log for more information. [2016-09-11 16:04:43]
i use ubuntu 14.04
Best regards,
Login as super user and do this command.
useradd myusername mail
This worked for me with the exact same error.
I gave the domain name as superstar.org. Now when I type superstar.org/squirrelmail in the browser,I just get a blank screen.what should I do ?
where we need to type example.com/squirrel
Did you manage to solve this issue.
Because I’m not getting redirected to the squirrelmail login page after typing this in browser’s address bar
In install devcot step system didn’t asked for create a self-signed SSL certificate
Any one having any Idea why this happened ?
Does it will create any problem?
how to configure this for email clients like thunderbird ?
Hey guys,
First of all thank you very much for this genius tutorial =) With this step-by-step procedure it was quite easy to set up a Mail Server.
But I think there is a little mistake in the $ usermod -m -d /var/www/html/myusername command. ( It didn’t work for me and since I am a Linux-newbie i didn’t notice it at first so I had to ask a colleague).
He told me that it should be : “$ usermod -m -d /var/www/html/myusername myusername“.
I hope this will help some of the newbies to come =)
Have a nice day =)
@Chris,
Your colleague is absolutely correct, the command should be:
As per you commands suggestions, I’ve corrected the command in the writeup..
sorry i didn’t get the difference between the both of the commands.
Hello every one, could you help me please, i not speak or write english perfectly, but i will try. I have an error when i try to login trough the web browser, the error says: NOT FOUND The requested URL /webmail/ was not found.
please help me
regards
did you manage to fix it ?
I have the same problem
Do you have correct MX record set for you domain in DNS control panel? if not, please set it first to receive mails from outside domains..
– This is my set-up. I created two separate servers for app and mail in AwS. My app server owns the domain. In my mail server, I installed Postfix, dovecot and squirrelMail. Now the problem is how can I now set the MX record? Please help. Thanks
@Marsha,
Go to your domain control panel, where you’ve purchased domain and add the MX record like mail.domain.com with priority 10 and 20..
Followed the steps above. Sending email works but I cannot receive emails. Can you help? Thanks!
@Marsha,
Do you have correct MX record set for you domain in DNS control panel? if not, please set it first to receive mails from outside domains..
i have install the squirrel mail in Ubuntu VM but i getting the error unknown user or password incorrect on login time please help
@Ravi Saive,
Question
I have a postfix server which is running on Ubuntu,Somehow my server is blacklisted with some xxx.com due this the xxx.xom is not allowing incoming emails from my server. so can I forward the emails which are in queue (postfix) to another postfix server to send those deffered emails ?
Can someone help me how can I achieve this ?
@Kiran,
Yes, you can forward incoming mails from other Postfix mail server using relay option.
@Ravi Saive,
Thank you for your prompt reply. The relay option which you are referring to is “relayhost” in postfix main.cf file ?
If yes if I add the IP to the relayhost parameter will that do the trick ?
Thank you in advance.
@Kiran,
Yes, hopefully it will do the trick…
that command doesn’t work for me
usermod -m -d /var/www/html/myusername
Usage: usermod [options] LOGIN
Options:
-c, –comment COMMENT new value of the GECOS field
-d, –home HOME_DIR new home directory for the user account
-e, –expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-f, –inactive INACTIVE set password inactive after expiration
to INACTIVE
-g, –gid GROUP force use GROUP as new primary group
-G, –groups GROUPS new list of supplementary GROUPS
-a, –append append the user to the supplemental GROUPS
mentioned by the -G option without removing
him/her from other groups
-h, –help display this help message and exit
-l, –login NEW_LOGIN new value of the login name
-L, –lock lock the user account
-m, –move-home move contents of the home directory to the
new location (use only with -d)
-o, –non-unique allow using duplicate (non-unique) UID
-p, –password PASSWORD use encrypted password for the new password
-R, –root CHROOT_DIR directory to chroot into
-s, –shell SHELL new login shell for the user account
-u, –uid UID new UID for the user account
-U, –unlock unlock the user account
-v, –add-subuids FIRST-LAST add range of subordinate uids
-V, –del-subuids FIRST-LAST remvoe range of subordinate uids
-w, –add-subgids FIRST-LAST add range of subordinate gids
-W, –del-subgids FIRST-LAST remvoe range of subordinate gids
-Z, –selinux-user SEUSER new SELinux user mapping for the user account
@Williams,
You should be root or use sudo command to run that usermod command.
Hi,
I am stuck at this screen even after you suggest the command, still getting the same error:
ERROR: Connection dropped by IMAP server
@Anand,
To fix such issue, open the
/etc/dovecot/dovecot.conf
file and add the following line in the IMAP section:Restart dovecot:
Hi, Thanks for the reply and instruction.
there is no IMAP section in default /etc/dovecot/dovecot.conf, but I have added the above line in /etc/dovecot/conf.d/20-imap.conf.
Still no luck, getting same error.
No need for what he told you here is easy way
Added to /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
and 100% it will work i followed the tutorial to but i got this mistake untill i searched the error in mail.log and this was the solution
Hi, Now I am getting different error after I restarted the System.
Error connecting to IMAP server: localhost.
111 : Connection refused
@Anand,
Better, could you post output of the web mail server’s log file for
IMAP server: localhost
error by executing the following commands:I think its time for this guide to get an big update.
@Matt,
Yes I completely agree with your suggestion that this guide really needs an update and we’re in process to update this article with new instructions very soon. Also if you’ve anything in mind that needs to be added to this article, do suggest us..
Hi there,
I followed the instruction until step 14 where I’ve got 404 error trying access to mydomain.com/squirrelmail.
Do you have any suggestions?
Thank you
@Gio,
Have you checked in “/var/log/mail.err” file for any error messages, if not please check and correct it or if possible could you post the mail.err logs here.
can i request your contact number please
@Vijay,
Please contact us at [email protected] for any questions or queries..
Hi,
Any one help me to fresh installation steps for squirrelmail in centos 6
Purpose : sending bulk mail.
@Vijay,
Just enable epel repository to install fresh Squirrelmail on CentOS or follow official docs here: http://squirrelmail.org/docs/admin/admin-3.html
Do you have a tutorial on how to setup such mail client on centOS 7?
Can I create unlimited email account with such tutorial?
@Ugo,
Yes, we’ve a complete tutorial on Mail server setup with Postfix at:
i have configured squirrelmai on 2 system , i follow all the step one by one ,i am able to send mail to local user or other domain user but i am not able to receive email from other domain user .
@Rakesh,
Have you set correct DNS A Record, MX, and SPF for your domain to receive mails?
same issue is happening to me :( . i am able to send mail to gmail user but i am not able to receive email from it.
Gmail error :
The error that the other server returned was:
Recipient not found. .
It helped a lot thanks for the steps…
It Works!! Many thanks.
The Squirrelmail works perfectly!
But when i try set an account using Thunderbird, the /etc/log/mail.log say
Nov 28 00:46:44 ip-172-31-44-39 postfix/submission/smtpd[13614]: improper command pipelining after EHLO from unknown[159.16.X.X]: QUIT\r\n
Any Idea!
Regards!
It gives me a SQL error
ERROR: Could not complete request.
Query: SELECT “INBOX”
Reason Given: [SERVERBUG] Internal error occurred. Refer to server log for more information. [2015-11-15 23:27:29
@Miquel,
Could you please check /var/log/maillog for any specific entries related to the error?
I had a similar error and this is the log:
imap(marclar): Error: open(/var/mail/marclar) failed: Permission denied (euid=1007(marclar) egid=1007(marclar) missing +w perm: /var/mail, we’re not in group 8(mail), dir owned by 0:8 mode=0775)
Jan 6 00:07:50 jasonrules dovecot: imap(marclar): Error: Failed to autocreate mailbox INBOX: Internal error occurred. Refer to server log for more information. [2016-01-06 00:07:50]
@Jason,
Open and add the group mail to the line “mail_privileged_group = ” in /etc/dovecot/conf.d/10-mail.conf file, then stop and restart the dovecot Hope it will solve this error.
I can host my email server, in Ubuntu 14, first it is not gui, my site is hosted anywhere else, i want to make my own email server, with already hosted site that is with third party now.
Hi, I have ran the command: sudo chown -R myusername:myusername /var/www/html/myusername (with my correct user name), yet i still keep getting the “ERROR: Connection dropped by IMAP server”
I have checked and I have both IMAP (port 143) and IMAPS (port 993) open (i am doing this on an azure linux vm, so they are set up as endpoints on the vm)
any suggestion on what else i would need to do?
@Dave,
To resolve such an error open dovecot.conf file and add the following line in the IMAP section:
If the above solution doesn’t work try to increase the client_limit from 100 to 1000 in same dovecot.conf file.
If any of the above solution, doesn’t resolve your problem, you should check out the Squirrelmail IMAP problem guide at
http://squirrelmail.org/wiki/MailServerIMAPProblem
Hello,why i cannot access to example.com/squirremail ? can anyone help me?
@Mori,
Does your example.com domain resolves to your server IP address? have you set correct A record for your domain in DNS?
hello, i followed procedure, but when I try to access mail server: ERR_NAME_NOT_RESOLVED, impossible to find DNS.
I registered a domain and I think I should use default DNS.
Thanks to everyone
@Giuseppe,
Please check your DNS settings, is your domain resolves?
I dont know how to check my DNS. I dont know how to setup my DNS in squirrelmail :(
@Giuseppe,
Does your domain resolves to your server IP address? I am sure your domain DNS is not properly set in your DNS manager of your domain hosting..
mmm I dont know…So what do I should do? Changing default domain settings using my IP settings? If it’s correct, how can I do that? Thanks and sorry for the questions :)
@Giuseppe,
Very difficult me to help you friend, no problem could you please tell me your domain name? so that I can do some DSN testing on my end..After that I can provide you correct solution.
Thanks Ravi Saive, my domain is: studiolegaleraimondi.ch. Thanks for helping!
@Giusseppe,
I check your domain not resolving properly, you need to set A record and point the domain to Server IP address to work everything perfectly, I suggest you to consult your DNS provider..
ok, thank you very much, the problem is that I just buyed domain and I need an hosting service. But I would not buy an hosting and do it by myself.
@Giuseppe,
If you want I can setup, but will charge you…
Hi everyone! I’m having some issues during the set up process. I do every step as it’s explained here but when I wanna go to example.com/squirrelmail it throws me 404 error. I’ve noticed that Squirrelmail is installed in /etc/squirrelmail… and I think… how could I in any way link those 2 folders to work together? I don’t know if I’m clear. I want to link /etc/squirrelmail with /var/www/username where my server is, to make squirrelmail work from there. So that way I could access. I’ve tried command ln folder folder but it says it’s impossible to make a hard link between folders…. so I’ve tried ln -s folder folder… but it’s still not working.
Any help would be very appreciated.
@Carolina,
Have you copied default squirremail Apache configuration file under apache2 directory in order to access the squirrelmail web? if not do,
And enable it using:
Now try to access the web page of squirremail again and see..
Hello, thia article was very helpful, thanks a ton.
i m getting a mail to my spam box.
1> I m sending to gmail account
2> i am not able to send mail back to the user from gmail account ,
it says as
Delivery to the following recipient failed permanently:
[email protected]
Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the server for the recipient domain mydomain.com by aspmx.l.google.com. [2607:f8b0:4003:c0a::1b].Delivery to the following recipient failed permanently:
[email protected]
Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the server for the recipient domain inertiagroups.com by aspmx.l.google.com. [2607:f8b0:4003:c0a::1b].
@Lokendra,
Firstly, you must have a Mail MX record for you mail domain to deliver mails to user inbox, and secondly a user must exists on the system to receive mail from outside, if user do not exists you will get a message as stated in your question..
It’s not login.I’ve got 404 error
@Hamid,
Where you getting 404 error? can you tell us more so that we can help you out..
I can only login with localhost/squirrelmail and send email . but when I login with example.com/squirrelmail I’ve got 404 error. I set my IP in sever and 25 port .
@Hamid,
I think you should check that your domain example.com is resolving DNS properly? have you correctly configured Apache to server squirrelmail?
Hi.I got this error when login
“ERROR: Could not complete request.
Query: SELECT “INBOX”
Reason Given: [SERVERBUG] Internal error occurred. Refer to server log for more information”
I am stuck at step 16, First part ok, it creates the folder but each time i run the usermod, it simply show a list of correct way to run command. it does nothing else. ANy tip for that?
@Mike
Your question is not clear to me, can you please tell me exactly what you looking for..
I felt your pain. The correct syntax of the command is “sudo usermod -m -d /var/www/html/username username”. The ” username” (note the leading space) was omitted.
I also had to make the following modifications in /etc/dovecot/conf.d/10-mail.conf:
mail_location = mbox:~/mail:INBOX=/var/mail/%n
mail_privileged_group = mail
At the moment, SquirrelMail works, but the “Check mail” link does not refresh my INBOX. However, clicking the “INBOX” link in the left pane does refresh my mail.
I solved my INBOX refresh issue. I changed the auto refresh:
Log into Squirrelmail from your browser of choice
Goto Options > Folder Preferences
Change Auto Refresh Folder List to 30 seconds
and loaded the Folder Synchronization plugin:
http://squirrelmail.org/plugin_view.php?id=64
Thanks!!!
@Stephen,
I am glad that you’ve resolved the issue yourself and thanks for mentioning your findings, hope it will help others too..
Hi,
Great article but even after giving ‘myusername’ full access to its homedir I still get
‘ERROR: Connection dropped by IMAP server.’
Anything else I can try?
When installing postfix I never got to the configuration screen “During installation, you will be asked to choose the default file configuration for your server.” Therefore I never was able to setup the domain name or user. How can I get that dialog?
dpkg-reconfigure postfix
This will let you reconfigure the service.
ERROR HERE! :_(
[email protected]:/var/www/html# usermod -m -d /var/www/html/correo1 correo1
usermod: without changes <—— DO NOTHING!
Can you help me? Thanks in advice.
Hello , can anyone help me with this error pls ?
May 8 12:34:36 Server dovecot: imap(faxarena): Error: user faxarena: Initialization failed: Namespace ”: mkdir(/var/www/html/mail) failed: Permission denied (euid=1019(faxarena) egid=1019(faxarena) missing +w perm: /var/www/htm$
May 8 12:34:36 Server dovecot: imap(faxarena): Error: Invalid user settings. Refer to server log for more information.
May 8 12:37:05 Server dovecot: imap(faxarena): Error: user faxarena: Initialization failed: Namespace ”: mkdir(/var/www/html/mail) failed: Permission denied (euid=1019(faxarena) egid=1019(faxarena) missing +w perm: /var/www/htm$
May 8 12:37:05 Server dovecot: imap(faxarena): Error: Invalid user settings. Refer to server log for more information.
May 8 12:37:09 Server dovecot: imap(faxarena): Error: user faxarena: Initialization failed: Namespace ”: mkdir(/var/www/html/mail) failed: Permission denied (euid=1019(faxarena) egid=1019(faxarena) missing +w perm: /var/www/htm$
May 8 12:37:09 Server dovecot: imap(faxarena): Error: Invalid user settings. Refer to server log for more information.
Why my way for mail /home/myusername and not /var/www/html/myusername?
I must exchange the way for email work.
Thanks.
usermod -m -d /var/www/html main
usermod: user ‘main’ does not exist
any help?
@Musa,
Sorry that was not ‘main’, it should be ‘myusername’..corrected in the writeup..
hi , i need to do this tutorial for nginx, not for apache2, because i use nginx and i don’t have apache2 installed on my server dedicated. i want to login with e-mail adress like ([email protected] and password) , not with username and password, to use my e-mail adress in outlook . How i doo this? Kane you make a tutorial like this one? But with nginx instead apache2 and for debian 7 x86?
Ty and sorry for my bad english.
your tutorial is nice here. you just forget this piece for squirrel mail
sudo ln -s /etc/apache2/sites-available/squirrelmail /etc/apache2/sites-enabled/squirrelmail
Oh we don’t need it, step 13 does the job.
Error connecting to IMAP server: localhost.
111 : Connection refused
Please check the log file.
I have the problem that after every step still tells me.
Forbidden
You don’t have permission to access /squirrelmail on this server.
Hello.
Have you tried changing the permissions of the folder to 755 and give privileges to the www-data user ?
Error “an2ensite command not found” on LinuxMint 17, how I can fix it?
@MRH,
Sorry for the trouble, that was a type..corrected in the article..
Thanks for your troub
Hi,
I found your article from Technotes blog. I followed your instruction smoothly until the step “sudo an2ensite squirrelmail.conf”. I got the response that “-bash: an2ensite: command not found”. Could you let me know what I should do to fix that? Thanks.
Hello twinclouds.
There’s a typo in this command, the correct one is this:
$ sudo a2ensite squirrelmail.conf
Thanks!
good article.
thank you it’s a goog article, please i need tutoriel creating a complete mail server setup in CentOS with RoundCube.
Thanx
can still write about the spam filter, antywirus?
how to do the above in rpm distro (CentOS)
@Deepanjan,
This guide is specially for Debian based distros, it will won’t work on CentOS, we are in process of creating a complete mail server setup in CentOS…stay tuned for this article..