WORD GSM_SmtpConfigure(void)
{
WORD i;
if(ModemGsm.Signal.Control.RcvMessage){
if(GSM_CompareMessage(GSMResponse[mrOK])){ //prikaz bol uspesne vykonany
switch(Gsm.ActualCommand){
case mcQSMTPSRV:
ModemGsm.Signal.Control.CommandOK = TRUE;
Gsm.State = SMTP_USER;
ModemGsm.Signal.Control.RcvMessage = FALSE;
break;
case mcQSMTPUSER:
ModemGsm.Signal.Control.CommandOK = TRUE;
Gsm.State = SMTP_PASSWORD;
ModemGsm.Signal.Control.RcvMessage = FALSE;
break;
case mcQSMTPPWD:
ModemGsm.Signal.Control.CommandOK = TRUE;
Gsm.State = SMTP_NAME;
ModemGsm.Signal.Control.RcvMessage = FALSE;
break;
case mcQSMTPNAME:
ModemGsm.Signal.Control.CommandOK = TRUE;
Gsm.State = SMTP_ADDRESS;
ModemGsm.Signal.Control.RcvMessage = FALSE;
break;
case mcQSMTPADDR:
ModemGsm.Signal.Control.CommandOK = TRUE;
ModemGsm.Semaphore.Control.GprsSmtpConfigure = TRUE;
Gsm.State = NONE;
ModemGsm.Signal.Control.RcvMessage = FALSE;
return 0;
}
}
}
switch(Gsm.State){ // osetrovanie stavov
case SMTP_SERVER:
strcpy((char*)Gsm.CommandData, GSMCommand[mcQSMTPSRV]);
strcat((char*)Gsm.CommandData, "\"");
strcat((char*)Gsm.CommandData, TableEmailSettingGPRS[0].SMTP);
strcat((char*)Gsm.CommandData, "\",");
strcat((char*)Gsm.CommandData, TableEmailSettingGPRS[0].PortSMTP);
strcat((char*)Gsm.CommandData, "\r");
Gsm.ActualCommand = mcQSMTPSRV;
ModemGsm.Signal.Control.SendCommand = TRUE;
Gsm.State = NONE;
break;
case SMTP_USER:
strcpy((char*)Gsm.CommandData, GSMCommand[mcQSMTPUSER]);
strcat((char*)Gsm.CommandData, "\"");
strcat((char*)Gsm.CommandData, TableEmailSettingGPRS[0].USER);
strcat((char*)Gsm.CommandData, "\"\r");
Gsm.ActualCommand = mcQSMTPUSER;
ModemGsm.Signal.Control.SendCommand = TRUE;
Gsm.State = NONE;
break;
case SMTP_PASSWORD:
strcpy((char*)Gsm.CommandData, GSMCommand[mcQSMTPPWD]);
strcat((char*)Gsm.CommandData, "\"");
strcat((char*)Gsm.CommandData, TableEmailSettingGPRS[0].PWD);
strcat((char*)Gsm.CommandData, "\"\r");
Gsm.ActualCommand = mcQSMTPPWD;
ModemGsm.Signal.Control.SendCommand = TRUE;
Gsm.State = NONE;
break;
case SMTP_NAME:
strcpy((char*)Gsm.CommandData, GSMCommand[mcQSMTPNAME]);
strcat((char*)Gsm.CommandData, "\"Beehive\"\r");
Gsm.ActualCommand = mcQSMTPNAME;
ModemGsm.Signal.Control.SendCommand = TRUE;
Gsm.State = NONE;
break;
case SMTP_ADDRESS:
strcpy((char*)Gsm.CommandData, GSMCommand[mcQSMTPADDR]);
strcat((char*)Gsm.CommandData, "\"");
strcat((char*)Gsm.CommandData, TableAddressGPRS_SMTP[0].EmailSender);
strcat((char*)Gsm.CommandData, "\"\r");
Gsm.ActualCommand = mcQSMTPADDR;
ModemGsm.Signal.Control.SendCommand = TRUE;
Gsm.State = NONE;
break;
}
return 1;
}