The following article will show you how to install and run simple POP3/IMAP/SMTP mail server in your CentOS VPS using virtual users and domains with Postfix and Dovecot
What is Postfix? It is a drop in replacement for the old and mature Sendmail. Postfix also attempts to be very fast, easy to administer, and secure.
What is Dovecot? It is an open source IMAP and POP3 server for *NIX-like systems, written primarily with security in mind.
PRE-REQ
You may want to check if your hostname/domainname is a valid FQDN (fully qualified domain name) and it has a valid MX DNS record.
## if ! type -path "dig" > /dev/null 2>&1; then yum install bind-utils -y; fi
## DOMAIN=mydomain.com ## NSHOSTS=( "$(dig @4.2.2.2 +short MX ${DOMAIN}|sort -n|cut -d' ' -f2)" ) ## for NS in ${NSHOSTS[@]}; do printf "%-15s => %-s\n" "$(dig @4.2.2.2 +short A ${NS})" "${NS}"; done ## unset DOMAIN NSHOSTS
UPDATE THE SYSTEM
## screen -U -S mailserver-screen ## yum update
SET-UP SYSTEM USER
create group used for virtual mailboxes
## groupadd vmail -g 2222
create user used for virtual mailboxes
## useradd vmail -r -g 2222 -u 2222 -d /var/vmail -m -c "mail user"
INSTALL POSTFIX
## yum remove exim sendmail ## yum install postfix cronie
edit postfix main.cf
configuration file
## cp /etc/postfix/main.cf{,.orig} ## vim /etc/postfix/main.cf
queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix unknown_local_recipient_reject_code = 550 alias_maps = hash:/etc/postfix/aliases alias_database = $alias_maps inet_interfaces = all inet_protocols = ipv4 mydestination = $myhostname, localhost.$mydomain, localhost debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.6.6/samples readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES relay_domains = * virtual_alias_maps=hash:/etc/postfix/vmail_aliases virtual_mailbox_domains=hash:/etc/postfix/vmail_domains virtual_mailbox_maps=hash:/etc/postfix/vmail_mailbox virtual_mailbox_base = /var/vmail virtual_minimum_uid = 2222 virtual_transport = virtual virtual_uid_maps = static:2222 virtual_gid_maps = static:2222 smtpd_sasl_auth_enable = yes smtpd_sasl_type = dovecot smtpd_sasl_path = /var/run/dovecot/auth-client smtpd_sasl_security_options = noanonymous smtpd_sasl_tls_security_options = $smtpd_sasl_security_options smtpd_sasl_local_domain = $mydomain broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
create vmail_domains
configuration file. this is where you add your virtual domains.
## vim /etc/postfix/vmail_domains
mydomain.com OK my-otherdomain.com OK
create vmail_mailbox
configuration file. this is where you define your mailboxes.
## vim /etc/postfix/vmail_mailbox
info@mydomain.com mydomain.com/info/ info@my-otherdomain.com my-otherdomain.com/info/
create vmail_aliases
configuration file. this is where you define your virtual aliases.
## vim /etc/postfix/vmail_aliases
info@mydomain.com info@mydomain.com info@my-otherdomain.com foo@bar.tld
hash the configuration files
## postmap /etc/postfix/vmail_domains ## postmap /etc/postfix/vmail_mailbox ## postmap /etc/postfix/vmail_aliases
## touch /etc/postfix/aliases ## vim +/submission /etc/postfix/master.cf
submission inet n - n - - smtpd
INSTALL DOVECOT
## yum install dovecot
edit dovecot dovecot.conf
configuration file
## cp /etc/dovecot/dovecot.conf{,.orig} ## vim /etc/dovecot/dovecot.conf
listen = * ssl = no protocols = imap lmtp disable_plaintext_auth = no auth_mechanisms = plain login mail_access_groups = vmail default_login_user = vmail first_valid_uid = 2222 first_valid_gid = 2222 #mail_location = maildir:~/Maildir mail_location = maildir:/var/vmail/%d/%n passdb { driver = passwd-file args = scheme=SHA1 /etc/dovecot/passwd } userdb { driver = static args = uid=2222 gid=2222 home=/var/vmail/%d/%n allow_all_users=yes } service auth { unix_listener auth-client { group = postfix mode = 0660 user = postfix } user = root } service imap-login { process_min_avail = 1 user = vmail }
create virtual user’s configuration file passwd
. this is where usernames and password hashes will be stored.
## touch /etc/dovecot/passwd ## doveadm pw -s sha1 | cut -d '}' -f2 ## vim /etc/dovecot/passwd
info@mydomain.com:DOzcsKI8HY0bg8LAuz0DPKwS3WA=
## chown root: /etc/dovecot/passwd ## chmod 600 /etc/dovecot/passwd
START SERVICES
## chkconfig postfix on ## chkconfig dovecot on ## service postfix restart ## service dovecot restart
TEST THE SET-UP
Open your favorite e-mail client and configure it to use the newly created info@mydomain.com
account. Try to send/receive an email. If you experience any issues, check if there’s something logged in /var/log/maillog
you can also use swaks
to test your smtp server, for example:
swaks --to support@mydomain.com --from email@address.net
more information about swaks
you can find at man swaks
ADD ANOTHER ACCOUNT
set-up account’s mailbox
## vim /etc/postfix/vmail_mailbox ... support@mydomain.com mydomain.com/support/
set-up account’s alias(es)
## vim /etc/postfix/vmail_aliases ... support@mydomain.com support@mydomain.com
postmap configuration files and restart postfix
## postmap /etc/postfix/vmail_mailbox ## postmap /etc/postfix/vmail_aliases ## service postfix restart
generate password hash and add username:password-hash to passwd file.
## doveadm pw -s sha1 | cut -d '}' -f2 ## vim /etc/dovecot/passwd ... support@mydomain.com:DOzcsKI8HY0bg8LAuz0DPKwS3WA=
This is a simple, but yet very robust mail server set-up on a CentOS 6 VPS which supports SMTP and IMAP without SSL, webmail, anti-spam, anti-virus, filter rules, opendkim etc. However, in the next few related articles, we will be adding additional features to the set-up to make it even yet more powerful, so stay tuned.
- Part 2 – Install and set-up Roundcube webmail interface
- Part 3 – Set-up SSL encrypted connection in Postfix, Dovecot and Apache
- Part 4 – How to install and integrate SpamAssassin with Postfix on a CentOS 6 VPS
- Part 5 – How to install and integrate OpenDKIM with Postfix on a CentOS 6 VPS
- Part 6 – How to set-up server-side email filtering with Dovecot Sieve and Roundcube on a CentOS 6 VPS
Of course, if you are one of our Linux VPS Hosting customers, you don’t have to do any of this, simply ask our admins, sit back and relax. Our admins will set this up for you immediately.
PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.
Please add extra details to install postfix,dovecot,roundcube on ningx+wordpress+w3total cache article
Thanks!
Thanks it works!!!
My configuration details
/etc/postfix/vmail_domains
indianrockers.net OK
/etc/postfix/vmail_mailbox
webmaster@indianrockers.net indianrockers.net/webmaster/
/etc/postfix/vmail_aliases
webmaster@indianrockers.net webmaster@indianrockers.net
When I executed “doveadm pw -s sha1 | cut -d ‘}’ -f2” I was asked for a password. I entered a password and confirmed it. Then I got a hash value.
I opened /etc/dovecot/passwd and entered as follows.
webmaster@indianrockers.net:THEHASHVALUEIGOT
In Thunderbird,
Your name : IndianRockers
Email address : webmaster@indianrockers.net
Password : Which I provided before getting the hash value.
Error : Configuration could not be verified – is the username or password wrong?
What am I doing wrong?
Maillog
Mar 2 02:14:09 indianrockers dovecot: imap-login: Login: user=, method=PLAIN, rip=***.***.***.***, lip=107.150.12.23, mpid=4262
Mar 2 02:14:09 indianrockers dovecot: imap(webmaster@indianrockers.net): Error: chdir(/var/vmail/indianrockers.net/webmaster/) failed: Permission denied (euid=2222(<u$
Mar 2 02:14:09 indianrockers dovecot: imap(webmaster@indianrockers.net): Error: chdir(/var/vmail/indianrockers.net/webmaster) failed: Permission denied
Mar 2 02:14:09 indianrockers dovecot: imap(webmaster@indianrockers.net): Error: user webmaster@indianrockers.net: Initialization failed: Initializing mail storage fro$
Mar 2 02:14:09 indianrockers dovecot: imap(webmaster@indianrockers.net): Error: Invalid user settings. Refer to server log for more information.
Could you please post the output of below commands:
# id vmail
# ls -dl /var/vmail
# ls -dl /var/vmail/vmail1
# dovecot -n
Hi, I am getting the same error as @mayasl mentioned. Here is what you asked for.
#id vmail
uid=2222(vmail) gid=2222(vmail) groups=2222(vmail)
#ls -dl /var/vmail
drwx——. 2 vmail vmail 4096 Apr 20 22:01 /var/vmail
#ls -dl /var/vmail/vmail1
ls: cannot access /var/vmail/vmail1: No such file or directory
#dovecot -n
# 2.0.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-431.11.2.el6.i686 i686 CentOS release 6.5 (Final) ext4
auth_mechanisms = plain login
default_login_user = vmail
disable_plaintext_auth = no
first_valid_gid = 2222
first_valid_uid = 2222
listen = *
mail_access_groups = vmail
mail_location = maildir:/var/vmail/%d/%n
passdb {
args = scheme=SHA1 /etc/dovecot/passwd
driver = passwd-file
}
protocols = imap lmtp
service auth {
unix_listener auth-client {
group = postfix
mode = 0660
user = postfix
}
user = root
}
service imap-login {
process_min_avail = 1
user = vmail
}
ssl = no
userdb {
args = uid=2222 gid=2222 home=/var/vmail/%d/%n allow_all_users=yes
driver = static
}
Can you please help me. I have no idea where It went wrong
Using Centos 6.5, postfix 2.6.6, dovecot 2.0.9 I need to add the following into dovecot.conf
service auth {
unix_listener auth-client {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-master {
group = vmail
mode = 0660
user = vmail
}
}
Followed Part 1 to 3 of this blog. Can’t seem to login via roundcube. Always get ‘Login failed’ error. Complete Linux newbie, so please advise how to troubleshoot/investigate further. Thank you.
Make sure you complete all the steps correctly.
Also, you could enable imap_debug in the main.inc.php and post the log of an attempted login.
Found out what was wrong. I deviated a little from the steps above. I put my custom config of dovecot in local.conf instead of dovecot.conf but forgot to uncomment the last line of dovecot.conf which includes configuration in local.conf.
I have another question regarding roundcube webmail that I hope you can assist with. I deviated the configuration of postfix/dovecot a little (based on library.linode.com/email/postfix/postfix2.9.6-dovecot2.0.19-mysql) to store virtual domains, virtual accounts, passwords and virtual aliases in MySQL database. I understand roundcube webmail comes with password plugin that can allow user to change their passwords via the roundcube webmail interface and that it supports accounts/passwords stored in MySQL. Just not sure how to configure the plugin to fit with the MySQL schema as listed in the linode article.
you have to enable the
password plugin
in your roundcube and configure it properly to match the db schema you are using. please checkhttp://trac.roundcube.net/browser/github/plugins/password/README
for more information.404 error for the link given .
http://trac.roundcube.net/browser/github/plugins/password/README
Roundcube have moved their old wiki to GitHub. Here’s the new link:
https://github.com/roundcube/roundcubemail/blob/master/plugins/password/README
Thank you for letting us know.
This guide is very sweet and it makes it very easy to get a server going.
I have both an issue and a concern though.
First of all: “relay_domains = *” sounds like a terribly bad idea, but I’m not really sure, I guess it won’t matter when login is required as specified by “auth_mechanisms = plain login”
Now my issue which has nothing to do with the above:
postfix expects /var/vmail/%d/%u to be a file and dovecot sets it up as a directory. What do I do here? Postfix can’t deliver e-mail because %d/%u is a directory and not a file. If I delete it and create it the mail is delivered but I cannot log in to the IMAP server.
About “relay_domains = *”; You need to add the list of the domains your server will relay mail to, e.g:
relay_domains = your-domain1.com, your-domain2.com
As for the ‘mail_location’ problem, can you please provide us with your ‘/etc/dovecot/dovecot.conf’ Dovecot configuration file?
Did part 1
Went fine but cannot check mail server connection since i get the following:
“Log onto incoming mail server (POP3): Outlook cannot connect to your incoming (POP3) e-mail server. If you continue to receive this message, contact your server administrator or Internet service provider (ISP).”
cat /var/log/maillog gives this:
warning: maildir access problem for UID/GID=2222/2222: create maildir file /var/vmail/prosyde.net/info/tmp/1394210401.P2283.prosyde-mail: Permission denied
checked /var/vmail and it is ok
drwxrwxrwx. 2 vmail vmail 4096 Mar 7 11:47 /var/vmail
What did i do wrong?
Regards
Something is not configured OK. Re-check your dovecot and postfix configuration files and make sure they use UID/GID 2222 to manage the mailboxes in
/var/vmail
I think my previous comment didn’t go through. I have done all you have asked but when I try to log in using thunderbird, I get an error saying: “error : Configuration could not be verified – is the username or password wrong?”
What could be the problem? Are you sure the password hashing is correct?
Do you see any error messages in your mail logs?
Yes. Here is the error I get.
pastebin.com/Uc9MhqAD
Can you please help me? I am trying your tutorial on a fresh install VPS, running CentOS 6.5, 32but, Minimal, running postfix, devcot. Simply, server and A record and MX record wise everything is going smoothly.
Please check your ‘/var/vmail’ directory permissions, or provide us with the output of the following command:
ls -al /var/vmail
Ok, I reinstalled my VPS for the 4th time, and followed again your tutorials, still the same error for one week. Here is the output for `ls -al /var/vmail`
[root@simon /]# ls -al /var/vmail
total 20
drwxrwxrwx. 2 vmail vmail 4096 Apr 23 16:28 .
drwxr-xr-x. 18 root root 4096 Apr 23 16:28 ..
-rwxrwxrwx. 1 vmail vmail 18 Jul 18 2013 .bash_logout
-rwxrwxrwx. 1 vmail vmail 176 Jul 18 2013 .bash_profile
-rwxrwxrwx. 1 vmail vmail 124 Jul 18 2013 .bashrc
[root@simon /]#
I’m convinced this method does NOT work for CentOs 6.5. I wish I had known that a week ago. Please include that in your tutorial to save some people time, and yourself same questions. I will check back one more time.
Thanks for the reply.
We double-checked the tutorial and can confirm that it is working on CentOS 6.5. These are the correct permissions:
# ls -al /var/vmail/
total 24
drwx—— 3 vmail vmail 4096 Apr 24 04:24 .
drwxr-xr-x 22 root root 4096 Apr 24 04:09 ..
-rw-r–r– 1 vmail vmail 18 Jul 18 2013 .bash_logout
-rw-r–r– 1 vmail vmail 176 Jul 18 2013 .bash_profile
-rw-r–r– 1 vmail vmail 124 Jul 18 2013 .bashrc
drwx—— 3 vmail vmail 4096 Apr 24 04:24 mydomain.com
Please read the tutorial very carefully and make sure you follow the simple instructions. Of course, you don’t have to do any of this if you use one of our Linux VPS Hosting services, in which case you can simply ask our expert Linux admins to install this for you.
Thanks.
Apr 27 19:11:37 abc postfix/virtual[478563]: 330822209AE: to=, relay=virtual, delay=0.92, delays=0.81/0.01/0/0.1, dsn=2.0.0, status=sent (delivered to mailbox)
postfix delivering but not showing while connected via pop3
Re-check your dovecot configuration and the location of your emails.
dovecot
mail_location = maildir:/var/gmail/%d/%n
postfix
virtual_mailbox_base = /var/gmail
It finally worked. Here is the trick. Don’t create e-mail account with the same name as one described in MYDOMAIN=
If your MYDOMAIN=foobartar.com
then creating any-email@foobartar.com will cause some problems.
Why is it that If I use
DOMAIN=web101.com
then I won’t be able to receive any email created for that domain? Do you have a solution for this? With other domains everything works, but not for the domain mentioned. I would love to know a work-around for this.Thanks.
Hi, simon.
Unfortunately, we are not sure what exactly are you talking about? How did you mean if you use
web101 . com
you are not able to receive emails? What error message did you get? Did you check your mailserver log file? Are you sure you have your MX records set-up correctly?You need to provide more information and relevant sections from your log files so we can help.
In your tutorial above, you have wrote a line where it says
# DOMAIN=mydomain.com
I substituted the above with my domain name. Let just say my domain is web101.com. So, according to your instructions, my I set
# DOMAIN=web101.com
So, now the problem is that I created an email for that domain. ex: info@web101.com, contact@web101.com … in the same way I created for other domains. But, all those emails associated for the domain web101.com do not work. Including those I mentioned.
Everything is OK with the tutorial and you may be doing something wrong. We do not know what exactly you’ve done and how you configured your services. Please feel free to sign-up for one of our VPS hosting plans at https://www.rosehosting.com/linux-vps-hosting/ and some of our admins will install and set-up a mailserver for you.
First thank you for writing this awesome tutorial.
I have followed the steps, and most of it seems to work fine. I have sent an email to my address and it appears on my maillog without error. My only problem is nothing is generated in the actual virtual_mailbox_base folder, it stays empty. my postfix config
below is what appeared in my log
May 22 05:54:45 styluxinc postfix/smtpd[20782]: A9E2274B81: client=mail-oa0-f54.google.com[209.85.219.54]
May 22 05:54:45 styluxinc postfix/cleanup[20786]: A9E2274B81: message-id=
May 22 05:54:45 styluxinc postfix/qmgr[20777]: A9E2274B81: from=, size=2379, nrcpt=1 (queue active)
May 22 05:54:45 styluxinc postfix/local[20787]: A9E2274B81: to=, relay=local, delay=0.14, delays=0.13/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
May 22 05:54:45 styluxinc postfix/qmgr[20777]: A9E2274B81: removed
Hey!
Can I pls get some help regarding MX records?
I don´t know how to configure it, should I put the MX records in both zone files or just one of them?
And what should I type?
I know it should be something like:
name IN MX [Preference number] host
But what should be in the name column and what should be in the host column, PLS HELP!! Soooo confused :(
You need to edit the forward zone containing authoritative information for your domain.
name – usually it is your domain name (this name appears after the ‘@’ in an email address).
host – a hostname or FQDN (not IP address) of a mail server that will accept mail.
Please note, the DNS specification (RFC 2181) does not allow for an MX record to be a CNAME.
Hi ..!!
i have installed/configured postfix mail server and now i want to send mass mails, is there option to break those bulk mails into single mails and queue 1000 recipients to one after the other ?
Hi!
First of all – this is really great tutorial. I’ve been able to install everything without any problems.
I can login via imap to my email account, but I can’t receive any email. I think i have the same problem as Steen had. In my error log it says:
delivery failed to mailbox /var/vmail/testdomain.pl/test: cannot open file: Is a directory
How to fix this error?
Please execute the following commands on your server and provide us with the output:
cat /etc/postfix/vmail_mailbox
ls -al /var/vmail/testdomain.pl/
This problem will occur if you miss the trailing slash for a directory name in
/etc/postfix/vmail_mailbox
Meaning add the / at the end of mailbox? Because I did, and I’m still getting that error.
cat /etc/postfix/vmail_mailbox
my@domain.name domain.name/my/
Please execute the following command on your server and provide us with the output:
ls -al /var/vmail/domain.name/
I`m using CentOS 6.4 x64 and I just finished with tutorial – from one with installing LAMP, thru this one.
All worked fine except one little change in config file of postfix (maybe new version or something).
I sent test mail and received it in inbox on yahoo (not going in SPAM folder – YAY, my MX record is working great), but when I did reply – mail delivery system returned mail to yahoo saying: unknow user: xxxx …
Then I just changed one line in /etc/postfix/main.cf :
mydestination = localhost
and it`s working great xD
Thx for making this wonderfull tutorial, I will bookmark it for life! Cheers!!!
All works. Thanks. But why does every message I send to any domain other than my own, gets sent to spam folder?
hi simon,
most mail servers require you to at-least have valid rDNS (PTR) record, valid SPF/TXT record and valid digital signatures (DKIM) set-up, otherwise they will consider your emails as spam.
to fix this, make sure you follow the guide at https://www.rosehosting.com/blog/how-to-install-and-integrate-opendkim-with-postfix-on-a-centos-6-vps/ so you can enable DKIM and set-up SPF record for your domain. Also, make sure you have valid rDNS record for your server’s IP.
let us know how it goes
The BEST tutorial!
I try from years! Many tutorials. But all of them Not working prorerly/all or part of them/
This is first tutorial which working OK! Mails rich their destination even without SPF and reverse DNS
Thanks!
After creating the file aliases, I needed to generate the hash for the file with postalias command. Without that postfix was crashing by the time I tried send an email.
## touch /etc/postfix/aliases
## postalias /etc/postfix/aliases
Thank You For Your tutorial. I tried it step by step, but still have some problems~My system OS is CentOS6.5~I can login and send Email successfuly, but I could not receive email correctly><There's nothing in my inbox~When I send an email from other web servers such as gmail, It shows that mail has been sent succestifully , but still nothing in my inbox… Anyone has the same problem?
Do you see any errors in
/var/log/maillog
? Did you set the dovecotmail_location
correctly?email delivered but its not show on inbox ?
Thanks for advanced
hi,
verify you’ve configured postfix and dovecot correctly, check your ‘mail_location’ and check if the email is stored there. also, please post relevant lines from the log file so we can help.
thanks
I am also having trouble with receiving mail. It doesn’t seem like nobody ever gets a working solution cause they don’t know how to reply. Anyways, if I could get some help that’d be great.
Currently my mail_location is set to: ‘mail_location = maildir:/var/vmail/%d%n’
When I send test emails from gmail to server email, it doesn’t return with any error at all.
This here is out of the /var/log/maillog:
Oct 13 12:45:44 localhost postfix/smtpd[981]: initializing the server-side TLS engine
Oct 13 12:45:44 localhost postfix/smtpd[981]: connect from unknown[unknown]
Oct 13 12:45:44 localhost postfix/smtpd[981]: lost connection after CONNECT from unknown[unknown]
Oct 13 12:45:44 localhost postfix/smtpd[981]: disconnect from unknown[unknown]
There is nothing out of the ordinary in the entire log, as I just cleared it to, so I can be more precise to see how the logs are performing upon me sending an email from gmail.
Currently in cloudflare, here is what I got setup: http://i.imgur.com/HDrvJbd.png
I have followed all 6 tutorials on the web mail setup exactly.
Please if you could, inform me on what I can do to resolve this issue.
Added:
So I got a relay message back from Google now, this is what it displays: http://puu.sh/cbsm1/d5e22b04fd.png
Please check if the email is stored in the ‘mail_location’ directory (/var/vmail/).
Thanks for your great tutorial. Best one I’ve seen so far. I’ve set up everything and seems to be working fine. I want to retrieve my mails using gmail pop3 but I get a connection refused error on gmail. I assume because pop3 isn’t added on the dovecoat protocols. When I add it and try again I get a ‘authentication failed’ on gmail. Any idea what am doing wrong?
Make sure you use correct username/password for your email account.
Jan 31 15:44:34 xxxxxx postfix/qmgr[24552]: E7E343A479: from=, size=3100, nrcpt=2 (queue active)
Jan 31 15:44:34 xxxxxxx postfix/local[24706]: E7E343A479: to=, relay=local, delay=0.63, delays=0.57/0.03/0/0.03, dsn=2.0.0, status=sent (delivered to mailbox)
Jan 31 15:44:34 xxxxxxx postfix/local[24707]: E7E343A479: to=, relay=local, delay=0.7, delays=0.57/0.05/0/0.07, dsn=2.0.0, status=sent (delivered to mailbox)
mail is delivering. but not fetching new mails via thunderbird
Re-check your Dovecot and Postfix configuration and the location of your emails. Check your ‘mail_location’ and check if the email is stored there.
Thanks.
sir plz help me to fetch email via thunderbird. postfix shows that mail delivered to mailbox. postconf -n and dovecot.conf are pasted below. i can’t findout anything wrong…
postconf -n
alias_database = $alias_maps
alias_maps = hash:/etc/postfix/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
relay_domains = *
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_path = /var/run/dovecot/auth-client
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_type = dovecot
smtpd_tls_cert_file = /etc/pki/tls/certs/plusmail.in.crt
smtpd_tls_key_file = /etc/pki/tls/private/plusmail.in.key
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/gmail_aliases
virtual_gid_maps = static:2222
virtual_mailbox_base = /var/gmail
virtual_mailbox_domains = hash:/etc/postfix/gmail_domains
virtual_mailbox_maps = hash:/etc/postfix/gmail_mailbox
virtual_minimum_uid = 2222
virtual_transport = virtual
virtual_uid_maps = static:2222
dovecot conf
listen = *
ssl = yes
ssl_cert = </etc/pki/tls/certs/plusmail.in.crt
ssl_key = </etc/pki/tls/private/plusmail.in.key
protocols = imap lmtp pop3
disable_plaintext_auth = no
auth_mechanisms = plain login
mail_access_groups = gmail
default_login_user = gmail
first_valid_uid = 2222
first_valid_gid = 2222
#mail_location = maildir:~/Maildir
mail_location = maildir:/var/gmail/%d/%n
#mail_location=mbox:/mail:INBOX=/var/gmail/%d/%n
passdb {
driver = passwd-file
args = scheme=SHA1 /etc/dovecot/passwd
}
userdb {
driver = static
args = uid=2222 gid=2222 home=/var/gmail/%d/%n allow_all_users=yes
}
service auth {
unix_listener auth-client {
group = postfix
mode = 0660
user = postfix
}
user = root
}
service imap-login {
process_min_avail = 1
user = gmail
}
Great tutorial. Probably the best anyone can find for setting up email server on the web. Small error on your part. You have left out `vim /etc/postfix/vmail_domains` and `postmap /etc/postfix/vmail_domains` command for the section “Add another account” and this is what is causing many people commenting about various issues, and you keep saying they should check their setting .. Please include that to avoid further confusion. Once again, best guide ever.
Thank you for your kind words Simon.
We left out the lines you mentioned because we assume that the user following this article has already configured the virtual domains that he needs in the /etc/postfix/vmail_domains file. Of course it goes without saying that a new virtual domain needs to be added along with the email account and alias before postmapping the configuration files.
Excellent series of articles, thank you.
Great tutorial. Worked first time. Many thanks!
on a bare install of CentOS 7, I struggled for hours with this:
Nov 20 01:59:36 post dovecot: imap(xxxx@xxxx.com): Error: user xxxx@xxxx.com: Initialization failed: Initializing mail storage from mail_location setting failed: mkdir(/var/vmail/xxxx.com/xxxx) failed: Permission denied (euid=2222(vmail) egid=2222(vmail) missing +w perm: /var/vmail, euid is not dir owner)
The permissions were in fact correct, the users and groups created correctly. I thought to myself, what could happen with permissions here that I don’t understand (I’ve been at this *nix game a while. )
Turns out, I had to disable SElinux.
Hope this helps someone.
Thanks for the great tutorials!
This tutorial is very very good!!! help me a lot.
I successfully run the service on Centos 6.5, but when I move on to Centos 6.7 I got the permission denied problem.
@Mack Allison,
Thanks your for big help by pointing out the solution of SELinux.
Disabled SELinux or set it to permissive mode both can fix the problem.
Thanks to both of you!
I prefer to leave selinux enabled. To fix this problem I did:
## chcon -R system_u:object_r:mail_spool_t:s0 /var/vmail
Great information there, I just had a small issue that mentioned above in the commends, The mail_location must be same in configs. I had to change mail_location = maildir:/var/vmail/%d/%n in file /etc/dovecot/conf.d/10-mail.conf to be able to read messages via thunderbird or any other client.
Excellent! Thank you so much – I have tried a number of similar articles and blogs trying to get virtual users and domains setup properly between postfix and dovecot, and yours is the one that filled in the gaps, and at the same time is the simplest!
BTW, works fine on CentOS 7 too, except change the chkconfig and service commands to systemctl, but fine apart from that.
Hi,
I have multiple MX records with different priority
2 myCentOS7server. com xxx.xx.xx.xx
1 aspmx.l.google. com 74.125.133.26 (no glue)
I am trying to set mail server on myCentOS7server. com machine, I followed the document till last and tried to test this with below command
swaks –to support@mydomain. com –from info@mydomain. com
I got below after this command, and thunderbird is not recognizing the user email. Please help !!
[root@server2 ~]# swaks –to support@mydomain. com –from info@mydomain. com
=== Trying aspmx.l.google. com:25…
=== Connected to aspmx.l.google. com.
EHLO server2.mydomain. com
<- 250-mx.google. com at your service, [XXX.XX.XXX.XXX]
<- 250-SIZE 157286400
<- 250-8BITMIME
<- 250-STARTTLS
<- 250-ENHANCEDSTATUSCODES
<- 250-PIPELINING
<- 250-CHUNKING
MAIL FROM:
RCPT TO:
<** 550-5.1.1 The email account that you tried to reach does not exist. Please try
<** 550-5.1.1 double-checking the recipient's email address for typos or
<** 550-5.1.1 unnecessary spaces. Learn more at
QUIT
<- 221 2.0.0 closing connection c5si1527112edj. 392 – gsmtp
=== Connection closed with remote host.
[root@server2 ~]#
[root@server2 ~]# swaks –to info@mydomain. com –from support@mydomain. com
=== Trying aspmx.l.google. com:25…
=== Connected to aspmx.l.google. com.
EHLO server2.mydomain. com
<- 250-mx.google. com at your service, [XXX.XX.XXX.XXX]
<- 250-SIZE 157286400
<- 250-8BITMIME
<- 250-STARTTLS
<- 250-ENHANCEDSTATUSCODES
<- 250-PIPELINING
<- 250-CHUNKING
MAIL FROM:
RCPT TO:
<** 550-5.1.1 The email account that you tried to reach does not exist. Please try
<** 550-5.1.1 double-checking the recipient's email address for typos or
<** 550-5.1.1 unnecessary spaces. Learn more at
QUIT
<- 221 2.0.0 closing connection x56si1388327edd.171 – gsmtp
=== Connection closed with remote host.
Hi Shobhit,
We cannot tell you for sure what is causing the problem because we don’t have access to your sever.
You should check the mail server log files for more details.
Hi,
I created 2 email accounts yesterday (info@mydomain.com & support@mydomain.com). I tried adding these mail accounts on Thunderbird today, and it worked. I can send/receive mails via Thunderbird between these two accounts.
Now, I tried creating another account (Shobhit_Agarwal@mydomain.com) using the same process, as mentioned in the document. Next I tried below command and got below reply, which shows the new mailbox is sending the messages
[root@server2 ~]# swaks –to Shobhit_Agarwal@mydomain.com –from info@mydomain.com
=== Trying aspmx.l.google.com:25…
=== Connected to aspmx.l.google.com.
EHLO server2.mydomain.com
<- 250-mx.google.com at your service, [XXX.XX.XXX.XXX]
<- 250-SIZE 157286400
<- 250-8BITMIME
<- 250-STARTTLS
<- 250-ENHANCEDSTATUSCODES
<- 250-PIPELINING
<- 250-CHUNKING
MAIL FROM:
RCPT TO:
DATA
Date: Thu, 24 Aug 2017 12:08:42 +0530
-> To: Shobhit_Agarwal@mydomain.com
-> From: info@mydomain.com
-> Subject: test Thu, 24 Aug 2017 12:08:42 +0530
-> Message-Id:
-> X-Mailer: swaks v20170101.0 jetmore.org/john/code/swaks/
->
-> This is a test mailing
->
-> .
QUIT
<- 221 2.0.0 closing connection a61si3341241ede.223 – gsmtp
=== Connection closed with remote host.
But, the issue is I am not able to configure this new mail account on the Thunderbird, it is saying "Username or Password is not correct), Does it takes time for the configuration settings to take effect after we create a new mail account?
Below is the log from (/var/log/maillog) .
Aug 24 01:33:38 server2 postfix/smtpd[30133]: connect from unknown[89.248.160.232]
Aug 24 01:33:40 server2 postfix/smtpd[30133]: warning: unknown[89.248.160.232]: SASL LOGIN authentication failed: UGFzc3dvcmQ6
Aug 24 01:33:40 server2 postfix/smtpd[30133]: disconnect from unknown[89.248.160.232]
Aug 24 01:33:52 server2 dovecot: imap-login: Disconnected (auth failed, 3 attempts in 14 secs): user=, method=PLAIN, rip=52.230.27.222, lip=XXX.XXX.XXX.XXX, session=
Aug 24 01:34:52 server2 postfix/smtpd[30133]: warning: hostname b3d9bc49.virtua.com.br does not resolve to address 179.217.188.73: Name or service not known
Aug 24 01:34:52 server2 postfix/smtpd[30133]: connect from unknown[179.217.188.73]
Aug 24 01:34:56 server2 postfix/smtpd[30133]: warning: unknown[179.217.188.73]: SASL LOGIN authentication failed: UGFzc3dvcmQ6
Aug 24 01:34:56 server2 postfix/smtpd[30133]: disconnect from unknown[179.217.188.73]
Aug 24 01:35:39 server2 postfix/smtpd[30133]: warning: hostname mta-89-248-160-232.mairtek.com does not resolve to address 89.248.160.232: Name or service not known
Please suggest!!
Hi,
I created 2 mail accounts (info@mydomain.com & support@mydomain.com), I tired configuring these 2 mail accounts on Thunderbird mail client and it worked for me. I can send/receive emails between these 2 accounts.
I tried creating another email account following the steps in the later half of this post and tried configuring this new email account on Thunderbird, this time gave me error “Username or Password in unknown”. Does it take some time for the changes to reflect?
Please double-check that you enter the correct username and password.
Hello,
I am not sure what changed in my CentOS 7 server in last 3 days, i was able to configure and send/receive emails, now I am not able to configure my thunderbird mail client for any email account. It is giving me error as “Configuration could not be verified – is the username or password wrong?”
Please help!!
Thanks
log from “tail -30 /var/log/maillog” is
Aug 30 23:48:13 server2 postfix/smtpd[5861]: disconnect from unknown[52.230.27.222]
Aug 30 23:48:18 server2 dovecot: imap-login: Login: user=, method=PLAIN, rip=52.230.27.222, lip=169.50.182.148, mpid=6031, session=
Aug 30 23:48:18 server2 dovecot: imap(support@waterlilypond.co.uk): Error: user support@waterlilypond.co.uk: Initialization failed: Namespace ”: mkdir(/var/vmail/waterlilypond.co.uk/support) failed: Permission denied (euid=2222(vmail) egid=2222(vmail) missing +w perm: /var/vmail/waterlilypond.co.uk, UNIX perms appear ok (ACL/MAC wrong?))
Aug 30 23:48:18 server2 dovecot: imap(support@waterlilypond.co.uk): Error: Invalid user settings. Refer to server log for more information.
Aug 30 23:48:21 server2 dovecot: imap-login: Login: user=, method=PLAIN, rip=52.230.27.222, lip=169.50.182.148, mpid=6051, session=
Aug 30 23:48:21 server2 dovecot: imap(support@waterlilypond.co.uk): Error: user support@waterlilypond.co.uk: Initialization failed: Namespace ”: mkdir(/var/vmail/waterlilypond.co.uk/support) failed: Permission denied (euid=2222(vmail) egid=2222(vmail) missing +w perm: /var/vmail/waterlilypond.co.uk, UNIX perms appear ok (ACL/MAC wrong?))
Aug 30 23:48:21 server2 dovecot: imap(support@waterlilypond.co.uk): Error: Invalid user settings. Refer to server log for more information.
Aug 30 23:48:33 server2 postfix/smtpd[6066]: warning: hostname supvigor.com.tw does not resolve to address 203.70.57.17
Aug 30 23:48:33 server2 postfix/smtpd[6066]: connect from unknown[203.70.57.17]
Aug 30 23:48:38 server2 postfix/smtpd[6066]: warning: unknown[203.70.57.17]: SASL LOGIN authentication failed: UGFzc3dvcmQ6
Aug 30 23:48:38 server2 postfix/smtpd[6066]: disconnect from unknown[203.70.57.17]
Aug 30 23:49:14 server2 postfix/smtpd[6130]: connect from unknown[52.230.27.222]
Aug 30 23:49:14 server2 postfix/smtpd[6066]: connect from unknown[52.230.27.222]
Aug 30 23:49:14 server2 postfix/smtpd[5861]: connect from unknown[52.230.27.222]
Aug 30 23:49:14 server2 postfix/smtpd[6129]: connect from unknown[52.230.27.222]
Aug 30 23:49:14 server2 dovecot: imap-login: Aborted login (no auth attempts in 0 secs): user=, rip=52.230.27.222, lip=169.50.182.148, session=
Aug 30 23:49:14 server2 dovecot: imap-login: Aborted login (no auth attempts in 0 secs): user=, rip=52.230.27.222, lip=169.50.182.148, session=
Aug 30 23:49:14 server2 postfix/smtpd[6130]: disconnect from unknown[52.230.27.222]
Aug 30 23:49:14 server2 postfix/smtpd[6066]: disconnect from unknown[52.230.27.222]
Aug 30 23:49:14 server2 postfix/smtpd[5861]: disconnect from unknown[52.230.27.222]
Aug 30 23:49:14 server2 postfix/smtpd[6129]: disconnect from unknown[52.230.27.222]
Aug 30 23:49:25 server2 dovecot: imap-login: Login: user=, method=PLAIN, rip=52.230.27.222, lip=169.50.182.148, mpid=6138, session=
Aug 30 23:49:25 server2 dovecot: imap(shobhit@waterlilypond.co.uk): Error: user shobhit@waterlilypond.co.uk: Initialization failed: Namespace ”: mkdir(/var/vmail/waterlilypond.co.uk/shobhit) failed: Permission denied (euid=2222(vmail) egid=2222(vmail) missing +w perm: /var/vmail/waterlilypond.co.uk, UNIX perms appear ok (ACL/MAC wrong?))
Aug 30 23:49:25 server2 dovecot: imap(shobhit@waterlilypond.co.uk): Error: Invalid user settings. Refer to server log for more information.
Aug 30 23:49:28 server2 dovecot: imap-login: Login: user=, method=PLAIN, rip=52.230.27.222, lip=169.50.182.148, mpid=6158, session=
Aug 30 23:49:28 server2 dovecot: imap(shobhit@waterlilypond.co.uk): Error: user shobhit@waterlilypond.co.uk: Initialization failed: Namespace ”: mkdir(/var/vmail/waterlilypond.co.uk/shobhit) failed: Permission denied (euid=2222(vmail) egid=2222(vmail) missing +w perm: /var/vmail/waterlilypond.co.uk, UNIX perms appear ok (ACL/MAC wrong?))
Aug 30 23:49:28 server2 dovecot: imap(shobhit@waterlilypond.co.uk): Error: Invalid user settings. Refer to server log for more information.
Aug 30 23:49:32 server2 postfix/smtpd[5861]: connect from unknown[52.230.27.222]
Aug 30 23:49:32 server2 dovecot: imap-login: Aborted login (no auth attempts in 0 secs): user=, rip=52.230.27.222, lip=169.50.182.148, session=
Aug 30 23:49:32 server2 postfix/smtpd[5861]: disconnect from unknown[52.230.27.222]
Looks like a SELinux issue. You can either disable SELinux or change the policy.
Hi,
So, it seemed like the first issue is resolved now.
I tried creating virtual email accounts (pqr@waterlilypond.co.uk)using below commands :
vim /etc/postfix/vmail_mailbox
vim /etc/postfix/vmail_aliases
and then created a hash password for my new email account and saved it in (vim /etc/dovecot/users).
Then I tried, checking if my postfix is working for this newly created account. I test this by sending a Test email from root account (using below command), and the mail successfully reached my new mail directory inside (/var/v_mail/vhosts/waterlilypond.co.uk/pqr/new)
echo “Test mail from postfix” | mail -s “Test Postfix” pqr@waterlilypond.co.uk
Now, i tried configuring my mail client (Thunderbird) again from my desktop . It gave me same error as before : Error : Configuration could not be verified – is the username or password wrong?
After this i checked my maillog file but, didn’t see any log for authentication issue, rather below are the logs when i tried connecting my mail client.
Sep 1 00:28:01 server2 postfix/smtpd[24448]: warning: hostname abts-kk-dynamic-141.217.171.122-airtelbroadband.in does not resolve to address 122.171.217.141: Name or service not known
Sep 1 00:28:01 server2 postfix/smtpd[24448]: connect from unknown[122.171.217.141]
Sep 1 00:28:01 server2 postfix/smtpd[24454]: warning: hostname abts-kk-dynamic-141.217.171.122-airtelbroadband.in does not resolve to address 122.171.217.141: Name or service not known
Sep 1 00:28:01 server2 postfix/smtpd[24454]: connect from unknown[122.171.217.141]
Sep 1 00:28:01 server2 postfix/smtpd[24448]: improper command pipelining after EHLO from unknown[122.171.217.141]: QUIT\r\n
Sep 1 00:28:01 server2 postfix/smtpd[24448]: disconnect from unknown[122.171.217.141]
Sep 1 00:28:01 server2 postfix/smtpd[24454]: disconnect from unknown[122.171.217.141]
Sep 1 00:28:01 server2 postfix/smtpd[24449]: warning: hostname abts-kk-dynamic-141.217.171.122-airtelbroadband.in does not resolve to address 122.171.217.141: Name or service not known
Sep 1 00:28:01 server2 postfix/smtpd[24449]: connect from unknown[122.171.217.141]
Sep 1 00:28:01 server2 postfix/smtpd[24452]: warning: hostname abts-kk-dynamic-141.217.171.122-airtelbroadband.in does not resolve to address 122.171.217.141: Name or service not known
Sep 1 00:28:01 server2 postfix/smtpd[24452]: connect from unknown[122.171.217.141]
Sep 1 00:28:01 server2 postfix/smtpd[24449]: improper command pipelining after EHLO from unknown[122.171.217.141]: QUIT\r\n
Sep 1 00:28:01 server2 postfix/smtpd[24449]: disconnect from unknown[122.171.217.141]
Sep 1 00:28:02 server2 postfix/smtpd[24452]: disconnect from unknown[122.171.217.141]
Please suggest, how can i check if my dovecot is working fine?
Thanks,
Shobhit
Hello Shobhit, the Dovecot logs should give you more information about the problem.
Hi, I figured it out and it was a permission issue under “vmail” directory. The issue is resolved now. Many thanks for pointing me to the correct direction.
I now have one more problem.
One of the user “abc@mydomain.com” is using G-suit as an email provider. So, I don’t want to create this user in my vmail_mailbox and continue with his g-suit. I have multiple MX records, first preference is being used by Google, second preference MX record is given to my CentOS mail server.
The issue is, when I am trying to send email from any user hosted on CentOS mail server with @mydomain.com it is not sending the mail to abc@mydomain.com, because it is trying to search the vmailbox where this user doesn’t exist. However we can receive mails from abc@mydomain.com.
Also, I can send/receive email from outside domain to abc@mydomain.com.
How can I force my postfix configuration, so that it should check all the MX records for all the users, so that if some users with the same domain (@mydomain.com) is using a different email provider and other users hosted inside vmailbox file can communicate with each other?
My current postfix main.cf is
alias_database = $alias_maps
alias_maps = hash:/etc/postfix/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
default_process_limit = 100
header_size_limit = 51200
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 10485760
mydestination = $myhostname, localhost.$mydomain, localhost
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
queue_minfree = 20971520
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
relay_domains = *
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_client_connection_count_limit = 10
smtpd_client_connection_rate_limit = 30
smtpd_recipient_limit = 100
smtpd_recipient_restrictions = reject_unauth_pipelining,reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,permit
smtpd_relay_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_path = /var/run/dovecot/auth-client
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_sender,reject_unknown_sender_domain,permit
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/postfix/GeoTrustSSL/waterlilypond.crt
smtpd_tls_key_file = /etc/postfix/GeoTrustSSL/waterlilypond.key
smtpd_tls_loglevel = 0
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/vmail_aliases
virtual_gid_maps = static:2223
virtual_mailbox_base = /var/v_mail/vhosts
virtual_mailbox_domains = hash:/etc/postfix/vmail_domains
virtual_mailbox_maps = hash:/etc/postfix/vmail_mailbox
virtual_minimum_uid = 2223
virtual_transport = virtual
virtual_uid_maps = static:2223
The MX records need to be directed to a single mail server per domain or sub-domain. You cannot set up different MX records for different email users/accounts.
Hi, my question is how can I force my postfix to use all the MX records? Right now, what i believe is the postfix is only checking the default MX record for local domain.
One user of my our company is using G-Suit as a mail server provider with email “user1@waterlilypond.co.uk”, other users are using the mail server created using postfix/dovecot. There email accounts are created under virtual_mailboxes file eg “user2@waterlilypond.co.uk” and “user3@waterlilypond.co.uk”
The scenarios which are PASSED :
mail from : user2@waterlilypond.co.uk mail to : user3@waterlilypond.co.uk WORKING FINE
mail from : user2@waterlilypond.co.uk mail to : anyuser@anydomai.com WORKING FINE
mail from : user1@waterlilypond.co.uk mail to : user2@waterlilypond.co.uk WORKING FINE
The scenario which is FAILING :
mail from : user2@waterlilypond.co.uk mail to: user1@waterlilypond.co.uk Failing
Error : 5.1.1 : Recipient address rejected : User unknow in virtual mailbox table.
This is because the local mail server is trying to see the virtual mailbox for this user locally, which is not present as it is using G-Suit as email provider. How should I tell my postfix, to check the email address of other mail providers if the email account is not present inside local virtual mailbox?
Please help!!
Please set 0 priority about server2.waterlilypond.co.uk MX record.
Hi,
Thanks for the awesome sharing.
I am done with the setup. I have successfully installed postfix, dovecot, roundcube.
But, when I telnet on port 25, it does not work.
telnet 25
telnet: Unable to connect to remote host: Connection refused
However, from server, I can telnet on port 25 with localhost.
Can you please advise?
I managed to fix it. Thanks
I wanted to create vmail_domains configuration file as given in the tutorial. However the file was not created instead the following message appeared:
-bash-4.1# vim /etc/postfix/vmail_domains
wned by: root dated: Mon Jan 15 23:13:26 2018
file name: /etc/postfix/vmail_domains
modified: no
user name: root host name: mail.biztech-resources.com
process ID: 5494 (still running)
While opening file “/etc/postfix/vmail_domains”
(1) Another program may be editing the same file. If this is the case,
be careful not to end up with two different instances of the same
file when making changes. Quit, or continue with caution.
(2) An edit session for this file crashed.
If this is the case, use “:recover” or “vim -r /etc/postfix/vmail_domains”
to recover the changes (see “:help recovery”).
If you did this already, delete the swap file “/etc/postfix/.vmail_domains.s
wp”
to avoid this message.
Swap file “/etc/postfix/.vmail_domains.swp” already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:
The main.cf does not show this configuration file:
-bash-4.1# ls /etc/postfix
access main.cf master.cf.original transport
canonical main.cf.ORIG master.cf.rpmsave virtual
generic main.cf.rpmsave relocated vmail_mailbox
header_checks master.cf ssl vmail_mailbox.db
Similalry create vmail_aliases configuration file also failed.
I was however successful in creating vmail_mailbox configuration file.
I have CentOS 6.9 based VPS and Postfix version is 2.6.6
I am changing configurations of an old Postfix installed on the VPS to match your configurations. Please help me in getting the configuration files created and moving forward.
As the message says you can simply recover or delete the .swap file.
Many thanks, it was there but I had tunnel vision. Best.
Hi Admin
can you please provide the steps to secure the postfix ?
Regards
Manoj Raul
I would only add to your post the fact that I do not believe that you can forward mail from the virtual address so if you ever want your mail to be redirected, you can not use the USPS to do it from that address not can you use the virtual service to do it. You have to notify everybody you receive mail from about your new address.
I followed this tutorial for a Debian server. One thing kept it from working, frustrating me for a few hours, shown in /var/log/mail.log :
Dec 16 01:57:56 lambda postfix/submission/smtpd[818]: warning: SASL: Connect to /var/spool/postfix/private/auth failed: No such file or directory
Dec 16 01:57:56 lambda postfix/submission/smtpd[818]: fatal: no SASL authentication mechanisms
Turns out that in /etc/postfix/main.cf the smtpd_sasl_path needs a RELATIVE path! looking into other tutorials I found this is usually used:
smtpd_sasl_path = private/auth
together with the dovecot configuration line:
unix_listener /var/spool/postfix/private/auth {
The error seems completely random, complaning about a path that certainly exists, but it really requires a relative path. Might be due to postfix running chrooted or something, I haven’t figured this one out yet as to why it needs to be relative, but if this tutorial fails you with this error message, try this approach.