![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(VB.NET) Transition from Email.GetDsnFinalRecipients to Email.GetDsnInfoProvides instructions for replacing deprecated GetDsnFinalRecipients method calls with GetDsnInfo. Note: This example requires Chilkat v11.0.0 or greater.
Dim email As New Chilkat.Email ' Load a multipart/report DSN email. Dim success As Boolean = email.LoadEml("qa_data/eml/dsn_example.eml") If (success = False) Then Debug.WriteLine(email.LastErrorText) Exit Sub End If ' ------------------------------------------------------------------------ ' The GetDsnFinalRecipients method is deprecated: Dim sa As Chilkat.StringArray = email.GetDsnFinalRecipients() If (email.LastMethodSuccess = False) Then Debug.WriteLine(email.LastErrorText) Exit Sub End If Dim i As Integer = 0 Dim count As Integer = sa.Count While i < count Debug.WriteLine(i & ": " & sa.GetString(i)) i = i + 1 End While Debug.WriteLine("----") ' ------------------------------------------------------------------------ ' Do the equivalent using GetDsnInfo. ' Your application creates a new, empty JsonObject object which is passed ' in the last argument and filled upon success. Dim json As New Chilkat.JsonObject success = email.GetDsnInfo(json) If (success = False) Then Debug.WriteLine(email.LastErrorText) Exit Sub End If json.EmitCompact = False Debug.WriteLine(json.Emit()) Debug.WriteLine("----") ' The JSON contains the following: ' { ' "reporting-mta": "dns; mail.example.com", ' "received-from-mta": "dns; smtp.example.com", ' "arrival-date": "Fri, 8 May 2025 14:23:42 -0400", ' "final-recipient": [ ' "rfc822; alice@example.com", ' "rfc822; bob@example.com", ' "rfc822; carol@example.com" ' ], ' "action": "failed", ' "status": "5.1.1", ' "remote-mta": "dns; smtp.recipientdomain.com", ' "diagnostic-code": "smtp; 550 5.1.1 User unknown", ' "last-attempt-date": "Fri, 8 May 2025 14:23:42 -0400", ' "action": "failed", ' "status": "5.1.2", ' "remote-mta": "dns; smtp.recipientdomain.com", ' "diagnostic-code": "smtp; 550 5.1.2 Host unknown (Domain name not found)", ' "last-attempt-date": "Fri, 8 May 2025 14:23:42 -0400", ' "action": "failed", ' "status": "5.7.1", ' "remote-mta": "dns; smtp.recipientdomain.com", ' "diagnostic-code": "smtp; 550 5.7.1 Relay access denied", ' "last-attempt-date": "Fri, 8 May 2025 14:23:42 -0400" ' } ' Iterate over the final-recipients i = 0 count = json.SizeOfArray("final-recipient") While i < count json.I = i Dim recipient As String = json.StringOf("final-recipient[i]") Debug.WriteLine(i & ": " & recipient) i = i + 1 End While ' ------------------------------------------------------------------------------------------- ' ------------------------------------------------------------------------------------------- ' This is the contents of the dsn_example.eml used for this example: ' From: postmaster@example.com ' To: sender@example.com ' Subject: Delivery Status Notification (Failure) ' MIME-Version: 1.0 ' Content-Type: multipart/report; report-type=delivery-status; ' boundary="boundary-string" ' ' --boundary-string ' Content-Type: text/plain; charset=us-ascii ' ' This is an automatically generated Delivery Status Notification. ' ' Delivery to the following recipients failed permanently: ' ' alice@example.com ' bob@example.com ' carol@example.com ' ' Technical details of permanent failure: ' DNS Error: Domain name not found ' ' --boundary-string ' Content-Type: message/delivery-status ' ' Reporting-MTA: dns; mail.example.com ' Received-From-MTA: dns; smtp.example.com ' Arrival-Date: Fri, 8 May 2025 14:23:42 -0400 ' ' Final-Recipient: rfc822; alice@example.com ' Action: failed ' Status: 5.1.1 ' Remote-MTA: dns; smtp.recipientdomain.com ' Diagnostic-Code: smtp; 550 5.1.1 User unknown ' Last-Attempt-Date: Fri, 8 May 2025 14:23:42 -0400 ' ' Final-Recipient: rfc822; bob@example.com ' Action: failed ' Status: 5.1.2 ' Remote-MTA: dns; smtp.recipientdomain.com ' Diagnostic-Code: smtp; 550 5.1.2 Host unknown (Domain name not found) ' Last-Attempt-Date: Fri, 8 May 2025 14:23:42 -0400 ' ' Final-Recipient: rfc822; carol@example.com ' Action: failed ' Status: 5.7.1 ' Remote-MTA: dns; smtp.recipientdomain.com ' Diagnostic-Code: smtp; 550 5.7.1 Relay access denied ' Last-Attempt-Date: Fri, 8 May 2025 14:23:42 -0400 ' ' --boundary-string ' Content-Type: message/rfc822 ' ' Return-Path: <sender@example.com> ' Received: from smtp.example.com (smtp.example.com [192.168.1.10]) ' by mail.example.com (Postfix) with ESMTP id 123456789 ' for <alice@example.com>, <bob@example.com>, <carol@example.com>; ' Fri, 8 May 2025 14:23:42 -0400 ' Message-ID: <001a113d789f$ad34bc30$038e34b0$@example.com> ' From: Sender Name <sender@example.com> ' To: alice@example.com, bob@example.com, carol@example.com ' Subject: Test Message ' Date: Fri, 8 May 2025 14:20:00 -0400 ' Content-Type: text/plain; charset="us-ascii" ' ' This is a test email message sent to multiple recipients. ' --boundary-string-- ' |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.