• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 350
  • Last Modified:

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);
  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.PostMessage.FromAddress := Edit1.Text;
  NMSMTP1.PostMessage.Subject := Edit3.Text;
  //NMSMTP1.PostMessage.LocalProgram := 'NMSMTP Demo';
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!
1 Solution

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

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.
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.

Join & Write a Comment

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now