0 Replies Latest reply on Mar 17, 2019 6:23 PM by ChMa_3922746

    snip.email Failure to Authenticate:  2 Issues

    ChMa_3922746

      FYI:  For those who have tested with snip.email, you may find incompatibility with some SMTP servers out there.

       

      I had to make two modifications to the WICED file smtp.c:

      1.  Some servers respond with "250 AUTH=LOGIN", which causes the reply check to fail.

      2.  A space should not be added to the end of a username or password reply.

       

      The following is representative of the changes required:

       

      wiced_result_t wiced_smtp_send( wiced_email_account_t* account, const wiced_email_t* email )

      {

      ...

      /* Check if authentication is required */

          // SMTP server may reply with "AUTH=LOGIN", not with "AUTH LOGIN"

         //if ( strnstrn( reply, length, smtp_auth_login, sizeof(smtp_auth_login) - 1 ) )

         if ( strnstrn( reply, length, "AUTH", sizeof("AUTH") - 1 ) )

          {

      ...

      }

       

      and

       

      static wiced_result_t send_smtp_command( wiced_tcp_socket_t *socket, const char *command, uint8_t command_length, const char* params, uint16_t params_length )

      {

      ...

      // Add space only when there are parameters to send (i.e., otherwise username/password auth fails)

         if (params_length > 0)

          {

              memcpy( (void*) data, (void*) smtp_space, GET_CONST_BUF_LENGTH(smtp_space) );

              data += GET_CONST_BUF_LENGTH(smtp_space);

          }

      ...

      }

       

      I hope this helps someone out there.