FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index All products support Invio email
Posts: 434
Joined: Wed Jun 06, 2007 02:58 PM
Invio email
Posted: Fri Jan 18, 2008 11:34 AM

la mia esigenza è di inviare email da una lista di indirizzi in un file DB nottetempo, c'è qualcuno che può darmi qualche esempio?

FiveWin for xHarbour 24.02 - Feb. 2024 - Embarcadero C++ 7.60 for Win32 Copyright (c) 1993-2023

FWH 64 for Harbour 19.06 (MSVC++) Jun. 2019 - Harbour 3.2.0dev (r1904111533)

Visual Studio 2019 - Pelles C V.8.00.60 (Win64)
Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM
Re: Invio email
Posted: Fri Jan 18, 2008 12:44 PM
Io uso la SndMail.dll in questo modo:

STATIC hLib


FUNCTION SENDMAIL( cFrom, cServer, cTo, cSubject, cMessage, aAttach, cSender, cUser, cPassword, aCc, lHtml, cPort )

    LOCAL cMsgFile := GETNEWFNAME()

    LOCAL cCmd := "SndMail -f " + cFrom + " -X " + cServer + " -r " + cTo + " -s " + ["] + cSubject + ["] + " -b " + cMsgFile

    LOCAL nRes

    LOCAL i

    DEFAULT lHtml := .F.

    MEMOWRIT( cMsgFile, cMessage + CRLF )

    IF !EMPTY( aAttach )
        FOR i = 1 TO LEN( aAttach )
            cCmd += " -a " + ["] + aAttach[ i ] + ["]
        NEXT
    ENDIF

    IF !EMPTY( cSender )
        cCmd += " -F " + ["] + cSender + ["]
    ENDIF

    IF !EMPTY( cUser )
        cCmd += " -h LOGIN -u " + cUser
    ENDIF

    IF !EMPTY( cPassword )
        cCmd += " -p " + cPassword
    ENDIF

    IF !EMPTY( aCc )
        FOR i = 1 TO LEN( aCc )
            cCmd += " -c " + ["] + aCc[ i ] + ["]
        NEXT
    ENDIF

    IF lHtml
        cCmd += " -H"
    ENDIF

    IF !EMPTY( cPort )
        cCmd += " -P " + cPort
    ENDIF

    hLib = LOADLIB32( "sndmail.dll" )

    SMTPLIBOPEN()

    nRes = SMTPSENDMAIL( cCmd )

    SMTPLIBCLOSE()

    FREELIB32( hLib )

    FERASE( cMsgFile )

    RETURN nRes = 0


DLL STATIC FUNCTION SMTPLIBOPEN() AS VOID;
    PASCAL FROM "USmtpLibOpen" LIB hLib

DLL STATIC FUNCTION SMTPSENDMAIL( cCmd AS STRING ) AS LONG;
    PASCAL FROM "USmtpCmdLineSendMail" LIB hLib

DLL STATIC FUNCTION SMTPLIBCLOSE() AS VOID;
    PASCAL FROM "USmtpLibClose" LIB hLib


EMG
Posts: 512
Joined: Mon Oct 17, 2005 10:38 AM
Invio email
Posted: Thu Jan 31, 2008 08:25 AM

Ciao EMG.
Due domande.
1. Dove si trova la dll che stai usando ?
2. C'è la possibilità di controllare se l'indirizzo email che vuoi usare esiste ?
Vorrei evitare che l'utente scriva un indirizzo che sintatticamente è giusto ma magari ha sbagliato a scrivere l'account e poi la mail viene persa oppure mi torna indietro con scritto che l'account non esiste.
Grazie mille e buona giornata.
Massimo.

Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM
Invio email
Posted: Thu Jan 31, 2008 08:46 AM
Massimo Linossi wrote:Ciao EMG.
Due domande.
1. Dove si trova la dll che stai usando ?


http://www.xmailserver.org/davide.html

Massimo Linossi wrote:2. C'è la possibilità di controllare se l'indirizzo email che vuoi usare esiste ?


No, e non ho mai visto nessun programma che lo faccia. Fino a prova contraria sono convinto che non si possa fare.

Aggiunta: ma sarei ben lieto di essere smentito. :-)

EMG
Posts: 512
Joined: Mon Oct 17, 2005 10:38 AM
Invio email
Posted: Thu Jan 31, 2008 09:46 AM

Grazie.
Hai ragione per il secondo punto, non credo sia una cosa semplice.
Ma ho visto che su parecchi siti, quando ti chiedono di validarti con un
indirizzo Email, controllano online se quell'indirizzo è corretto, senza spedirti
una mail. Chissà come fanno. Probabilmente usando qualche script che
sotto Internet funziona ma non è realizzabile da un programma fatto al
di fuori dei vari browser.
Prova questo indirizzo e vedi come funziona :

http://www.coveryourasp.com/ValidateEmail.asp#Result2

Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM
Invio email
Posted: Thu Jan 31, 2008 10:11 AM

Sì, ho visto. Non so se ne vale la pena.

EMG

Continue the discussion