Comprensione del comportamento offline di Microsoft CDO.Message
-
07-07-2019 - |
Domanda
Sto utilizzando la CDO.Message per creare e invia un'e-mail da un'applicazione Visual FoxPro. Ho testato che funziona mentre l'utente è connesso a Internet e sembra funzionare anche quando invio mentre disconnesso dalla rete , viene semplicemente inviato quando il client viene ricollegato. Un problema che ho con il metodo .Send ()
della classe CDO.Message è che non restituisce alcun valore di successo / fallimento (anche se l'oggetto genererà un'eccezione se non può inviare). Il messaggio di posta elettronica non sembra mai essere in attesa nell'output di Outlook dell'utente "Posta in uscita" o qualcosa di ovvio come quello, ma sembra che stia aspettando da qualche parte una connessione web nel momento in cui invia.
La domanda che ho è: Da dove viene l'e-mail CDO.Message che ho chiamato .Send ()
mentre l'applicazione è offline? E ha un'eventuale condizione di timeout / errore?
Sto cercando di evitare " programmazione per coincidenza " qualsiasi indizio su come funziona CDO.Message sarebbe utile.
Soluzione
Se non diversamente specificato, si utilizza un server SMTP sul computer locale. In tal caso, l'applicazione rilascerà il messaggio nella coda in uscita del server SMTP locale e la chiamata dell'applicazione a Invia () avrà sempre esito positivo (se il server SMTP è in esecuzione e il messaggio è formattato correttamente). È possibile impostare la proprietà Timeout di scadenza in uscita nel servizio SMTP per specificare quanti vecchi messaggi possono essere prima che vengano eliminati dalla coda in uscita.
LSoft ha una bella guida per la configurazione del servizio SMTP in IIS 6 da utilizzare con il loro pacchetto LISTSERV.