VirtualObjectives

SendSMTP

SendSMTP can send SMTP email via command-line instructions or interactively. This useful utility can be used to send email alerts, programmatically send files, whatever you like.

Features:

  • SendSMTP utilises Transport Layer Security (TLS) version 1.2 and SSL v2/v3.
  • Support for SASL authentication (Simple Authentication and Security Layer) using the following methods; Anonymous, PLAIN, S/KEY, CRAM-MD5, CRAM-SHA1, and OTP (One-Time-Password).
  • Password is encrypted using 128-bit Rijndael (AES).
  • Supports Windows 10/8/7,Vista, Windows Server 2012R2/2008R2
Download SendSMTP v2.19.0.1 (Size 2,419 KiB) Freeware
SHA256 Hash = ffb69812f0725a3ef683fff3d5fd7a43f431dd27a205d724a1d6264194cddbb1
Download SendSMTP v2.5.1.0 (Size 349 KiB) Freeware
SHA256 Hash = bcde123d27fa43b6a4e65a436b35660ca02c2bd1f8a5caf242bd23ad976229ab
(Older version without SASL authentication)
Donate

SendSMTP - Tool to send SMTP email via command-line parameters or interactively.

SendSMTP Settings

Installation:

Extract the files SendSMTP.exe, libeay32.dll, libssl32.dll and ssleay32.dll into the same directory anywhere on your PC or server.

Command-line Usage:

You can run SendSMTP interactively or you can use a combination of command-line switches.
Command-line options are:

SendSMTP [/? | /H] [/V] [/I] [/D] [/S filename] [/NOS] [/LOG] [/LOGSMTP]
         [/HOST <hostname>] [/PORT <portnumber>]
         [/AUTH <authentication method>]
         [[/USERID <userid>]
         [/PASS <password>] | /PASS3 <encrypted password>]]
         [[/MailAgent <name>]
         [[/HeloName <name>]
         [/FROM <address>] [/TO <address>] [/SUBJECT "<string>"]
         [/REPLYTO <address>] [/CC <address>] [/BCC <address>]
         [/BODY "<string>"]
         [/BODYFILE "<filename>"]
         [/FILES <filename, "file name", filename, file|20name, ...>]
         [/TYPE <ContentType>]
Switch Function
/? or /H The help you are seeing now.
/V Displays the version in an About dialog box.
/I [Optional] Runs SendSMTP interactively. By default no messages will appear on the screen. (Default)
/D [Optional] Execute with debugging on.
Implies that SendSMTP is run interactively.
/S <filename> [Optional] Send mail using a specified settings file. If the switch is not used then the default SendSMTP.ini settings file is used if present. This option will supersede all other switches except /NOS. You can use a combination of settings file with added command-line switches where command-line switches always takes precedence.
Environment Variables are supported.
/NOS [Optional] No settings. Do not use any settings file including the default settings file SendSMTP.ini. Supersedes the /S switch.
/LOG Enable the saving of activity to the log file SendSMTP.log
The log file is written to the same path where SendSMTP.exe is located.
Length of log file is limited to 5,000 lines and is automatically truncated.
/LOGSMTP Enable the saving of SMTP conversation to the log file SendSMTP_SMTP.log
The log file is written to the same path where SendSMTP.exe is located.
The log file is appended to and not automatically maintained.
/HOST <hostname> Name or IP address of the SMTP host.
/PORT <portnumber> [Optional] Port number the SMTP host uses for SMTP communication. (Default is port 25)
/AUTH <authentication method > [Optional] The authentication method to use when connecting to an SMTP server:
0 = No Authentication.
1 = Username and Password Authentication
2 = SASL Authentication (includes SSL)
/USERID <userid> [Optional] The user account used to authenticate with the SMTP host.
/PASS <password> [Optional] The password for the user account above.
/PASS takes precedence over /PASS3
/PASS3 <encrypted password> [Optional] The encrypted password for the user account above.
The encrypted password can be obtained from the Password3 entry in the SendSMTP.ini file if used in the current settings.
/PASS takes precedence over /PASS3
/PASSX <encrypted password> [Deprecated] The encrypted password for the user account above.
The encrypted password can be obtained from the Password_AES entry in the SendSMTP.ini file if used in the current settings.
This switch is deprecated. Use /PASS3 instead.
/PASS takes precedence over /PASSX
/MailAgent <name> [Optional] Connect to the SMTP server using a specified mail agent name.
The default is SendSMTP vvvvvv (Where vvvvvv is the version)
/HeloName <name> [Optional] Connect to the SMTP server using a specified HELO / EHLO name.
The default is SendSMTP vvvvvv (Where vvvvvv is the version)
/FROM <address> Email address of who it is sent from. This is also used to populate the From Name.
/TO <address>
/TO "<address1>, <address2>,..."
Email address to send to. For multiple email addresses separate with commas and enclose with quotes. e.g. /TO "name1@abc.com, name2@xyz.com"
/REPLYTO <address> Email address to send replies back to.
/CC <address>
/CC "<address1>, <address2>,..."
Email address to send a carbon copy (cc) to. For multiple email addresses separate with commas and enclose with quotes. e.g. /CC "name1@abc.com, name2@xyz.com"
/BCC <address>
/BCC "<address1>, <address2>,..."
Email address to send a blind carbon copy (bcc) to. For multiple email addresses separate with commas and enclose with quotes. e.g. /BCC "name1@abc.com, name2@xyz.com"
/SUBJECT "<string>" [Optional] Subject title of your email enclosed in quotes.
/BODY "<string>"

[Optional] Body text enclosed in quotes.

/BODYFILE "<filename>" [Optional] File containing the body text.
If path or file name contains spaces then it must be enclosed in quotes.
/BODYFILE supersedes and overwrites text supplied by /BODY switch and saved settings.
Environment Variables are supported.
/FILES <filename, "file name", filename, file|20name, ...> [Optional] File(s) to be attached to the email.
If path or file name contains spaces then it must be enclosed in quotes.
Use can use hexadecimal "escape" characters to substitute characters. Just use a pipe character | followed by two digit hex code for the character.
Example "sample|2c with|20comma.txt" for "sample, with comma.txt"
Environment Variables are supported.
/TYPE <ContentType> [Optional] Content Type of the mail message. Case insensitive. (Default is PLAIN)
PLAIN = Plain text.
HTML = HTML format.

NOTES:
The switches can be slashes "/" or minus signs "-"
Switches are case insensitive.
Filenames can also include paths. If there are spaces in the filename or path then enclose it with "double quotes".

Examples:

1) The run the program interactively in debug mode...

SendSMTP /D

2) The run the program using a customised settings file...

SendSMTP /s c:\temp\mysettings.ini

3) Same as above but interactively...

SendSMTP /s c:\temp\mysettings.ini /i

4) Alert an administrator when a backup batch process has failed...

SendSMTP /nos /host mailserver /from NTServer04@abc.com /to ntadmins@abc.com /subject "Error in backup process" /files d:\ntbackup\error.log

5) The run the program using a customised settings file AND you wish to call the program in a batch process where the To field is programmatically supplied as the first parameter...

SendSMTP /s othersettings.ini /to %1

Return Codes:

0 = Success.
1 = Failure.
2 = Settings file not found.

Limitations:

1) There is no facility for address lookups.
2) The body is limited to plain text only.
3) Diagnostics and error messages are limited. If you are experiencing errors then please consult the log of the host SMTP server. Include the switches /I and /D to see more information.
4) SendSMTP utilises Transport Layer Security (TLS) version 1.2 and SSL v2/v3.
5) SASL authentication (Simple Authentication and Security Layer) is limited to the following methods; Anonymous, PLAIN, S/KEY, CRAM-MD5, CRAM-SHA1, and OTP (One-Time-Password). You must have the files libeay32.dll, libssl32.dll and ssleay32.dll in the same directory as SendSMTP.exe for SASL authentication to work.
6) As the name suggests, SendSMTP only sends email, it does not receive email.

Other Information:

1) The SendSMTP program does not require the settings file SendSMTP.ini. This file is created when the "Save Settings as Default" button is clicked on.
2) The "Save Settings as Default" button will write the settings to the file SendSMTP.ini in the same path as the SendSMTP.exe file. Any text in the Body field will be saved to the SendSMTPBody.rtf file in the same path.
3) You can create multiple INI files and accompanying Body files if you wish. Use the switch /S to specify the INI file (and hence the Body) you want to use.
4) You can double click on the version number in the About dialog box to activate and disable debugging.
5) When using the /PASS3 switch, the encrypted password can be copied from the Password3 entry in the SendSMTP.ini file if the password is used in the current settings.
6) Password is encrypted using Rijndael\Serpent\Twofish.
7) Updated versions of libeay32.dll, libssl32.dll and ssleay32.dll can be obtained from Windows binary distributions listed here http://wiki.openssl.org/index.php/Binaries Please download the and install "Win32 OpenSSL" and copy the files libeay32.dll, libssl32.dll and ssleay32.dll from the OpenSSL-Win32 folder and overwrite the files where SendSMTP.exe resides.

Troubleshooting:

If you have touble sending email then:

  • Check SMTP server's log to see if there is more information.
  • Use the /LOGSMTP switch with SendSMTP to log the SMTP conversation.
  • In the SendSMTP Settings, the Mail Agent Name and Helo Name properties are blank by default which issues "SendSMTP". These names may not acceptable by the SMTP server.
    • You can change the Mail Agent Name to something like "Outlook" or "Mozilla"
    • You can change the Helo Name to your host FQDN.

Change History:

Expand/Collapse