Internet Mail Control  
 

Compose, send and retrieve messages using standard Internet email protocols.

Reference

Control Information

Object Name InternetMailCtl.InternetMail
File Name CSIMCX12.OCX
Version 12.0.3024.1286
ProgID SocketTools.InternetMail.12
ClassID 497D2D93-DF7A-41BE-B2E4-8B590BB26D5D
Threading Model Apartment
Help File CST12CTL.CHM
Dependencies None
Standards RFC 821, RFC 822, RFC 1034, RFC 1425, RFC 1869, RFC 1939
RFC 2045, RFC 2046, RFC 2047, RFC 2048, RFC 2821, RFC 3501

Overview

The Internet Mail ActiveX control had a comprehensive interface that provides everything required to incorporate email functionality in an application. The control implements the Simple Mail Transfer Protocol (SMTP) for sending messages, the Post Office Protocol (POP3) and Internet Message Access Protocol (IMAP) for retrieving messages from a mail serve. The Multipurpose Internet Mail Extensions (MIME) standard is implemented for composing and processing messages.

Many of the control's properties control the contents of a message, such as the list of recipients, the subject of the message and the message body. Methods are used to compose new messages, retrieve messages from a mail server and deliver messages to one or more recipients. Messages can also be managed on the mail server, or downloaded to the local system and stored in a file or a database record. The application has complete access to all of the headers in the message, and can create custom application-specific header fields if needed. Event notifications enable the application to provide the user with feedback, such as the progress of sending or retrieving a message. Additional features such as delivery status notification, support for relay servers and secure encrypted connections are easily implemented by setting a property or specifying an option when calling a method.

The control supports secure explicit and implicit connections using TLS 1.2 or later with client certificates for authentication. By simply setting a few properties, a secure connection using 256-bit AES encryption can be established, providing your application with the highest level of security available. Authentication is supported using both standard passwords and OAuth bearer tokens.

Requirements

The SocketTools ActiveX Edition components are self-registering controls that are compatible with any programming language that supports the Component Object Model (COM) and the ActiveX control specification. If you are using Visual Basic 6.0, Service Pack 6 (SP6) is required. We recommend installing all available updates for your development tools. Although the Visual Basic 6.0 runtime is supported on Windows 11, the IDE itself is no longer officially supported by Microsoft. Legacy IDEs and compilers may also require elevated (administrator) privileges to run properly.

The ActiveX controls are supported on Windows 7, Windows Server 2008 R2, and later versions of both desktop and server editions of Windows. For Windows 7, Service Pack 1 (SP1) is the minimum requirement. For Windows 8 systems, the 8.1 update must be installed. On ARM-based platforms, the minimum supported version is Windows 10 build 1709.

SocketTools includes components for both 32-bit (x86) and 64-bit (x64) Windows platforms. All modern versions of Windows are 64-bit, but we continue to include 32-bit components for compatibility with legacy development tools such as Visual Basic 6.0. We also provide native ARM64 ActiveX controls for systems running Windows on ARM. Note that 32-bit applications on ARM run using x86 emulation, and Microsoft no longer supports native ARM32 applications.

If you are using VBScript, Visual Basic for Applications (VBA), or another scripting environment on an ARM-based system, be aware that 64-bit hosts will require ARM64 components, while 32-bit hosts will use x86 components under emulation. This includes applications created with Visual Basic 6.0. To reduce deployment complexity and avoid confusion, SocketTools does not include ARM32 ActiveX controls in its standard redistribution packages but they are available on request for legacy or specialized scenarios.

Distribution

When you distribute an application that uses this control, you can either install the file in the same folder as your application executable or as a shared component in the appropriate system folder. If you install the control in the system folder, it is important that you distribute the correct version for the target platform and it must be registered. If you install the control in the same folder as your executable, it is recommended that you use registration-free activation or COM redirection to ensure that the correct version of the control is loaded by the application.