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