E' necessario aprire una connessione con un server per poter inviare (o ricevere) emails.
Le due strutture principale per usare ehMail sono:
S_MAIL_PARAM sMailParam;
S_MAIL_STATUS * psMailStatus;
sMailParam serve per inviare i parametri delle connessioni ai server SMTP e POP3.
psMailStatus viene ritornato da ehMail() e contiene molte informazioni relative alle connessioni con i server.
Esempio
S_MAIL_STATUS * psMailStatus;
S_MAIL_PARAM sMailParam;
ZeroFill(sMailParam);
iniGetStr(sSetup.pszProfile,"MYSERVER",sMailParam.szMyServer);
iniGet(sSetup.pszProfile,"SMTP_SERVER",sMailParam.szSMTPServer);
iniGet(sSetup.pszProfile,"SMTP_USER",sMailParam.szSMTPUser);
iniGet(sSetup.pszProfile,"SMTP_PASS",sMailParam.szSMTPPassword);
sSetup.sMailParam.iSMTPMode=iniGetInt(sSetup.pszProfile,"SMTP_AUTH",0);
iErr=ehMail(WS_OPEN,0,&sMailParam);
if (iErr) {
ehLogWrite("Errore apertura server %d=%s",iErr,ehMailError(iErr));
sSetup.fSMTPOpenStatus=FALSE;
break;
}
else {
ehLogWrite("SMTP:Connesso ok");
sSetup.fSMTPOpenStatus=TRUE;
}
psMailStatus=(S_MAIL_STATUS *) ehMail(WS_INF,0,NULL);
Vecchia ModalitĂ
S_MAILINFO sMailInfo; // FMAILINFO
ZeroFill(sMailInfo);
sMailInfo.iCheck=sizeof(sMailInfo);
sMailInfo.lpSMTPServer="mail.ferra.com"; //
sMailInfo.lpPOP3Server=NULL;
sMailInfo.lpMyServer="www.ilmiodominio.com";
iErr=ehMail(WS_OPEN,0,&sMailInfo);
if (iErr) {
ehLogWrite("Errore apertura server %d=%s",iErr,ehMailError(iErr));
sSetup.fSMTPOpenStatus=FALSE;
break;
}
else {
ehLogWrite("SMTP:Connesso ok");
sSetup.fSMTPOpenStatus=TRUE;
}
Valori di ritorno
Ritorna 0 se va tutto bene, in caso contrario l'id dell'errore che puĂ essere visualizzato con
ehMailErrorEra FMailServer()