Gjest Skrevet 28. mars 2009 Del Skrevet 28. mars 2009 (endret) Hei! Det har seg slik at jeg har laget en kontakt meg funksjon. Den virker feil fritt. Men for å hindre spam vil jeg lage en funksjon som laster ned en tekstfil (det får jeg til) men den skal også lese den opp mot en tekstboks. Det vil si: Hvis tekstbox1 inneholder [email protected] så vil ikke mailen bli sendt fordi den mailen er i en tekstfil. Som sjekkes opp mot tekstboksen. Koden jeg bruker: Dim MyMailMessage As New System.Net.Mail.MailMessage Try MyMailMessage.From = New Net.Mail.MailAddress(txtFrom.Text) MyMailMessage.To.Add("*minmail*") MyMailMessage.Subject = combobox1.SelectedItem MyMailMessage.Body = rtbMsg.Text Dim smtp As New System.Net.Mail.SmtpClient("smtp.live.com") smtp.Port = 587 smtp.EnableSsl = True smtp.Credentials = New System.Net.NetworkCredential("*minmail*", "*mitt passord*") rtbMsg.Text = "" MsgBox("Thank you for using this function") smtp.Send(MyMailMessage) Catch ex As Exception MsgBox("Error, cant send mail") End Try Neste ting jeg vil gjøre er å sjekke om mailen er skrevet riktig inn. Vet du kan gjøre det i PHP med regex. Finnes det noe slikt for VB.net? Den må inneholde @ og de mest kjente slutt formatene: .com, .org, .no, .net, .eu, .gov, .co.uk, .se, .dk, .de, .au Endret 28. mars 2009 av Gjest Lenke til kommentar
GeirGrusom Skrevet 28. mars 2009 Del Skrevet 28. mars 2009 Det er en egen regex klasse i .NET System.Text.RegularExpressions.Regex Den er forholdsvis lik den i PHP, med to unntak: du trenger ikke / i start eller slutt, og tegn som ikke er bokstaver trengs ikke å escapes. Og en capture group med navn skrives (?<EtNavn>.*) ikke (?P<EtNavn).*) For hvordan Regex klassen fungerer, må du nesten lese MSDN. Den har litt flere muligheter enn preg_match og preg_replace i php. Lenke til kommentar
Gjest Skrevet 28. mars 2009 Del Skrevet 28. mars 2009 (endret) Takk GeirGrusom, jeg skal se mer inn i det og regner med at det fungerer =D Men må få til en ban fil også for å hindre spammere. Noen ideer? Nesten løs: Dim banned As String = "" Dim Request As Net.HttpWebRequest = Net.WebRequest.Create("http://minside.com/filer/ban.txt") Dim Response As Net.HttpWebResponse = Request.GetResponse Dim SR As IO.StreamReader SR = New IO.StreamReader(Response.GetResponseStream) banned = SR.ReadToEnd SR.Close() If txtFrom.Text = (banned) Then Button1.Enabled = False lblBanned.Visible = True lblReason.Visible = True lblBanned.Text = ("Your e-mail has ben banned") lblReason.Text = ("Due to spam") Else Button1.Enabled = True End If Problemet kommer da jeg har flere mailer i tekstfilen. Hvordan kan jeg løse det? Endret 28. mars 2009 av Gjest Lenke til kommentar
Gjest Skrevet 28. mars 2009 Del Skrevet 28. mars 2009 Løst, gikk over til å banne IP + hostname... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå