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
(PureBasic) SMTP using SOCKS5, SOCKS4 ProxyDemonstrates how to communicate with an SMTP server via a SOCKS4 or SOCKS5 proxy.
IncludeFile "CkEmail.pb" IncludeFile "CkMailMan.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. ; The mailman object is used for sending and receiving email. mailman.i = CkMailMan::ckCreate() If mailman.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; To use a SOCKS4 or SOCKS5 proxy, simply set the following ; properties prior to making any calls that communicate with ; an SMTP server: ; The SOCKS hostname may be a domain name or ; IP address: CkMailMan::setCkSocksHostname(mailman, "www.mysocksproxyserver.com") CkMailMan::setCkSocksPort(mailman, 1080) CkMailMan::setCkSocksUsername(mailman, "myProxyLogin") CkMailMan::setCkSocksPassword(mailman, "myProxyPassword") ; Set the SOCKS version to 4 or 5 based on the version ; of the SOCKS proxy server: CkMailMan::setCkSocksVersion(mailman, 5) ; Note: SOCKS4 servers only support usernames without passwords. ; SOCKS5 servers support full login/password authentication. ; Set the SMTP server. CkMailMan::setCkSmtpHost(mailman, "smtp.chilkatsoft.com") ; Set the SMTP login/password (if required) CkMailMan::setCkSmtpUsername(mailman, "myUsername") CkMailMan::setCkSmtpPassword(mailman, "myPassword") ; Create a new email object email.i = CkEmail::ckCreate() If email.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkEmail::setCkSubject(email, "This is a test") CkEmail::setCkBody(email, "This is a test") CkEmail::setCkFrom(email, "Chilkat Support <support@chilkatsoft.com>") success.i = CkEmail::ckAddTo(email,"Chilkat Admin","admin@chilkatsoft.com") ; 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 = CkMailMan::ckSendEmail(mailman,email) If success <> 1 Debug CkMailMan::ckLastErrorText(mailman) CkMailMan::ckDispose(mailman) CkEmail::ckDispose(email) ProcedureReturn EndIf ; Some SMTP servers do not actually send the email until ; the connection is closed. In these cases, it is necessary to ; call CloseSmtpConnection for the mail to be sent. ; Most SMTP servers send the email immediately, and it is ; not required to close the connection. We'll close it here ; for the example: success = CkMailMan::ckCloseSmtpConnection(mailman) If success <> 1 Debug "Connection to SMTP server not closed cleanly." EndIf Debug "Mail Sent!" CkMailMan::ckDispose(mailman) CkEmail::ckDispose(email) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.