Gå til innhold

Anbefalte innlegg

Skrevet

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

Videoannonse
Annonse
Skrevet

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

Skrevet (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 av jorn79
Skrevet

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?

Skrevet
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.

Skrevet

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.

Skrevet
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?

Skrevet

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.

Skrevet

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...