Emailing from Ringlink

Introduction

One thing that I had a lot of problems with was emailing from Ringlink. Some forms directly send an email when submitted, but all I see is an error messgae.

Error!
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at lib/Mail/Sender.pm line 312.
Content-type: text/html

Error!
[Sun Jun 23 14:25:51 2024] admin.pl: Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at lib/Mail/Sender.pm line 312.
Compilation failed in require at lib/rlmain.pm line 801.

The problem is that I use Windows. Most Linux distributions include a program named Sendmail which is a is a mail transfer agent (MTA), that routes messages to an email server for transmission. Windows has no such program as standard.


Assets

I have not tried anying like this before, I simply had no need to. What I have is Outlook, and Gmail and Yahoo email accounts. After a bit of experimenting I realized that these on their own are not much good for what I want to do. Over the years both Gmail and Yahoo have made it more difficult to use their services from third party software. That is understandable because these are public email services, cannot be authenticated properly, and often used for spam

What I need was an authenticated email account. I use GoDaddy as my domain registrar with DNSExit handling the dynamic DNS to my "Server in the Cellar." GoDaddy offers a domain attached email service. That looks very attractive in July 2024, at just $1.99 a month. Unfortunately that renews at $95.88!

I looked at DNSExit's email services and used the free tier business email. It does not offer anywhere near the capabilities of a paid plan, but should be enough for what I want. DNSExit added a CNAME record to my DNS so that the email is DKIM authenticated. DomainKeys Identified Mail (DKIM) is a method of email authentication that helps prevent spammers and other malicious parties from impersonating a legitimate domain.

My ISP is Spectrum and that does not seem to block any of the email ports, 25, 110, 143, 465, 587, 993, 995, or 2525 that might be used.


What I Need

Looking around, what I need is a program, script or method to do one of these things:


Failed Experiements

I am certain that the reason at least some of these programs and utilities do not work is my fault because of my lack of understanding of how these programs work and how they should be set up properly.

For each of the programs I used by brisray.com free tier email setup provided by DNSExit. DNSExit provides the DNS records for my domain, including DKIM records. The domain has a valid SSL certificate from Let's Encrypt.

Where possible in the programs I tried both SSL and TLS and using ports 25 and 465, sending to both my Gmail and Yahoo accounts.

Sendmail for Windows

Auron SendEmail 6.3

Auron SendEmail 6.3 - There are 4 freeware versions of the utility available for download, for console and a GUI available in both 32bit and 64bit versions. The freeware versions adds a watermark, the more function rich Auron Email Component costs $160 per year.

Of all of them, I thought this version of Sendmail would work best, but whatever I tried I would get the error messages; Authorization failed, or Connection failed. From the logs it keeps the closest I got it to work was by using smtp.dnsexit.com on port 25. The logs say that:

Command: [STARTTLS]
Response: [220 2.0.0 Ready to start TLS ]
Secure connection details:
Protocol: [TLS1.2]
Cipher: [AES256]
Cipher strength: [256]
Hash: [SHA384]
Key exchange: [0xae06]
Key exchange: [256]

But that ultimately ended with the message "Send authentication failed"

THe GUI versions of the program give the command line sent to the email server which I edited to use the CLI version.

Auron SendEmail 6.3 GUI

Auron SendEmail 6.3 GUI

IndigoMail 3.11

IndigoMail 3.11 - The .exe program is dated March 2008. The help file is dated February 2008. It also includes a Perl script to test IndigoMail dated 2006. The program is trialware, after a month it would cost $49. The program seems full of features but not any form of encryption and I could not get this program to work. I kept getting the error message:

Error: authentication failed: generic failure
Message delivery failed

SendMail 1.3

SendMail 1.3 - Uploaded to SourceForge by Glenn Alon (glenn216). This is a GUI program not CLI. There is no help with the program but it seems simple enough. It does not work. With SSL enabled I get the message "The remote certificate is invalid according to the validation procedure." Without SSL enabled I get the message "Client does not have permission to submit mail to this server. The server response was 4.7.1: Relay access denied.". I do not know the history of this program, but the .exe file is dated August 2022.

Sendmail 1.3

Sendmail 1.3

SendMail 33

SendMail 33 - This is a July 2020, Delphi rewrite of Byron Jones' Sendmail program. The new version was written to support TLS v1.1 and v1.2, OpenSSL version 1.0.2u. Whatever I tried, I could not get this to work. If I set the encryption method to TLS, I got the error:

Error during delivery: Error: authentication failed: generic failure

If I set it to SSL, I got the error:

SSL error - sendmail: Error during delivery: Error connecting with SSL.
error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

As I understand what is happening, it is because the program and email server cannot agree to a common SSL and AES encryption protocol.