-3

I think it is:

  • A MTA - Mail transfer Agent software on the server
  • A MX record, a DNS record specifying which server receives mail for this domain.

This would deliver mail to a file on the server for example:

/var/mail/my-domain.com/username

Are there any extra requirements to receive the email on another computer/device?

tread
  • 413
  • 2
  • 4
  • 21
  • "This would deliver mail to a file on the server for example" it would depend on the MTA settings. 'An MX record' you can receives email even without MX records. "A" record would be enough, but MX record is highly recommended – ALex_hha Mar 12 '16 at 10:28

1 Answers1

3
  • You need a domain name. It can be a sub-domain. Let's call it example.com.
  • You need a server with a public IP, that is accessible from the Internet on TCP port 25, and with enough storage for your projected volume of e-mail to be stored at one time.
  • On that server you need MTA software correctly configured to receive (and send?) e-mail for your domain.
  • You need to configure the DNS so that mail sent to the domain is sent to your public IP. That would be either an A record (anyxyz.anyprovider.com or something like mail.example.com) pointing to your IP and an MX record for example.com pointing to the A record, or (less good) just an A record for your domain pointing to the IP, without an MX record.
  • You also very probably also need a way to read the mail sent to your domain! That means either ssh access to the server and a willingness to use MUA software on the server, or (much better) POP/IMAP software running on your server in cooperation with the MTA software. Cooperation means they agree on where your mail is located on the server and also implies they share usernames and passwords. You can avoid all this by configuring your MTA to send your mail onwards to another server, which means your server also has to access the Internet using TCP port 25, and be able to make DNS resolutions, but then you are introducing a potential problem between your server and the other one.
  • Sooner or later you may need anti-spam software, e-mail certificates, redundancy, lots of storage space, and a webmail server, but that is no longer "minimum".

Another kind of minimum would be just having control of your domain and asking some e-mail provider to handle the rest for you; some of them will do it for free and many will do it for no additional fee if you buy the domain from them.

Law29
  • 3,507
  • 1
  • 15
  • 28
  • Why would port `25` need to be open? Remember I need the minimum to receive not send. – tread Mar 13 '16 at 07:41
  • 2
    Internet e-mail transits from server to server over the TCP protocol, with destination port 25. To receive mail from the Internet, you need to accept TCP connections from the Internet (source port > 1023) to your server (TCP port 25). To send mail to servers on the Internet, it's the reverse: your server needs to be able to contact TCP port 25 on the destination server (from a source port > 1023), but it also needs to use DNS to determine the correct destination server for a given e-mail address. I would consider DNS almost but not totally necessary for receiving mail, too. – Law29 Mar 13 '16 at 09:28
  • I think I get what you mean. Won't having port 25 open, mean you can send email through me and spammers will now use the server as a relay? – tread Mar 13 '16 at 16:18
  • 2
    That would only happen if your server allows it (the technical term is "open relay"); most mail servers will *not* allow open relay unless you explicitly enable it, and will only accept messages addressed to email domains they actually manage (and only for recipients which actually exist in those domains). – Massimo Mar 13 '16 at 16:22