snip.email Failure to Authenticate: 2 Issues

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ChMa_3922746
Level 5
Level 5
10 likes received 10 likes given 5 likes given

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.

0 Replies