If you have ever been in a situation where your application sends business-to-business (B2B) or business-to-consumer (B2C) email, and the intended recipient of an important email is frustrated enough to contact you about not receiving it, you understand the helplessness of not being able to answer what happened. Even worse is the feeling of not knowing if this issue is happening for all your emails.
Email is a critical part of any application’s digital customer experience and is integral to internal business processes. Missing emails can lead to churn, revenue loss, loss of productivity, or financial penalties. Without having the insight to understand if an email was successfully delivered or not, senders are lost when trying to answer questions about where missing emails are going.
So, we’re excited to announce the availability of Oracle Cloud Infrastructure (OCI) Email Delivery service logs, which give you immediate access to data about when a message is delivered or not delivered. With this information, you can respond quickly to situations requiring email delivery confirmation or investigation.
How it works
Access to Email Delivery service logs is an optional feature that you can configure for each region’s email sending domains. When enabled, two log files are generated that collect data for each step along the email’s journey. In one file, log events where emails are accepted for delivery from your application by our service, and in the other, file logging events of emails relayed from our service to a mailbox provider. Data is then collected by the OCI Logging service for monitoring and analysis. The default data storage retention period is one month and can be increased within the Logging service. If you need email event history for longer than 6 months, service logs can be moved to Object Storage for archiving using Service Connector Hub.

Figure 1: Email flow
In each log file, data is associated to an event’s action, such as accept, relay, bounce, and complaint. For each event action, general email information is captured, such as the recipient address, from address, receiving domain, and more. When an error for an action type occurs, a root cause reason is defined and logged.
Common use cases
The following use cases illustrate how the service log data can help:
-
On-demand reactive troubleshooting: When a customer contacts support because an email was not delivered, the support agent can have the data required to either confirm the delivery or describe why the message was not delivered without needing to contact Oracle support, reducing both troubleshooting time and risk to customer satisfaction.
-
Troubleshooting deliverability: When monitoring deliverability metrics, the email service log data provides required information to start determining the root cause of an error or issue. If a bounce rate at Gmail is higher than expected, the data can help determine if a campaign or deployment went to many undeliverable addresses, known as hard bounces, if the email was blocked by a content filter or soft bounces, or a myriad of other reasons.
-
Delivery confirmation for compliance at scale: You can use service log data to archive delivery confirmation of important emails, such as receipts or billing statements, to meet compliance needs. You can easily query these logs for an audit, helping mitigate customer satisfaction risk or legal penalties.
-
Contextual multichannel user experiences: Using log data developers can programmatically detect undelivered email and automate an action to communicate the information to a secondary email address or on another channel, such as text, phone, or mail.
A user is trying to reset their password, and the email is not delivered because their address does not exist. The sender can automate a text message to the user that informs them their email on file is undeliverable and send a one-time password so that they can log in and correct it.
A recipient doesn’t receive their billing statement because their mailbox was full. The sender’s support personnel can be alerted so that they could contact the customer with alternate options.
How to enable Email service logs
You can enable the configurable email activity or service logs in two places within the OCI Console: Directly in the Email Delivery service itself or on the central Logs page. You can restrict access based on user group permissions and stored for your wanted duration, with one month by default and six months maximum.

Using Email service logs in a missing email workflow
A customer asks about a missing email sent to testing@tester.com. From the Logging service, support can search for ’data.recipient = testing@tester.com.’

Based on emails sent to testing@tester.com, two logs show up. One that confirms the email was received by OCI Email Delivery service (action = Accepted) and one that confirms the email was relayed to the mailbox provider (action = relayed).

Because no bounce log exists (action = bounce) for this email, the recipient’s mailbox provider accepted the message and delivered it to the recipient’s mailbox.
Support can report back to the customer that this message was delivered to testing@tester.com on Thursday May 13, 2021. They can suggest that the customer checks their spam, archived, or deleted folder.
Example relayed log
Looking at all the data in the following log example, you can see that in the missing email analysis, we only scratched the surfaces of all the insights available within the logs. Each event or action contains action-specific information. For example, a bounce action includes the bounce type, error code, bounce reason, such as bad mailbox, and more.
{
"logContent": {
"data": {
"action": "relay",
"message": "Relayed email user@example1.com → testing@tester.com",
"messageId": "20210513135525.026326@smtpf-ad3-fd1-301-us-phoenix-1.imtaad3.vcndpphxintc.oraclevcn.com",
"messageSizeInKiB": "2",
"receivingDomain": "tester.com",
"recipient": "testing@tester.com",
"remoteAddress": "141.146.126.74",
"sender": "user@example1.com",
"senderCompartmentId": "ocid1.compartment.oc1..aaaaaaaacrwtnuoscqmfftthszay6iexf7ad7htttn4thcvckzw26vyrcuyq",
"senderId": "ocid1.emailsender.oc1.phx.aaaaaaaapien2vxgufjdkwuikk7z7qhk6s6aq73dscboer2q2uvwg2vf3v6a",
"sourceAddress": "147.154.102.131",
"tlsCipher": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
},
"id": "9A1E2A03-296B-4DCF-857B-D87EA33D12ED",
"oracle": {
"compartmentid": "ocid1.compartment.oc1..aaaaaaaacrwtnuoscqmfftthszay6iexf7ad7htttn4thcvckzw26vyrcuyq",
"ingestedtime": "2021-05-13T13:55:37.417Z",
"loggroupid": "ocid1.loggroup.oc1.phx.amaaaaaaooyoulaa3hktrevpazy6gpcputn56d7tclusy3ybqokmz3qlcmla",
"logid": "ocid1.log.oc1.phx.amaaaaaaooyoulaafabmoj7php3jyo3beqfvyoqnc74oxr5azdnfevpkqhzq",
"tenantid": "ocid1.tenancy.oc1..aaaaaaaapgqj5fjeku52qogywp4agshdscgog4gaeuk5uxfccyx5fofpg2oa"
},
"source": "example1.com",
"specversion": "1.0",
"time": "2021-05-13T13:55:29.892Z",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundrelayed"
},
"datetime": 1620914129892,
"oracle.tenantid": "ocid1.tenancy.oc1..aaaaaaaapgqj5fjeku52qogywp4agshdscgog4gaeuk5uxfccyx5fofpg2oa",
"oracle.compartmentid": "ocid1.compartment.oc1..aaaaaaaacrwtnuoscqmfftthszay6iexf7ad7htttn4thcvckzw26vyrcuyq",
"oracle.logid": "ocid1.log.oc1.phx.amaaaaaaooyoulaafabmoj7php3jyo3beqfvyoqnc74oxr5azdnfevpkqhzq",
"oracle.loggroupid": "ocid1.loggroup.oc1.phx.amaaaaaaooyoulaa3hktrevpazy6gpcputn56d7tclusy3ybqokmz3qlcmla",
"specversion": "1.0",
"type": "com.oraclecloud.emaildelivery.emaildomain.outboundrelayed",
"source": "example1.com",
"subject": null,
"id": "9A1E2A03-296B-4DCF-857B-D87EA33D12ED",
"time": "2021-05-13T13:55:29.892Z"
}
Armed with this information, you can troubleshoot any step along the email’s journey to the inbox.
Accessing the service log data
Figure 2 shows how service log data moves through OCI. The Email service logs all email activity in Email Delivery service logs that are collected by the Logging service. You can search, monitor, and analyze logs within the OCI Console or move data programmatically through Service Connector Hub or Logging API.

Figure 2: Email service log data flow
Service log pricing
Access to OCI’s Email Delivery service logs doesn’t add any cost to the Email service’s $.085/1,000 CPM price. However, service logs are stored in the OCI Logging service, and pricing is $.05/Gigabyte log storage per month after the first 10 gigabytes of storage per month.
With Email service logs available, all events are logged for each email at every step along its delivery journey, so troubleshooting is a breeze, customer experiences are delightful, and delivery compliance requirements are met. For more information about email service logs, see the following references.
OCI Email Delivery service is accessible through the OCI Console under the Solutions and Platform section, SDK, CLI, REST API, and Terraform. To learn more, see the Email Delivery service documentation.
Not an OCI Email Service customer? To try the service for yourself, sign up for the Oracle Cloud Free Trial or sign in to your Oracle Cloud Infrastructure account.
