Find Message Delivery Attempt Information
This page offers pointers into how to find message delivery attempt information for messages which have been injected into your GreenArrow platform but not yet reached their destination.
There are several different ways to see why emails are still in the queue. Your personal preference should guide which method you choose.
Engine UI
The Send Statistics Overview Page in the Engine UI will show you a table listing all sends or campaigns that happened during the specified timeframe:
The Failed
and InQueue
columns show how many messages from a given campaign either bounced or
have not yet been delivered, respectively. Click on the View stats
button in the row that pertains
to the send you’re interested in, and you’ll be taken to the Send Statistics
page for that send. There, you can click on the SMTP Server Stats tab
where you can find details there about why emails for that send are not being delivered.
Studio UI
If you’re using Studio to send campaigns, you can view delivery information using the Campaign Statistics part of the UI. Once you’ve drilled into a specific campaign, click on the SMTP label to see the same data that’s available through the Send Statistics Pages in the Engine UI.
APIs
Both the Engine and Studio products have APIs that allow retrieval of delivery data.
Command Line
The hvmail_report command will print out various reports about all of GreenArrow’s deliveries (not those just related to one campaign/line of stats in Engine). The advantage with this tool is that you can pipe the output to tools like grep that let you exclude/include the strings that you’re interested in.
For example, running hvmail_report
with the following options and then progressively piping its output
through awk
, sort
, and head
will display the total number of deferral
and connmaxout
attempts
for the top 10 recipient domains over the past hour:
hvmail_report -a -q all --last "1 hour" --show-mtaid --show-address --show-time --status=deferral --status=connmaxout |
awk '{ match($0, /<[^@]+@([^>]+)>/, m); if (m[1]) counts[m[1]]++ }
END { for (domain in counts) print domain, counts[domain] }' |
sort -k2,2nr |
head -10