Network LIB 1.30 SMTP: Resolving the Step 50 Error

Stefan Weidner1 min read
BeckhoffPLC HardwareTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

On a Beckhoff CX running TwinCAT, the SMTP client worked with Network LIB 1.21 but stalled after upgrading to Network LIB 1.30. The reported diagnostics were ERROR_T: 0x05 and ERROR_C: 0x003200FA at step 50 with response code 250. The failure was reproduced with two SMTP servers.

Identify the Network LIB 1.30 failure

At step 50, the revised logic advances only when auth_state <> BYTE#0. In the failing case, auth_state remained 0x0, so the SMTP sequence could not continue.

Library Observed result
Network LIB 1.21 SMTP client completed successfully.
Network LIB 1.30 Stopped at step 50 with ERROR_T: 0x05, ERROR_C: 0x003200FA, and response code 250.

Correct the authentication-name declaration

The confirmed cause was a test modification left in the function block. Each authentication name had an extra x, preventing the block from matching the advertised authentication methods and setting auth_state.

(* Incorrect Network LIB 1.30 test declaration *)
auth_names : STRING := ' PLAINx; LOGINx; CRAM-MD5x';

(* Correct declaration *)
auth_names : STRING := ' PLAIN; LOGIN; CRAM-MD5';

Apply and verify the correction

  1. Open the SMTP client function block and inspect the auth_names declaration.
  2. Remove the appended x characters, or replace the affected library with a corrected build.
  3. Rebuild and run the SMTP transaction while monitoring auth_state, the step number, ERROR_T, and ERROR_C.
  4. Confirm that auth_state no longer remains 0x0, execution advances beyond step 50, and the message transaction completes.

If the declaration is already correct but the sequence still stops, capture the SMTP exchange and compare the server response with the authentication names processed by the block. The evidence does not identify a specific corrected library version, so verify the declaration rather than relying on a version label alone.

FAQ

Why does Network LIB 1.30 SMTP stop at step 50?

The affected block contains PLAINx, LOGINx, and CRAM-MD5x instead of the intended names. Consequently, auth_state remains 0x0, and the step-50 condition does not advance.

What causes SMTP errors 0x05 and 0x003200FA in this case?

These diagnostics were reported when Network LIB 1.30 stalled at step 50 with response code 250. The confirmed defect was the leftover test modification in auth_names.

How do I verify the Network LIB 1.30 SMTP fix?

Confirm that auth_names contains PLAIN, LOGIN, and CRAM-MD5 without appended characters. Then verify that auth_state changes from 0x0, the client advances beyond step 50, and the SMTP transaction completes.

Back to blog