Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages

checkEmail method

The method allows you to check the delivery status of emails sent using the sendEmail method.

To speed up the work of the sendEmail method, delivery statuses are stored for a limited period of time, i.e. only for a month.

Principle of use

Syntax and URL to call the method
checkEmail (string email_id)
https://api.unisender.com/en/api/checkEmail?format=json&api_key=KEY&email_id=ID1,ID2,ID3
ArgumentsDescription.
api_key *API access key.
email_id *The message code returned by the sendEmail method. Up to 500 email codes separated by commas can be specified.
Return value
JSON object with the statuses array, each element of which is an object with two fields: the “id” field with the message code and the “status” field with the status of this message.

If a single message code was requested, there is also a single status field, the value of which matches the value of the status field of the first (and the only in this case) element of the statuses array, for the purpose of backward compatibility on the same level as the statuses array.

The possible values for the status field are described below. In the future, there may be new values, but the following principle will be respected: if the status starts with err_, it means that the delivery failed. If it starts with ok_, the delivery is still in progress or has been successfully completed. The only exception is the ‘not_sent’ status.

As we do not save the full text of all emails sent using the API sendEmail, you may need to re-send the letter to get some sending results. In particular, it is the result of err_lost.

not_sentThe message has not been processed yet.
ok_sentThe message has been sent, it is in the intermediate status until the receipt of the delivery/non-delivery response.
ok_deliveredThe message has been delivered. It may change to ‘ok_read’, ‘ok_link_visited’, ‘ok_unsubscribed’ or ‘ok_spam_folder’.
ok_readThe message has been delivered and its reading has been registered. It may change to ‘ok_link_visited’, ‘ok_unsubscribed’ or ‘ok_spam_folder’.
ok_fblThe message has been delivered but placed in the spam folder by the recipient. Unfortunately, only some of the mail services report such information, so usually you won’t receive a lot of responses with such status.
ok_link_visitedThe message has been delivered, read, and one of the links has been clicked through. It may change to ‘ok_unsubscribed’ or ‘ok_spam_folder’.
ok_unsubscribedThe message has been delivered and read, but the user unsubscribed using the link in the letter. The status is final.
err_blacklistedThe message has been rejected due to blacklisting. It will be re-sent.
err_will_retryOne or more delivery attempts have been unsuccessful, but attempts continue. The status is not final.
err_resendActually, it is equivalent to err_will_retry with some minor internal features.
err_internalInternal failure. The letter needs to be re-sent. The status is final.
err_user_unknownThe address does not exist, delivery failed. The status is final.
err_user_inactiveThe address used to exist before, but now it has been disabled. Delivery failed. The status is final.
err_mailbox_discardedThe recipient’s mailbox has been deleted. The status is final.
err_mailbox_fullThe recipient’s mailbox is full. The status is final.
err_no_dnsThere is no record or an incorrect record in DNS.
err_no_smtpThere is an entry in DNS, but there is no smtp server.
err_domain_inactiveThe domain does not accept mail or does not exist. The status is final.
err_destination_misconfiguredThe domain does not accept mail due to incorrect settings on the recipient’s side, and the server’s response contains information about a cause that can be fixed (for example, an inoperative blacklist is used, etc.).
err_spam_rejectedThe message was rejected by the server as a spam.
err_too_largeThe letter exceeds the size allowed by the recipient’s server. Also, the reason may be a rejection of the letter by the recipient’s server due to an unacceptable attachment type. For example, .exe.
err_giveupThis status is assigned to messages with the err_will_retry, err_resend statuses after expiration of the retry period.
err_spam_removedSending has been canceled because the campaign has been clocked as a spam. The status is not final, it can be changed to not_sent, delayed or err_spam_may_retry after negotiations with the recipient’s mail service.
err_spam_may_retryIt is equivalent to err_spam_rejected, but you can re-send the message by generating a new similar letter.
ok_spam_folderThe letter has been delivered, but the recipient’s server placed it in the Spam folder. The status is final.
err_delivery_failedDelivery failed due to other reasons. The status is final.
err_will_retryOne or more delivery attempts have been unsuccessful, but attempts continue. The status is not final.
err_skip_letterSending has been canceled because the email address is not available (except for cases of err_unsubscribed and err_not_allowed).
err_spam_skippedSending has been canceled because the campaign has been blocked as a spam. The result is not final, it can be changed to not_sent, delayed or err_spam_may_retry after negotiations with the recipient’s mail service.
err_unsubscribedThe letter has not been sent as the address to which it was tried to be sent has previously unsubscribed. You can mark this address as unsubscribed in your database and not send messages to it any more. The status is final.
err_src_invalidInvalid sender’s email address. It is used if the “invalid sender’s email” was discovered not at the stage of accepting the task and checking the parameters, but at a later stage when the things to be sent are checked in detail. The status is final.
err_dest_invalidInvalid recipient’s email address. It is used if the “invalid recipient’s email” was discovered not at the stage of accepting the task and checking the parameters, but at a later stage when the things to be sent are checked in detail. The status is final.
err_not_allowedSending has been canceled because technical support staff blocked the campaign, or because of the recipient address or your account is blocked. The status is final.
err_over_quotaSending has been canceled due to insufficiency of funds on the account or due to an excess of the tariff.
err_not_availableThe address to which you have tried to send the letter is not available (i.e., previous sending to this address resulted in a response like “the address does not exist” or “block for spam” from the server). Theoretically, the availability of the address can be restored in a few days or weeks, so you may not eliminate it completely from the list of potential recipients. The status is final.
err_unreachableSending has been canceled because the address is not available, but, in contrast to the err_not_available status, the availability of the address will not be restored. The status is final.
err_lostThe letter wasn’t sent due to inconsistency of its parts (for example, a link to the image in attachments is transferred in the letter body, but the image itself is not transferred in the attachments), or it has been lost because of the failure on our side. The sender needs to re-send the letter on his own, since the original has not been saved. The status is final.
skip_dup_unreachableThe address is unavailable, sending failed. The status is final.
skip_dup_temp_unreachableThe address is temporarily unavailable. Sending failed. The status is final.
skip_dup_mailbox_fullThe recipient’s mailbox is full. The status is final.
Example of the return value:

{
  "result": {
    "statuses": [
      {
        "id": "8219732882",
        "status": "not_sent"
      },
      {
        "id": "8269722886",
        "status": "ok_delivered"
      },
      {
        "id": "8219722800",
        "status": "err_unsubscribed"
      }
    ]
  },
  "failed_email_id": [
    {
      "23": "email_id does not exist"
    },
    {
      "573405639": "passed email_id doesn't match passed api_key"
    }
  ]
}