I'm going through the process of setting up a Discourse forum on my server (Ubuntu 12.04 x64) and am getting stuck at the point where I have to configure mailers.

I'm following Discourse's instructions and am stuck trying to configure postfix for Mandrill. It is says to check my fully-qualified domain name by typing hostname -f

When I enter in hostname -f, I get localhost. As far as I know, entering in hostname -f should return mydomainname.com.

When I just enter in hostname, I get mydomainname which is correct because that is what I set my hostname to in /etc/hostname.

Looking at some of my other settings, my /etc/hosts file reads:       localhost mydomainname
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

And in my /etc/postfix/main.cf file, I have myhostname set like this:

myhostname = mydomainname.mydomainname.com

(Should this be myhostname = mail.mydomainname.com instead?)

And mydestination is the following:

mydestination = mydomainname.com, localhost, localhost.localdomain, localhost

I'm not that familiar with configuring hostnames. I've been reading Postfix's instructions, but haven't been able to figure it out yet.

Any help on how to get this to work would be greatly appreciated. Thanks.

2 Answers 2


There are multiple files involved in setting up a proper Ubuntu server (12.04.x) for email. Here's the list of those as available at the moment in my server.

  • /etc/hosts - This file in my Ubuntu server has the following line, among other lines myhostname.mydomainname.tld myhostname

    Note: Please never touch the line that contains It may be generated and / or updated by the web host upon each reboot.

  • /etc/hostname - This file in my Ubuntu server has the following content.

  • /etc/mailname - This file in my Ubuntu server has the following content.

  • /etc/postfix/main.cf - This file in my Ubuntu server has the following lines, among others...

    myorigin      = /etc/mailname
    myhostname    = myhostname.mydomainname.tld
    mydestination = localhost, myhostname.mydomainname.tld

Once all the above files have the expected content, you may run the following commands to let them all work together while sending emails...

$ sudo hostname -F /etc/hostname
$ sudo service postfix restart

If you have a server, exclusively for email, I'd recommend keeping the hostname as mail. Otherwise, use any hostname and keeping sending the emails as mydomainname.tld using Mandrill.

Make sure, everything works as expected even upon a reboot. You wouldn't want your web host to override any files upon reboot, that may affect the email sending / receiving.

I hope that helps.


Make changes in your /etc/hosts file as below :

<IP>   <FQDN>  <ALIAS>

So in your case it would be :  mail.mydomainname.com  mail

then do following changes :

if you are using Ubuntu:

Edit /etc/hostname and change to the new value,

nano /etc/hostname 

if you are using RHEL/CentOS:

Edit: /etc/sysconfig/network


then you can run following command to apply changes .

hostname mail

then check.

  • Thanks. I edited the /etc/hosts file. Then I tried echo "mail" > /etc/hostname and got -bash: /etc/hostname: Permission denied (even when using sudo). Can I just open up the /etc/hostname and change the hostname to mail? Is it safe to change the name? Oct 20, 2013 at 6:42
  • @JohnKellyFerguson try with sudo or edit file manually Oct 20, 2013 at 6:43
  • I tried sudo echo "mail" > /etc/hostname and got -bash: /etc/hostname: Permission denied. Oct 20, 2013 at 6:44
  • have you tried with manualy edit that file ? Oct 20, 2013 at 6:45
  • I am logged into my server as deploy@myname. When I go to edit the file using sudo, I change myname to mail and then save and exit. I then get a message saying: sudo: unable to resolve host myname. Oct 20, 2013 at 6:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .