Page 1 of 1

Invio email

Posted: Fri Jan 18, 2008 11:34 am
by damianodec
la mia esigenza è di inviare email da una lista di indirizzi in un file DB nottetempo, c'è qualcuno che può darmi qualche esempio?

Re: Invio email

Posted: Fri Jan 18, 2008 12:44 pm
by Enrico Maria Giordano
Io uso la SndMail.dll in questo modo:

Code: Select all | Expand

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

Posted: Thu Jan 31, 2008 8:25 am
by Massimo Linossi
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.

Posted: Thu Jan 31, 2008 8:46 am
by Enrico Maria Giordano
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

Posted: Thu Jan 31, 2008 9:46 am
by Massimo Linossi
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

Posted: Thu Jan 31, 2008 10:11 am
by Enrico Maria Giordano
Sì, ho visto. Non so se ne vale la pena.

EMG