Joakim87 Skrevet 5. juli 2007 Del Skrevet 5. juli 2007 Heisann Jeg har en asp.net 2.0 side, men så skulle jeg gjerne ha sendt en mail avgårde fra siden, men dette har vist seg vannskelig, jeg har prøvd utallige forslag som jeg har funnet på google og nettet ellers, men får ingen til å fungere. Koden ser slik ut: protected void Wizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e) { this.SendMail(); } static bool mailSent = false; private void SendMail() { System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); msg.To.Add("[email protected]"); msg.From = new MailAddress("[email protected]", "Joakim1", System.Text.Encoding.UTF8); msg.Subject = "Test mail med asp.net 2.0"; msg.SubjectEncoding = System.Text.Encoding.UTF8; msg.Body = "Dette er bodyen til meldingen"; msg.BodyEncoding = System.Text.Encoding.UTF8; msg.IsBodyHtml = false; msg.Priority = MailPriority.High; SmtpClient client = new SmtpClient(); client.Credentials = new System.Net.NetworkCredential("<mailAdressenJegskalSendeFra>", "mittPassordHer"); client.Port = 465; client.Host = "smtp.gmail.com"; client.EnableSsl = true; client.SendCompleted += SendCompletedEventHandler(client_sendCompleted); object userState = msg; try { client.SendAsync(msg, userState); } catch (System.Net.Mail.SmtpException ex) { Messagebox.show(ex.Message, "Send mail error"); } } private void client_SendCompleted(object sender, AsyncCompletedEventArgs e) { MailMessage mail = (MailMessage)e.UserState; string subject = mail.Subject; if (e.cancelled) { string cancelled = string.Format("[{0}] Send canceled", subject); MessageBox.Show(cancelled); } if (e.Error != null) { string error = String.Format("[{0}] {1}", subject, e.Error.ToString()); MessageBox.Show(error); } else { MessageBox.Show("Message sent"); } mailSent = true; } Som dere sikkert ser så prøver jeg å sende mailen fra en gmail account. Jeg får bl.a en feilmelding som sier at "AsyncCompletedEventArgs" could not be found. Noen som kan hjelpe meg med å få dette til å fungere? På forhånd takk Mvh Joakim T Lenke til kommentar
j000rn Skrevet 5. juli 2007 Del Skrevet 5. juli 2007 Ikke bry deg om async så lenge du ikke har andre avanserte ting som skal gjøres samtidig. Lenke til kommentar
Joakim87 Skrevet 5. juli 2007 Forfatter Del Skrevet 5. juli 2007 Har byttet ut: try { client.SendAsync(msg, userState); } med try { client.Send(msg, userState); } Nå, har også fjernet slik at det bare står: private void client_SendCompleted(object sender, EventArgs e) Men det fungerer ikke av den grunn, akkurat nå får jeg følgende feilmld: Compiler Error Message: CS0118: 'System.Net.Mail.SendCompletedEventHandler' is a 'type' but is used like a 'variable' Dette er på kodelinjen client.SendCompleted += SendCompletedEventHandler(client_sendCompleted); Noen som vet hvordan dette skal fikses? Tar gjerne imot guider, eller sider hvor det står forklart hvordan man skal lage dette så det fungerer Mvh Joakim T Lenke til kommentar
j000rn Skrevet 5. juli 2007 Del Skrevet 5. juli 2007 (endret) try { client.Send(msg, userState); } 9010354[/snapback] Fjern userState, og hele "sendComplete" saken... client.Send(msg); holder i massevis Btw; hvis det er en ASP.Net webløsning vil ikke Messagebox fungere noe særlig. Bruk f.eks. Response.Write isteden. Endret 5. juli 2007 av jorn79 Lenke til kommentar
Joakim87 Skrevet 5. juli 2007 Forfatter Del Skrevet 5. juli 2007 Takk for hjelpen så langt Er en asp.net webløsning ja, har byttet til Respose.Write nå Jeg får feilmeldingen: Send mail ErrorThe operation has timed out. Vet du dere hvordan jeg kan fikse det? Lenke til kommentar
j000rn Skrevet 5. juli 2007 Del Skrevet 5. juli 2007 Takk for hjelpen så langt Er en asp.net webløsning ja, har byttet til Respose.Write nå Jeg får feilmeldingen: Send mail ErrorThe operation has timed out. Vet du dere hvordan jeg kan fikse det? 9010603[/snapback] Prøv en vanlig telnet mot mailserveren på port 25. Kan hende at du har en slem firewall hos deg som ikke tilatter utgående mail. Lenke til kommentar
Joakim87 Skrevet 5. juli 2007 Forfatter Del Skrevet 5. juli 2007 Kjører smtp.gmail.com 25 og får da meldingen: 220 mx.google.com ESMTP o1sm119772uge Lenke til kommentar
Manfred Skrevet 5. juli 2007 Del Skrevet 5. juli 2007 Hvorfor skal du absolutt sende gjennom gmail sin smtp, som er relativt vrang sånn sett? det er garantert en åpen smtp du kan bruke fra der serveren står. Du kan jo sette avsenderen til hva som helst uansett. Lenke til kommentar
Joakim87 Skrevet 5. juli 2007 Forfatter Del Skrevet 5. juli 2007 Hvorfor skal du absolutt sende gjennom gmail sin smtp, som er relativt vrang sånn sett? det er garantert en åpen smtp du kan bruke fra der serveren står. Du kan jo sette avsenderen til hva som helst uansett. 9010758[/snapback] Så du mener koden funker hvis jeg sender fra en annen server? Lenke til kommentar
Manfred Skrevet 5. juli 2007 Del Skrevet 5. juli 2007 ssl-sakene og slikt til gmail-serveren gjør at den er litt småvrang. Lenke til kommentar
Joakim87 Skrevet 5. juli 2007 Forfatter Del Skrevet 5. juli 2007 Har desverre ingen server som kjører web og mail... Prøvde på en annen smtp server, men det funket ikke noe bedre Lenke til kommentar
Manfred Skrevet 6. juli 2007 Del Skrevet 6. juli 2007 Dersom dette er på en maskin hjemme hos deg, har sikkert ISP'en din en smtp. Denne kan du bruke. Står serveren i en serverpark, vil jeg tro de også har en smtp du kan relaye mail gjennom. Lenke til kommentar
Joakim87 Skrevet 9. juli 2007 Forfatter Del Skrevet 9. juli 2007 Har fått det til å fungere nå, legger ved koden når jeg kommer hjem, slik at andre som har problemer med det sammen kanskje kan bruke denne Takk for hjelpen 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å