Sample code for 30+ languages & platforms
Ruby

Example: Email.GetDsnInfo method

See more Email Object Examples

Demonstrates how to call the GetDsnInfo method.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

email = Chilkat::CkEmail.new()

success = email.LoadEml("qa_data/eml/sample_multipart_report.eml")
if (success == false)
    print email.lastErrorText() + "\n";
    exit
end

json = Chilkat::CkJsonObject.new()
success = email.GetDsnInfo(json)
if (success == false)
    print email.lastErrorText() + "\n";
    exit
end

json.put_EmitCompact(false)
print json.emit() + "\n";

# Sample output:

# {
#   "reporting-mta": "dns; Exchange2016.example.com",
#   "final-recipient": [
#     "herb.butterworth1247692846@gmail.com"
#   ],
#   "action": "failed",
#   "status": "5.1.1",
#   "remote-mta": "dns; mx.google.com",
#   "x-supplementary-info": "<mx.google.com #5.1.1 smtp;550-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1  https://support.google.com/mail/?p=NoSuchUser o8-20020a056870968800b001b55816bea9si2188132oaq.70 - gsmtp>",
#   "x-display-name": "herb.butterworth1247692846@gmail.com"
# }

# Code for parsing the JSON:

reporting_mta = json.stringOf("reporting-mta")
action = json.stringOf("action")
status = json.stringOf("status")
remote_mta = json.stringOf("remote-mta")
x_supplementary_info = json.stringOf("x-supplementary-info")
x_display_name = json.stringOf("x-display-name")
i = 0
count = json.SizeOfArray("final-recipient")
while i < count
    json.put_I(i)
    strVal = json.stringOf("final-recipient[i]")
    i = i + 1
end