Invio email

Moderator: Enrico Maria Giordano

Invio email

Postby damianodec » 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?
User avatar
damianodec
 
Posts: 419
Joined: Wed Jun 06, 2007 2:58 pm
Location: Italia

Re: Invio email

Postby Enrico Maria Giordano » Fri Jan 18, 2008 12:44 pm

Io uso la SndMail.dll in questo modo:

Code: Select all  Expand view
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
User avatar
Enrico Maria Giordano
 
Posts: 8710
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Postby Massimo Linossi » Thu Jan 31, 2008 8: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.
User avatar
Massimo Linossi
 
Posts: 498
Joined: Mon Oct 17, 2005 10:38 am
Location: Italy

Postby Enrico Maria Giordano » Thu Jan 31, 2008 8: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
User avatar
Enrico Maria Giordano
 
Posts: 8710
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Postby Massimo Linossi » Thu Jan 31, 2008 9: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
User avatar
Massimo Linossi
 
Posts: 498
Joined: Mon Oct 17, 2005 10:38 am
Location: Italy

Postby Enrico Maria Giordano » Thu Jan 31, 2008 10:11 am

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

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8710
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia


Return to All products support

Who is online

Users browsing this forum: No registered users and 10 guests