Find out whether an email was delivered
The Email log lists every email Hyperion sent from any node: alerts to you, letters to customers, care reports and test sends. It records whether the relay accepted each one and what the relay answered. Use it when a customer says they never received a message.
Mail that a website sends itself, through PHP mail(), is logged separately on that site’s Emails tab.
Before you start
Section titled “Before you start”- You can view the email log. By default that is an Owner or an Administrator.
- The relay is set up. Without one the panel sends nothing and the log is empty. See Set up the outgoing mail relay.
Search the cluster log
Section titled “Search the cluster log”- Open Email log in the sidebar, under Logs.
- Read the line under the title:
- “N emails failed out of M in the last 24 hours — latest: <error>” in red, when something failed. The line covers the whole window, so narrowing the list never hides a failure.
- “N emails sent in the last 24 hours, none failed”.
- “Nothing sent in the last 24 hours · last email <time ago>”.
- “No email sent yet”.
- Type in the search box. It matches the recipient, subject, type, error, the relay’s reply (which carries the queue id), the node and the site’s domain or id. Press Enter.
- Choose a type from All email types: Test email, Uptime alert, Disk quota, Billing, Care report, Expiry warning, Alert, Backup, Certificate or Other. Only types present in the window appear.
- Click All, Sent or Failed to filter by outcome. The counts follow your search and type.
- Click a row to unfold it. It shows:
- Sent: the time and the node it left from.
- To: the recipient.
- Site: a link to the hosting and only this site’s mail, or “None — a cluster-wide email, not about one site”.
- Error: the full error, when it failed.
- Relay reply: the relay’s full answer. The first three digits also show on the row.
- Beginning: the first 200 characters of the message.
Rows are grouped by day: “Today”, “Yesterday”, then by date, in the panel host’s local time. A 250 reply means the relay accepted the message. A 5xx reply means it refused it.
Each node keeps its own log and the page merges them. Hyperion does not prune this log, so entries stay in the node’s database. It asks each node for its most recent 500 emails and shows at most 300 matching rows, so narrow the filter to reach older ones. Only the first 200 characters of a message are stored, so passwords and reset links further down never reach the log.
Read one site’s mail
Section titled “Read one site’s mail”- Open the hosting, then its Emails tab.
- Sent by Hyperion about this site lists the last 10 emails the panel sent on behalf of the site: alerts, certificate reminders, monitor down and up, billing notices. It has the columns Sent, Kind, To, Subject, State and SMTP / error. Click Cluster email log for this site → at the top for the full list.
- Mail sent by this site lists the site’s own
mail()andwp_mail()calls. A wrapper in PHP’ssendmail_pathwrites each one to/var/lib/hyperion/site-mail/<system user>.jsonland then forwards it to the real sendmail, so delivery is unaffected. The log rotates at 10 MB and the page shows the latest 50 entries.
A site that sends over SMTP through a plugin such as WP Mail SMTP, Post SMTP or Brevo does not use sendmail_path. This card shows “No outbound mail captured yet” for it, and nothing is broken. The mail does not pass through this server’s sendmail.
From the command line
Section titled “From the command line”sudo hctl mail log --hosting example.com --limit 20It prints the panel’s email log with each delivery result. The command shows mail the panel itself sent, not mail from a site’s mail().
Check that it worked
Section titled “Check that it worked”- Send a test email (top right of the page) takes you to Settings, Mail. After you send a test there, the log shows a Test email row with state Sent and a relay reply starting
250. - The search for the recipient’s address finds the row you expect.
If it fails
Section titled “If it fails”- “Couldn’t read this node’s email log:” with
no such tableoremail_log: the node’s database has not been updated. Restart the agent on that node withsudo systemctl restart hyperion-agentand reload the page. - “No emails sent yet”: nothing has been sent, or the relay is off. Set up the relay and send a test.
- A row shows Failed with a relay error: open the row, read Error and Relay reply, and check the relay’s credentials and sender address.
- A list that looks incomplete: a notice titled “Incomplete view.” names nodes whose answer failed authentication, and their entries are left out. Check the node’s connection.