Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C) MailMan GetSentToEmailAddrsDemonstrates how to get the email addresses accepted by the SMTP server during an SMTP send.
#include <C_CkMailManW.h> #include <C_CkEmailW.h> #include <C_CkStringArrayW.h> void ChilkatSample(void) { HCkMailManW mailman; HCkEmailW email; BOOL success; HCkStringArrayW acceptedAddrs; int numAddrs; int i; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // Demonstrates how to get the successful recipients for the last email sent. // Note: Success does not ensure actual delivery, nor does it mean the email address is actually valid. // It may be that the email address is invalid and will get bounced at the destination. // Also: An SMTP client (such as Chilkat, Mozilla Thunderbird, etc.) is only responsible for "handing off" the email to the SMTP server // for delivery (either to a local mailbox, or to a remote mailbox where the SMTP server acts as a relay). // The SMTP client's task is ended when the SMTP protocol exchange is completed, and the SMTP server says "OK, I've got it and I'll take it from here.". // If the email never actually gets delivered, then there is a problem downstream of the Chilkat-->SMTP server handoff. mailman = CkMailManW_Create(); CkMailManW_putSmtpHost(mailman,L"outlook.office365.com"); CkMailManW_putSmtpPort(mailman,587); CkMailManW_putStartTLS(mailman,TRUE); // Set the SMTP login/password CkMailManW_putSmtpUsername(mailman,L"OFFICE365-SMTP-LOGIN"); CkMailManW_putSmtpPassword(mailman,L"OFFICE365-SMTP-PASSWORD"); // Create a new email object email = CkEmailW_Create(); CkEmailW_putSubject(email,L"Testing for Chilkat API..."); CkEmailW_putBody(email,L"Testing for Chilkat API..."); CkEmailW_putFrom(email,L"Chilkat Support <my-office365-user@mydomain.com>"); success = CkEmailW_AddTo(email,L"Chilkat Admin",L"admin@chilkatsoft.com"); success = CkEmailW_AddTo(email,L"Chilkat Support",L"support@chilkatsoft.com"); // To add more recipients, call AddTo, AddCC, or AddBcc once per recipient. // Allow SendEmail to succeed even if some recipients are rejected immediately // by the SMTP server. CkMailManW_putAllOrNone(mailman,FALSE); // Call SendEmail to connect to the SMTP server and send. // The connection (i.e. session) to the SMTP server remains // open so that subsequent SendEmail calls may use the // same connection. success = CkMailManW_SendEmail(mailman,email); if (success != TRUE) { wprintf(L"%s\n",CkMailManW_lastErrorText(mailman)); CkMailManW_Dispose(mailman); CkEmailW_Dispose(email); return; } success = CkMailManW_CloseSmtpConnection(mailman); if (success != TRUE) { wprintf(L"Connection to SMTP server not closed cleanly.\n"); } wprintf(L"Mail Sent!\n"); // Examine which email addresses were accepted by the SMTP server during the SMTP conversation. // (i.e. during the SendEmail) acceptedAddrs = CkMailManW_GetSentToEmailAddrs(mailman); numAddrs = CkStringArrayW_getCount(acceptedAddrs); i = 0; while (i < numAddrs) { wprintf(L"Accepted recipient %d: %s\n",i,CkStringArrayW_getString(acceptedAddrs,i)); i = i + 1; } CkStringArrayW_Dispose(acceptedAddrs); CkMailManW_Dispose(mailman); CkEmailW_Dispose(email); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.