Droplet name is in the Mail From instead of domain name

I installed postfix following this tutorial. including edit postfix/ line myhostname = and still recive emails as @ubuntu-s-1vcpu-1gb-lon1-01


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hi @islamkh11,

Have you restarted Postfix after the change?

Additionally, I’ll recommend changing your Hostname as well not only in the Postfix configuration.

To change the hostname of your server, you’ll need to follow 4 quick and easy steps. Let’s begin:

Enter your Droplet

Firstly, you’ll need to SSH to your Droplet with either root or a sudo user. You can do that using the command

ssh root@YourDropletIP

Another way would be using the droplet’s console from your Control Panel with DigitalOcean.

Change the hostname using hostnamectl

The first step once you have entered the droplet would be to use the hostnamectl command. Let’s say we want to name our droplet ‘ExampleName’. To do so, we need to execute the command like so

sudo hostnamectl set-hostname ExampleName

The hostnamectl command does not produce output. On success, 0 is returned, a non-zero failure code otherwise.

Update the /etc/hosts file

Next on our list would be to update the hosts file located in the etc folder. You can use any editor you want from nano, vi, vim.

sudo nano /etc/hosts

In there you’ll see something similar to

# Your system has configured 'manage_etc_hosts' as True.
# As a result, if you wish for changes to this file to persist
# then you will need to either
# a.) make changes to the master file in /etc/cloud/templates/hosts.debian.tmpl
# b.) change or remove the value of 'manage_etc_hosts' in
#     /etc/cloud/cloud.cfg or cloud-config from user-data
# PreviousNameHere localhost

# 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
ff02::3 ip6-allhosts

Change the line which says the following PreviousNameHere

to be ExampleName

Save the file and exit.

Here I want to do a disclaimer, the line PreviousNameHere Will actually contain your previous hostname and not PreviousNameHere.

Edit the cloud.cfg file

It’s possible you have the cloud-init package installed. In such a case, you’ll need to update one last file - /etc/cloud/cloud.cfg.

First, check if the file exists

ls -lah /etc/cloud/cloud.cfg

If the package is installed the output will look like the following:

-rw-r--r-- 1 root root 3.5K May 26 07:01 /etc/cloud/cloud.cfg

If it isn’t installed

ls: cannot access '/etc/cloud/cloud.cfg': No such file or directory

In the case it’s installed, you’ll need to edit it as well. Open the file,

sudo nano /etc/cloud/cloud.cfg 

Find the line

# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: false

and change it to be

# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true

Save the file and exit.

That’s it, you are ready now!!

To make sure everything is working properly, execute the command