D4 Pro NMSMTP Question

I am writing an application where business clients will connect to their preferred ISP using anything from Cable, DSL, T1, dial-up to AOL, or calling their local Mom-and-Pop ISP for internet access, and send a series of emails generated from database reports.  (No, this isn't a spam-generator!)

The NMSMTP control in Delphi 4 Pro looked like the solution, except it connects and immediately disconnects from my ISP.    A code sample from a simplified test project follows:

procedure TForm1.Button1Click(Sender: TObject);
begin
  NMSMTP1.Host := Edit5.Text;
  NMSMTP1.Port := StrToInt(Edit6.Text);
  Memo1.Lines := NMSMTP1.WSAInfo; //Show me what's happening during testing
  NMSMTP1.UserID := Edit6.Text;
  NMSMTP1.Connect;
  NMSMTP1.PostMessage.FromAddress := Edit1.Text;
  NMSMTP1.PostMessage.ToAddress.Add(Edit2.Text);
  NMSMTP1.PostMessage.Body.Add(Edit4.Text);
  NMSMTP1.PostMessage.Subject := Edit3.Text;
  //NMSMTP1.PostMessage.LocalProgram := 'NMSMTP Demo';
  NMSMTP1.SendMail;
  NMSMTP1.Disconnect;
end;
The mail server for the ISP I use for testing is on a Linux box running sendmail as the Message Transfer Agent (MTA).  I suspect a password is required that matches the user name.  I can't find a password property for this control.  If that is the problem, how do I send one?  Leaving the UserID property blank did not work, either.
Any comments on getting this to work with AOL after I get it to work with everyone else would also be helpful.  Thanks!
LVL 1
GStarlingAsked:
Who is Participating?
 
CynnaCommented:
GStarling,

1. If your SMTP server requires password you are out of luck - NMSMTP doesn't support password authentification. SMTP protocol doesn't require password, but some servers use authentication extension to supress spamming.

2. Using NetMasters (NM...) components is living on the edge. They are notorious for their bugs. If you're serious about your app *at all* you'll forget them ASAP. Usual advice after this is:

use INDY or ICS (both freeware, reliable, plenty of examples *and* offering password authentication).

INDY: http://www.nevrona.com/Indy/download80.html
 ICS: http://overbyte.delphicenter.com/frame_index.html

0
 
GStarlingAuthor Commented:
Thanks for the info.  I got it to work with my ISP and am not sure what I did.  I think I had a space or non-printable character in one of the component properties.  Either way, it now works.  Then went out of town for a conference and just got back.

I think I will rewrite the app to use one of your recommended components.  Thanks.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.