A quick way (since I don't have an SMTP server that requires AUTH to test on) to determine if what is going wrong is the lack of authentication is to load this SMTPAUTH program, set it's SMTP server name to your SMTP server, and try using sendmail.prg telling it 127.0.0.1 is the SMTP server.
If it works properly, then your server does require authentication, and we can try to add this to SendMail.prg (and can test it on your server).
Here's where to get SMTPAUTH.EXE:
(bin download: ftp://ftp.netwinsite.com/pub/authent/smtpauth102.exe )
In my research on SMTP, the HELO or EHLO (sendmail.prg uses HELO, which doesn't request the server to send extended information) statements SHOULD complete WITHOUT authentication. The AUTH statement should be the next-expected statement.
(and it's parameter should be encoded... so I need the encoding algorithm... anyone know it yet?)
You say:
and I managed to connect to the mail server but was met with a message "failed helo". What could be the cause?
The first thing an SMTP server is supposed to do is send "220 "+something-or-other... if it doesn't, or the connection is closed before SendMail.prg can send the "HELO " statement, then SendMail.prg will show "Failed HELO", Authentication doesn't come till later, so I'm leaning toward authentication not being the issue.
Give this a try: At the Command prompt, establish a telnet session to your SMTP server, and see how it responds to different commands.... you can do this by:
1) At Start->Run, type: COMMAND, Click "OK"
2) At the prompt, type: Telnet my.server.name 25 [enter]
(this will tell it to connect to port 25--SMTP;
From now on, you WON'T see anything you type, so type carefully.)
3) Note, first of all, if at the top of the screen is information starting with "220 "... if so, you are now connected to the SMTP server... if not, you are not, and all bets are off.
4) Type: HELO [enter]
(let us know how it responds... it should be the server's domain name preceeded by "250 " )
5) Type: EHLO [enter]
(let us know how it responds... it should be several lines starting with "250-", followed by the server's domain name preceeded by "250 ". if one of the "250-" lines has "AUTH" in it, then we DO need authentication)
6) Type: HELP [enter]
(...let us know... this should list all the available commands this server supports, each on a line starting with "214-"
With this info, we will know what we're dealing with.