Funktion til at tjekke om variabel indeholder email adresse
Hej,
Jeg står i den situation at jeg skal have analyseret en række variabler, og hvis de indeholder en email adresse (ingen bestemt, men bare noget der ligner fx. xxx@yyy.zz) så skal den reagere ved at printe den pågældende email adresse den finder.
Helt konkret anvender jeg det i forbindelse med udsending af mit nyhedsbrev. Her har jeg en forholdsvismæssig stor modtagerliste, og jeg vil gerne sortere modtagere fra, hvis emails bouncer tilbage og landet i min c:\inetpub\rootmail\badmail -mappe fra.
Derfor looper jeg alt indhold igennem, i denne mappe, med et asp script, som I lige kan få:
<code> <% path = "C:\inetpub\mailroot\badmail\" Set objFS = CreateObject("Scripting.FileSystemObject") Set objFolder = objFS.GetFolder(path) Set objFiles = objFolder.Files %> Filer i mappen <b><%=path%></b><hr> <% For Each file In objFiles response.write file.name & "<br>"
if right(file.name,3) ="BAD" then Set objTextStream = objFS.OpenTextFile(path & file.name, 1) strIndhold = objTextStream.ReadAll ' analyser strIndhold for spor af email adresse (mangler) objTextStream.Close Set objTextStream = Nothing end if objFS.DeleteFile(path & file.name) Next %> </code>
Det smarte er naturligvis, at disse badmails samtidig også bliver slettet fra badmail-mappen så jeg ikke skal gøre det manuelt.
Nå... det var lidt offtrack. Jeg har altså brug for en smart funktion, der kan finde noget der ligner emailadresser i en variabel, og returnere det til mig så jeg kan gå ind og fjerne den pågældende modtager fra nyhedsbrevlisten.
If (LikeMSN1 = 0 or LikeMSN2 = 0) and LikeMSN3 = 0 and LikeMSN6 = 0 and LikeMSN5 = 0 and LikeMSN7 = 0 and LikeMSN8 = 0 THEN ScreenString = 0 ELSE ScreenString = 1 END IF End Function
posofsnabela = Instr(strIndhold) if posofsnabela > 0 then firstpart = left(strindhold,posofsnabela) mellemrum1 =0 for i=1 to posofsnabela if mid(firstpart,i,1) = " " then mellemrum1 = i next end if mellemrum2 = Instr(right(strindhold,len(strindhold)-posofsnabela-1)," ") emailadresse = mid(strindhold,mellemrum2-mellemrum1,mellemrum1+1)
posofsnabela = Instr(strIndhold,"@") if posofsnabela > 0 then firstpart = left(strindhold,posofsnabela) mellemrum1 =0 for i=1 to posofsnabela if mid(firstpart,i,1) = " " then mellemrum1 = i next end if mellemrum2 = Instr(right(strindhold,len(strindhold)-posofsnabela-1)," ") emailadresse = mid(strindhold,mellemrum2-mellemrum1,mellemrum1+1)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.