POP3: Esempio di lettura

4.10.2.1/3
	S_MAIL_PARAM sMailParam;
	S_MAILFROM sMailFrom;

	INT a,iErr,iCount;
	INT hMemo;
	CHAR * pszMessage;

	_(sMailParam);
	strcpy(sMailParam.szPOP3Server,"pop3.ciccio.com");
	strcpy(sMailParam.szPOP3User,"utente@ciccio.com");
	strcpy(sMailParam.szPOP3Password,"cicciobello2015");

	iErr=ehMail(WS_OPEN,0,sMailParam);
	if (iErr==13) ehExit("Password errata");
	else if (!iErr) {

		iCount=ehMail(WS_COUNT,0,NULL);
		printf("Mail presenti: %d " CRLF,iCount);
		// -----------------------------------------------
		// Loop discendente per prendere la più recente
		// -----------------------------------------------
		for (a=iCount-1;a>=0;a--) 
		{
			printf("msg %d/%d: ",a+1,iCount);

			// ---------------------------------------
			// a. Richiedo il messaggio al server
			// ---------------------------------------
			hMemo=ehMail(WS_REALGET,a,NULL);
			if (hMemo<0) {
				printf("ehMail(WS_REALGET:%d)",hMemo);
				continue;
			}
			pszMessage=memoLock(hMemo); // Messaggio completo originale

			// ---------------------------------------
			// b. Processo il messaggio (estraggo oggetto,testo,allegati)
			// ---------------------------------------
			_(sMailFrom);
			sMailFrom.lpMessProcess=pszMessage;	
			ehMail(WS_PROCESS,0,&sMailFrom); // Processa l'email per decodificarla

			printf("%s" CRLF,sMailFrom.pSubjectUtf8?sMailFrom.pSubjectUtf8:"(nessun oggetto)");


			// ---------------------------------------
			// c. Libero le risorse impegnate
			// ---------------------------------------

			ehMailFromFree(&sMailFrom);
			memoFree(hMemo,"mail");

			// ---------------------------------------
			// d. Rimuovo il messaggio dal server
			// ---------------------------------------
			if (bRemoveEverEmail) {
			   hMemo=ehMail(WS_DEL,a,NULL); 
			}
		}
	}

S_MAILFROM

typedef struct {

	INT		iSize;
	CHAR *	lpMessProcess; // Puntatore al messaggio originale da processare
	INT		iType; // 0=US-ASCII , 1=MIME MultiPart

	CHAR *	pDate;       // Data del messaggio

	CHAR *	pSubjectOriginal;    // Soggetto
	WCHAR *	pwSubject;
	CHAR *	pSubjectUtf8;

	CHAR *	pFromOriginal;   // Nome di chi manda il messaggio
	WCHAR *	pwFromName;
	CHAR *	pFromNameUtf8;

	CHAR *	pFromEmail;	// E-mail di chi manda il messaggio

	CHAR *	pToOriginal;     // Nome a cui va spedito il messaggio
	WCHAR	*pwToName;
	CHAR	*pToNameUtf8;
	//CHAR *pToNameUtf8;     // Nome a cui va spedito il messaggio
	CHAR	*pToEmail;    // E-mail a cui va spedito il messaggio

	INT	iMessType;	// Se in memoria o su disco
	CHAR *	lpMyServer;   // Chi sono

	CHAR *	lpUSMessage;	// Puntatore al messaggio semplice non MIME
	CHAR *	pszAutoSubmitted;

	_DMI *lpMIME; // Puntatore a zona Mime per la lettura delle parti (FMIMEPARTMEMO)

} S_MAILFROM;

Easyhand C/C++: POP3: Esempio di lettura | Last modified: 23/01/2016 11.20.20 Europe/Rome | #1.2406
P.. 567
Page Visible: as draft
Easyhand C/C++
Una mano alle tue idee.
Privacy Policy