Skip to main content

IMAP, POP3 and SMTP explained

When you add an email account to an app such as Outlook, Apple Mail or Thunderbird, the app asks for incoming and outgoing server settings. Those settings use three protocols: IMAP or POP3 to receive mail, and SMTP to send it. This guide explains what each one does, which ports and security options to use, and how to choose between IMAP and POP3.

Receiving and sending are separate​

Your email app talks to two kinds of server:

  • The incoming server stores the mail that arrives for you. Your app reads it with IMAP or POP3.
  • The outgoing server accepts the messages you write and delivers them to other people. Your app sends them with SMTP.

The two servers can have the same name or different names. Your email provider tells you which names to use.

IMAP: mail stays on the server​

IMAP (Internet Message Access Protocol) keeps your mail on the server and shows your app a synchronized view of it. When you read, move, flag or delete a message on one device, the change appears on every other device that uses the same mailbox. Folders such as Sent, Drafts and Archive are stored on the server too.

Because the server holds the master copy, a lost or replaced device does not take your mail with it, and setting up a new device is simple.

POP3: mail is downloaded to one device​

POP3 (Post Office Protocol version 3) downloads messages to a single device. Many apps then remove them from the server, either straight away or after a set number of days. Read status, folders and sent messages stay on the device that downloaded them.

POP3 can still suit someone who reads email on only one computer and wants a local archive, but it has drawbacks:

  • Other devices may not see messages that were already downloaded.
  • Mail stored only on one computer is lost if that computer fails without a backup.
  • Sent messages from one device do not appear on the others.
Use IMAP if you have more than one device

If you read email on a phone and a computer, or share a mailbox between people, choose IMAP. It keeps every device in step and keeps your mail on the server.

SMTP: sending mail​

SMTP (Simple Mail Transfer Protocol) moves email from your app to your provider's server, and from that server on to the recipient's provider. Your app uses SMTP submission, which requires you to sign in so that only you can send from your mailbox.

Ports and security​

A port is a numbered channel on a server that an app connects to. Each protocol has standard ports. Always choose the encrypted option, so your password and messages cannot be read in transit.

ProtocolPortSecurity settingUse
IMAP993SSL/TLSReceiving, recommended
POP3995SSL/TLSReceiving, if you need POP3
SMTP465SSL/TLSSending, recommended
SMTP587STARTTLSSending, widely supported alternative
SMTP25None or STARTTLSServer-to-server delivery, not for your email app

Two kinds of encryption appear in email settings:

  • SSL/TLS (sometimes called implicit TLS) starts the encrypted connection immediately. RFC 8314 recommends this for email apps on ports 993, 995 and 465.
  • STARTTLS connects normally, then switches to encryption before any password is sent. It is used on port 587.

Your provider tells you which combination it supports. If both 465 and 587 are offered, either works when the security setting matches the port.

Port 25 is not for your email app

Port 25 is used by mail servers to deliver messages to each other. Many home and mobile internet providers block outgoing connections on port 25 to stop spam from infected computers, so an email app set to port 25 often cannot send. Use port 465 or 587 instead.

Signing in​

Incoming and outgoing servers both ask you to sign in:

  • Username: usually your full email address, such as jane@example.com, not just jane.
  • Password: your mailbox password. Some providers ask for an app password instead when two-step sign-in is turned on.
  • Authentication method: most apps use "normal password" over an encrypted connection. Some providers use a sign-in window from the provider instead, which apps label as OAuth or modern authentication.

Make sure outgoing server requires authentication is turned on and uses the same details as the incoming server, unless your provider tells you otherwise.

Did this article help you?