![]() |
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
(AutoIt) 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.
$oEmail = ObjCreate("Chilkat.Email") ; Load a multipart/report DSN email. Local $bSuccess = $oEmail.LoadEml("qa_data/eml/dsn_example.eml") If ($bSuccess = False) Then ConsoleWrite($oEmail.LastErrorText & @CRLF) Exit EndIf ; ------------------------------------------------------------------------ ; The GetDsnFinalRecipients method is deprecated: Local $oSa = $oEmail.GetDsnFinalRecipients() If ($oEmail.LastMethodSuccess = False) Then ConsoleWrite($oEmail.LastErrorText & @CRLF) Exit EndIf Local $i = 0 Local $iCount = $oSa.Count While $i < $iCount ConsoleWrite($i & ": " & $oSa.GetString($i) & @CRLF) $i = $i + 1 Wend ConsoleWrite("----" & @CRLF) ; ------------------------------------------------------------------------ ; Do the equivalent using GetDsnInfo. ; Your application creates a new, empty JsonObject object which is passed ; in the last argument and filled upon success. $oJson = ObjCreate("Chilkat.JsonObject") $bSuccess = $oEmail.GetDsnInfo($oJson) If ($bSuccess = False) Then ConsoleWrite($oEmail.LastErrorText & @CRLF) Exit EndIf $oJson.EmitCompact = False ConsoleWrite($oJson.Emit() & @CRLF) ConsoleWrite("----" & @CRLF) ; 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 $iCount = $oJson.SizeOfArray("final-recipient") While $i < $iCount $oJson.I = $i Local $sRecipient = $oJson.StringOf("final-recipient[i]") ConsoleWrite($i & ": " & $sRecipient & @CRLF) $i = $i + 1 Wend ; ------------------------------------------------------------------------------------------- ; ------------------------------------------------------------------------------------------- ; 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.