Gå til innhold

Anbefalte innlegg

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
Videoannonse
Annonse

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
        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
Lenke til kommentar
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
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

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