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
(Delphi DLL) Verify Email RecipientsA 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.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, MailMan, StringArray, Email; ... procedure TForm1.Button1Click(Sender: TObject); var mailman: HCkMailMan; email: HCkEmail; success: Boolean; badAddrs: HCkStringArray; i: Integer; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. mailman := CkMailMan_Create(); // SMTP connection settings... CkMailMan_putSmtpHost(mailman,'smtp.example.com'); CkMailMan_putSmtpUsername(mailman,'MY_SMTP_USERNAME'); CkMailMan_putSmtpPassword(mailman,'MY_SMTP_PASSWORD'); CkMailMan_putSmtpSsl(mailman,True); CkMailMan_putSmtpPort(mailman,465); // Create a new email object email := CkEmail_Create(); CkEmail_putSubject(email,'This is a test'); CkEmail_putBody(email,'This is a test'); CkEmail_putFrom(email,'myemail@example.com'); success := CkEmail_AddTo(email,'person1','person1@example.com'); success := CkEmail_AddTo(email,'person2','person2@example.com'); success := CkEmail_AddTo(email,'person3','person3@example.com'); // The SMTP server smtp.example.com won't know anything about an email address @somewhere_else.com success := CkEmail_AddTo(email,'person3','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.) badAddrs := CkStringArray_Create(); success := CkMailMan_VerifyRecips(mailman,email,badAddrs); if (success <> True) then begin Memo1.Lines.Add(CkMailMan__lastErrorText(mailman)); Exit; end; i := 0; while i < CkStringArray_getCount(badAddrs) do begin Memo1.Lines.Add(CkStringArray__getString(badAddrs,i)); i := i + 1; end; Memo1.Lines.Add('done.'); CkMailMan_Dispose(mailman); CkEmail_Dispose(email); CkStringArray_Dispose(badAddrs); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.