In part one of How to Troubleshoot SMTP Errors, we reviewed email status codes, internal reasons for email issues, and troubleshooting steps to address those issues. In part two of this series, we will examine some of the external reasons for email issues.
External Reasons for Email Issues
After we have tested the local server and see the local server is working correctly, we can infer that the issue lies with one of the following external problems:
The Simple Mail Transfer Protocol (SMTP) is a communication protocol used to transmit email between corresponding email servers. Using an email client like Mac Mail, Outlook, Thunderbird, or web clients like Gmail or Windows Live, SMTP can send messages to an email server. Although SMTP was initially designed as an email transport and delivery system, it later encompassed the email submission protocols that are now in use by both the Post Office Protocol (POP) and the Internet Message Access Protocol (IMAP). The above-noted email clients use these protocols to retrieve email from an email server. When this system fails, it provides the means to identify and resolve SMTP errors.
Just as regular visitors reach our server every day, so do others with more nefarious intentions. It is simply not reasonable to run an online service without some layer of protection. To protect against some of these attacks, Ubuntu ships with ufw (Uncomplicated Firewall). This is a tool designed to make Ubuntu firewall management as easy and user-friendly as possible. Specifically, ufw provides a cleaner interface for the core firewall tools netfilter and iptables, which, while robust, can be challenging to master.
First, let’s define what a port is. According to the IEFT, a port is:
“A logical entity for Internet communication. Ports serve two main purposes: 1. They provide a demultiplexing identifier to separate transport sessions between the same pair of endpoints 2. They may also identify the application protocol and associated service to which processes connect.”
In plain English, this simply means that a port is an endpoint through which data flows back and forth between two computers over a network. A computer has 65535 ports available to share information. These port numbers are based on a 16-bit number, which is where we derive the total number of available ports (0 to 65535).
ClickHouse is an open-source column-oriented DBMS (or database management system) primarily used for OLAP (or the Online Analytical Processing of queries). It is capable of blazing fast generation of real-time analytical data and reporting utilizing SQL queries. It is fault tolerant, scalable, highly reliable and contains a feature rich tool set.
In a regular database, data is stored in tables, columns, and rows. In a table, the related values are physically stored side by side in one row, which is critical to how it operates. This is how most string type databases work.
Thunderbird is one of the most widely used open-source email clients in the world. Mozilla originally developed the software in 2004, but the project waned in 2014/15, and Mozilla stated that they would only deliver security and maintenance updates in the future. Until recently, the community maintained the software when a Mozilla Foundation subsidiary, MZLA Technologies Corporation, took over. Today, the improvements in security and stability are very much appreciated, and since version 78, Thunderbird has built-in OpenPGP encryption technology enabled by default. Earlier versions used the available PGP technology, but it needed to be installed as a supplemental plugin.
Tmpmail is a utility written in bash that allows a user to create and use a temporary email address for receiving emails from the command-line. Underneath the covers, the bash script uses 1secmail’s API to receive the emails. By default, email addresses are created at random unless a specific email address follows the –generate flag.
When you send an email, your email client and multiple servers on the internet use the Simple Mail Transport Protocol or SMTP to move that message around the internet and ultimately into the recipient’s mailbox.
There are two main types of SMTP servers: relays and receivers. Relays accept email from users and then route it to the recipient. Receivers accept mail from relay servers and deliver it into a mailbox.
Remote Desktop Protocol (RDP) is the easiest and most common method for managing a Windows server. Included in all versions of Windows server and has a built-in client on all Windows desktops. There are also free applications available for Macintosh and Linux based desktops. Unfortunately, because it is so widely used, RDP is also the target of a large number of brute force attacks on the server. Malicious users will use compromised computers to attempt to connect to your server using RDP. Even if the attack is unsuccessful in guessing your administrator password, just the flood of attempted connections can cause instability and other performance issues on your server. Fortunately, there are some approaches you can use to minimize your exposure to these types of attacks.
In some ways, firewalld on systemd systems is easier to manage and configure than iptables. There are, for the most part, no long series of chains, jumps, accepts and denies that you need to memorize to get firewalld up and running in a basic configuration. The rules are simple and straightforward, but there is no reason you cannot still have all the power that iptables afforded.