What is an SMTP Server

A guide to the basics of SMTP servers, SMTP status codes and commands. What does an SMTP server do to send email, and how does it work?

Pranav Sharma
Pranav Sharma
August 23, 2021
6 min read

The Email API by developers, for developers

Integrate in minutes with our Email API or SMTP and deliver emails to customer's inbox instantly. Mailazy Email API built for developers that fits into any tech stack.

What is an SMTP Server?

An SMTP (Simple Mail Transfer Protocol) server defines a set of rules for Digital Communication of your emails and it’s primary purpose is to send, receive, and/or relay outgoing mail between email senders and receivers.

simple mail transfer protocol

In simpler words, an SMTP server is a process that runs on a computer, which, when connected to the internet, can listen for, and respond to, incoming requests which use a particular protocol on a particular port.

In contrast to the IMAP or POP3 protocols, 𝐒𝐌𝐓𝐏 is not used for collecting or managing, but only for sending emails. This protocol also works on the client-server principle. SMTP can not only function between a client and a server, but can also be used between two SMTP servers; a server also functions as a client in this scenario. As a user, however, the SMTP process remains largely invisible, as it is usually carried out in the background by the respective email program.

The functionality of the SMTP transmission protocol is relatively simple. Commands and status codes are used for interaction. The client has the task of establishing a connection to the server and sending it commands and information for executing the jobs. In contrast to this, the server is responsible for executing the respective jobs and for reporting the results to the client.

The Simple Mail Transfer Protocol works unencrypted without any further measures and transmits all commands, data or authentication information in plain text, To prevent unauthorized reading of data, the Simple Mail Transfer Protocol must be used together with the encryption via SSL/TLS. It often happens that a server uses a different port than the standard port 𝟐𝟓 for the encrypted connection; namely the TCP port 𝟒𝟔𝟓.

smtp flow

A SMTP server these days does many more things:

  • Queues the emails and works on delivering them: this may not matter if you just send a single email here and there, but it's a different thing for a 500k recipients newsletter.
  • Retries messages that can not be delivered immediately (e.g., slow receiving server), and eventually bounces them if they cannot be delivered. According to RFC 5321 once a SMTP server accepts responsibility for an email message, it must not lose it but either deliver or return (bounce) it.
  • DKIM signs the message.
  • Route emails to go out from different sending IP addresses and host names, for deliverability purposes. (Email reputation is based a lot on sending IP addresses.)
  • Throttle delivery of large amounts of emails to avoid being seen as an aggressive sender and getting blocked.
  • Optionally, archive (or bcc) all outgoing email, for documentation or compliance purposes.

SMTP Commands and Status Codes

smtp status code

smtp commands

Can I use gmail as a smtp server for my website?

Technically you could use Gmail as an SMTP server, it is not recommended for websites. By time you may receive issues like "421 4.7.0 Temporary System Problem'' or rate limiting errors, as it was not designed to be used by an application, rather by a single person.

Do I need to set up the Mailazy SMTP server before sending email?

Nope! You just need to have an active Mailazy account with a verified sender identity(domain) and the ability to use basic username and password authentication within your email client or application.

What SMTP server port do I need to connect to?

Mailazy supports TLS encryption on port 587. Here’s more information on how to send an SMTP email with Mailazy.

#### How to Fix SMTP Error 450:

01.  Verify that the email account you are trying to access exists Check the IP address of your mail server to see if it is blacklisted.
02.  We strongly recommend MXToolbox run a blacklist check.
03.  If your email appears to be spam, please delete all unwanted content from the message.
04. If you are using attachments, try sending an email without attachments.
  1. 451 — Aborted due to a server error. It is generally not your responsibility as the recipient's mail server rules may interfere with the processing of your email.
  2. 452 — The server has insufficient system storage. This usually happens because the mail server is overloaded when sending multiple emails at the same time. To resolve this issue, check your mail queue and use the correct delivery rate.
  3. 455 — The server cannot interact with the command at this time. If you receive this message, please allow time to try more. If unsuccessful, please contact the administrator of the recipient’s mail server.
  4. 500 — The server could not recognize the command because of a syntax error. Your answer may be due to antivirus software or firewall. To confirm this is the case, try disabling each function to test the connection.
  5. 501 — A syntax error occurred in command arguments. This is similar to the SMTP 500 response code. However, 501 responses are usually caused by incorrect or invalid email addresses.
  6. 502 — This command is not implemented. If you get this answer, there may be a problem with your original MTA configuration.. Check your MTA settings and try to connect again.
  7. 503 — Bad sequence of commands at server side. This response indicates that the parameters used do not match the order expected by the mail server, which usually occurs when the email account is not authenticated. To resolve this error, please verify that your email account is properly authenticated and make sure that all MTA settings are correct.
  8. 504 — A command parameter is not implemented. Same like response code 502.
  9. 521 — This host never accepts mail, a response by a dummy server. This response simply means that the recipient’s mail server did not accept or deliver the email. To correct SMTP error 521, verify that the message failed and was not retransmitted.
  10. 541 — Message not delivered because of policy reasons — If you receive this SMTP response, it means that your email may have been marked as spam. Confirm that your server is not sending spam and is not blacklisted.

SMTP Email Status Code 500

  1. 550 — Request failed because Mailbox did not activate For example, In addition, the SMTP 550 response code is often used to indicate other instances of permanent failure. For example, “The 550 mail server has detected that your mail is spam and has blocked it from being sent.”
  2. 551 — The receiving server is not local to the server. Then the server gives a forwarding address for testing. This is often used as a spam prevention strategy.
  3. 552 — Exceeded storage allocation. This is usually because the recipient’s mail server is too full. This may be because the recipient did not check their email, or in some more extreme cases, the recipient was a victim of mail bombing.
  4. 553 — The mailbox name is invalid. In this case, the mailbox cannot verify the email address. Please check to make sure all email addresses you send to are correct.
  5. 554 — delivery error: Sorry, your message cannot be delivered. This mailbox is disabled. If you receive the SMTP code 554, this is just a normal invalid address response.

What to do when response code occurs

First of all, don’t panic!

SMTP response codes are just a simple way for servers to communicate with each other.

If you receive an SMTP response, the first step is to ask yourself why you received the response. This usually starts with simple research. For research purposes, we strongly recommend that you bookmark this page for quick and easy reference when encountering SMTP response codes in the future.

In most cases, the email response code is not required to take any action; however, if an SMTP error occurs due to an invalid or permanent failure of the address, it is best to remove the failed address from the email list, So you don’t do this. Repeatedly sent to the same wrong email address in the future. This is because sending to the wrong email address can damage the sender’s reputation.

Mailazy Docs

Integrate with Transactional email service in minutes

click here

Most Popular Tags

EngineeringSMTPShort ReadBest PracticesEmailAPIsEmail SecurityCommunicationEmail APIEmail Delivery

What is Mailazy?

Mailazy is a Transactional Email Platform specially built for developers which satisfies the requirement for use cases like Reset Password Emails, OTP Emails, Welcome Emails, and so on. The Mailazy platform helps you to send transactional emails seamlessly and track email deliverability. Mailazy enables your applications to send messages via a simple HTTP REST interface or via easy SMTP integration and abstracts away the complexities of sending transactional emails.

Visit website

Pranav Sharma

Pranav Sharma

Pranav Sharma is a Lead Software Development Engineer at Mailazy. He graduated in Computer Science and considers himself a learner of life. He loves to play cricket, football and computer games.

View Profile