Sample code for 30+ languages & platforms
Swift

Verify Email Recipients

A way to possibly determine valid/invalid email addresses. I would recommend being very careful about doing this because your IP address may be flagged as a potential spammer by the mail server (because you are probing for valid/invalid email addresses). This Chilkat functionality existed for many years, before this kind of activity became a problem. The functionality remains only because it is useful for some to test with their own SMTP servers.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    let mailman = CkoMailMan()!

    // SMTP connection settings...
    mailman.smtpHost = "smtp.example.com"
    mailman.smtpUsername = "MY_SMTP_USERNAME"
    mailman.smtpPassword = "MY_SMTP_PASSWORD"
    mailman.smtpSsl = true
    mailman.smtpPort = 465

    // Create a new email object
    let email = CkoEmail()!

    email.subject = "This is a test"
    email.body = "This is a test"
    email.from = "myemail@example.com"
    success = email.add(to: "person1", emailAddress: "person1@example.com")
    success = email.add(to: "person2", emailAddress: "person2@example.com")
    success = email.add(to: "person3", emailAddress: "person3@example.com")
    // The SMTP server smtp.example.com won't know anything about an email address @somewhere_else.com
    success = email.add(to: "person3", emailAddress: "person4@somewhere_else.com")
    // ...

    // Verify recipients.
    // **** See the warning about using this API method in the description above.
    // (An SMTP server only knows valid email address for its own domain.  For example,
    // smtp.example.com *may* only know if person1@example.com is valid or invalid, but does
    // not know anything about the validity of email addresses having other domains.)
    let badAddrs = CkoStringArray()!
    success = mailman.verifyRecips(email: email, saBadAddrs: badAddrs)
    if success != true {
        print("\(mailman.lastErrorText!)")
        return
    }

    var i: Int = 0
    while i < badAddrs.count.intValue {
        print("\(badAddrs.getString(index: i)!)")
        i = i + 1
    }

    print("done.")

}