Just nu i M3-nätverket
Jump to content

CDO, korrekt mailadress


MML

Recommended Posts

Använder CDO för att skicka mail via formulär.

Om besökaren anger felaktig (konstig) mailadress, så skickas inget mail med CDO, eftersom jag använder mailadressen besökaren angett som "FROM"

 

Hur kolla jag, som tydligen CDO gör att det är en korrekt mailadrsss?

 

Link to comment
Share on other sites

Anjuna Moon
Hur kolla jag, som tydligen CDO gör att det är en korrekt mailadrsss?

Vad menar du med korrekt? Korrekt format eller giltig mottagare?

Det första kontrollerar du via regular expressions (det fnns mer eller mindre komplexa reguljära uttryck för att kontrollera adressformaten, beroende på hur noggrann du vill vara), det andra är inget som vare sig CDO eller din mailserver kontrollerar innan ivägskickande och är i princip omöjligt att verifiera (annat än att fånga upp studsmail i mailservern av mail som inte nådde mottagaren av någon anledning)

 

[inlägget ändrat 2009-07-16 04:50:38 av Anjuna Moon]

Link to comment
Share on other sites

Varför skickas inget mail från formuläret då man anger t.ex en sådan här mailadres:

fsdfdsf@

??????

 

Det räcker med korrekt format.

Men hittar inget vettigt

 

Link to comment
Share on other sites

Anjuna Moon
Varför skickas inget mail från formuläret då man anger t.ex en sådan här mailadres:

fsdfdsf@

Var förväntar du dig att det skall skickas till? =)

 

Här gäller alltså fall 1 som jag nämnde, att kontrollera att adressen har ett giltigt format. Detta kontrollerar du med regular expressions. Om du inte använt sådana tidigare så finns det drösvis med info att googla fram, jag lämnar några länkar (som jag inte titta närmare på, men de beskriver principen)

Om du jämför dem märker du nog att de reguljära uttrycken skiljer sig åt och det beror på att det enda universellt kompletta reguljära uttryck som täcker alla e-postformat är så långt (tror det är över tusen tecken långt) att ingen använder det i praktiken, så det finns många förkortade varianter som täcker in de vanligaste fallen.

 

http://www.codetoad.com/asp_email_reg_exp.asp

http://www.plus2net.com/asp-tutorial/re-email.php

http://www.cactusoft.com/blog_37

 

EDIT: En snabb titt i din profil visar att du måste ha varit en av de första som gav mig en poäng här på eforum, den kom för nästan sex år sedan. Det är värt en poäng till dig för nostalgins skull =)

 

[inlägget ändrat 2009-07-16 05:07:14 av Anjuna Moon]

Link to comment
Share on other sites

Som kuriosa.

se vad IDG forum hjälpt mig att skapa, trots min amatörmässiga outbildade hobbyprogrammerare.

www.classiccars.se

 

 

 

Link to comment
Share on other sites

Anjuna Moon
se vad IDG forum hjälpt mig att skapa, trots min amatörmässiga outbildade hobbyprogrammerare.

Tjusigt, inte illa alls! Forum som detta är nog i många fall bättre än en riktig skola. Inte bara för att kompetensen finns här och viljan att hjälpa andra, men också för att det tvingar "eleverna" att ställa frågor (något som man ofta tröttnar på efter en lång dag i ett klassrum eller en kurssal).

 

[inlägget ändrat 2009-07-16 05:23:09 av Anjuna Moon]

Link to comment
Share on other sites

Börjar med ett stort TACK till alla trevliga hjälpsamma personer på denna sajt.

 

Nu till ämnet igen.

Om jag använder två sidor för denna funktion, en där man skriver in sim mailadress(1) och en sida som utför skickningen(2), för att sedan återgå till sidan (1)

hur får jag denna kod att backa tillbaks om det är fel enligt detta exempel:


<%
Response.write isValidEmail("david@codetoad.com") & "<BR>"
Response.write isValidEmail("davidcodetoadcom")

Function isValidEmail(myEmail)
 dim isValidE
 dim regEx

 isValidE = True
 set regEx = New RegExp

 regEx.IgnoreCase = False

 regEx.Pattern = "^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"
 isValidE = regEx.Test(myEmail)

 isValidEmail = isValidE
End Function%>

 

Värdet mail kommer i:

strEmail = sql(request.QueryString("txtEmail"))

 

Link to comment
Share on other sites

Anjuna Moon
hur får jag denna kod att backa tillbaks om det är fel enligt detta exempel:

Något i stil med följande:

eMail=Request.Form("email")
If Not isValidEmail(email) Then Server.Transfer "sida1.asp",True

 

På sida1.asp hämtar du också ut formulärvärdena (Request.Form) och lägger in dessa i fälten. Om man nu blivit tillbakaskickad dit så kommer alla värden ligga kvar som man tidigare fyllt i. (första gången man kommer dit kommer allt vara tomt, som det skall)

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...