Avatar billede kischi Novice
07. maj 2009 - 21:01 Der er 9 kommentarer og
1 løsning

Kontaktformular

Hej jeg prøver at lave en kontakt formular,
og jeg har skrevet noget kode, men den sender ikke mailen afsted når man trykker send.
Den kommer heller ikke med nogle fejlmeddelelser.
Her er min kode:

cs siden:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Mail;

public partial class dkkontakt : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void submit_click(object sender, EventArgs e)
    {
        MailMessage Emailmsg = new MailMessage("noreply@hotmail.com", "adamkischi@hotmail.com");
        Emailmsg.Subject = "Kontaktform";
        Emailmsg.Body += "E-mail" + email.Text;
        Emailmsg.Body += "Navn: " + name.Text;
        Emailmsg.Body += "Tekst: " + besked.Text;
       
     

    }

}


Håber der er nogle som kan se hvad problemet er?

Tak
Avatar billede jonesw Nybegynder
07. maj 2009 - 21:17 #1
Du mangler jo at sende den... Du har kun lavet et mailmessage objektet...

Du skal så bruge en SmtpMail til at sende den...
Avatar billede jonesw Nybegynder
07. maj 2009 - 21:23 #2
Du kan også bruge SmtpClient:
SmtpClient emailClient = new SmtpClient("din smtp addresse");
emailClient.Credentials = new NetworkCredential("loginnavn", "adgangskode");
//sender mail
emailClient.Send(message);
Avatar billede kischi Novice
07. maj 2009 - 21:43 #3
Nå ja ok, hvordan får jeg fat i min smtp adresse, er det hos min webhotel udbyder eller hos hotmail for eksempel.

Og hvilket login og kodeord skal jeg skrive, er det den jeg bruger til at logge ind på min e-mail eller hvad?
Avatar billede jonesw Nybegynder
07. maj 2009 - 21:54 #4
Jeg er ikke sikker på at du kan få lov til at sende mails via hotmail, for du skal helst bruges deres webmail til at gøre det... Og så vil det jo være nemt at spamme den vej...
Men du har en smtp adresse ved dit webhotel, og jeg mener bare at du skal bruge det som du normalt bruger til at logge ind...
Avatar billede kischi Novice
07. maj 2009 - 22:04 #5
ok men når jeg paster koden ind på min side kommer der en rød streg under: NetworkCredential

når jeg holder musen over står der:

the type or namespace name 'NetworkCredential' could not be found (are you missing a using directive or an assembly reference?)

Ved du hvad det betyder, og hvordan jeg kan rette det?
Avatar billede jonesw Nybegynder
07. maj 2009 - 23:23 #6
det er fordi at du mangler at importere det korrekte libary.

Skriv følgende i toppen:
using System.Net;
Avatar billede jonesw Nybegynder
08. maj 2009 - 16:25 #7
Har dette løst dit problem?
Avatar billede mbm2016 Nybegynder
08. maj 2009 - 20:16 #8
Kan du bruge dette Api til at Sende mailen, altså hvis du bruger Smtp:

public class MailSender
        {
            public event MailSendtEventHandler MailSendt;
            private void KaldMailSendtEvent(MailSendtEventArgs e)
            {
                if (MailSendt != null)
                    MailSendt(new object(), e);
            }

            public BackgroundWorker bgWorker;

            // TO besked
            private string til;
            private string emne;
            private string besked;
            private string fra;
            private bool brughtml;
            private string[] attachments;

            public string Til
            {
                get { return til; }
                set { til = value; }
            }

            public string Emne
            {
                get { return emne; }
                set { emne = value; }
            }

            public string Besked
            {
                get { return besked; }
                set { besked = value; }
            }

            public string Fra
            {
                get { return fra; }
                set { fra = value; }
            }

            public bool Er_Mail_HTML
            {
                get { return brughtml; }
                set { brughtml = value; }
            }

            public string[] Vedhæftede_Filer
            {
                get
                {
                    return attachments;
                }
                set
                {
                    attachments = value;
                }
            }


            // TO sender
            private string brugernavn;
            private string password;
            private string host;
            private int port;

            public string Brugernavn
            {
                get { return brugernavn; }
                set { brugernavn = value; }
            }

            public string Password
            {
                get { return password; }
                set { password = value; }
            }

            public string SmtpHost
            {
                get { return host; }
                set { host = value; }
            }

            public int Port
            {
                get { return port; }
                set { port = value; }
            }


            private MailMessage beskeden;
            private SmtpClient sende;
            public MailSender()
            {
                beskeden = new MailMessage();
                sende = new SmtpClient();
                sende.SendCompleted += new SendCompletedEventHandler(sender_SendCompleted);
                bgWorker = new BackgroundWorker();
                bgWorker.DoWork += new DoWorkEventHandler(bgWorker_DoWork);
            }

            void bgWorker_DoWork(object sender, DoWorkEventArgs e)
            {
                try
                {
                    beskeden.To.Add(til);
                    beskeden.Subject = emne;
                    beskeden.Body = besked;
                    beskeden.IsBodyHtml = brughtml;
                    if (fra.IndexOf("@") > -1 && fra.IndexOf(".") > -1)
                    {
                        beskeden.From = new MailAddress(fra);


                        if (attachments != null)
                        {
                            foreach (string fil in attachments)
                            {
                                Attachment at = new Attachment(fil);
                                beskeden.Attachments.Add(at);
                            }
                        }

                        NetworkCredential credential = new NetworkCredential(brugernavn, password);
                        sende.Host = host;
                        sende.Port = port;
                        sende.UseDefaultCredentials = false;
                        sende.Credentials = credential;
                        sende.SendAsync(beskeden, new object());

                    }
                }
                catch { }
            }

            void sender_SendCompleted(object sender, AsyncCompletedEventArgs e)
            {
                KaldMailSendtEvent(new MailSendtEventArgs(Til, Emne, Besked, Fra, Er_Mail_HTML, Vedhæftede_Filer, Brugernavn, Password, SmtpHost, Port));
            }

            public void Send_Mail()
            {
                try
                {
                    beskeden.To.Add(til);
                    beskeden.Subject = emne;
                    beskeden.Body = besked;
                    beskeden.IsBodyHtml = brughtml;
                    if (fra.IndexOf("@") > -1 && fra.IndexOf(".") > -1)
                    {
                        beskeden.From = new MailAddress(fra);


                        if (attachments != null)
                        {
                            foreach (string fil in attachments)
                            {
                                Attachment at = new Attachment(fil);
                                beskeden.Attachments.Add(at);
                            }
                        }

                        NetworkCredential credential = new NetworkCredential(brugernavn, password);
                        sende.Host = host;
                        sende.Port = port;
                        sende.UseDefaultCredentials = false;
                        sende.Credentials = credential;
                        sende.SendAsync(beskeden, new object());

                    }
                }
                catch { }

            }

            public void Send_Async_Mail(){if(bgWorker.IsBusy == false){bgWorker.RunWorkerAsync();}}
        }

        /// <summary>
        /// Repræsentere et delegat, som agere som en håndtering af en bestemt hændelse
        /// </summary>
        public delegate void MailSendtEventHandler(object o, MailSendtEventArgs e);

        /// <summary>
        /// Repræsentere en klasse, hvori hændelses parametre gennemløber
        /// </summary>
        public class MailSendtEventArgs : EventArgs
        {
            private readonly string till;
            private readonly string emnee;
            private readonly string beskedd;
            private readonly string fraa;
            private readonly bool erhtmll;
            private readonly string[] vedhæftede_filerr;
            private readonly string brugernavnn;
            private readonly string passwordd;
            private readonly string smtphostt;
            private readonly int portt;

            public MailSendtEventArgs(string til, string emne, string besked, string fra, bool erhtml, string[] vedhæftede_filer, string brugernavn, string password, string smtphost, int port)
            {
                this.till = til;
                this.emnee = emne;
                this.beskedd = besked;
                this.fraa = fra;
                this.erhtmll = erhtml;
                this.vedhæftede_filerr = vedhæftede_filer;
                this.brugernavnn = brugernavn;
                this.passwordd = password;
                this.smtphostt = smtphost;
                this.portt = port;
            }

            public string Til
            {
                get
                {
                    return till;
                }
            }

            public string Emne
            {
                get
                {
                    return emnee;
                }
            }

            public string Besked
            {
                get
                {
                    return beskedd;
                }
            }

            public string Fra
            {
                get
                {
                    return fraa;
                }
            }

            public bool Er_HTML
            {
                get
                {
                    return erhtmll;
                }
            }



            public string[] Vedhæftede_Filer
            {
                get
                {
                    return vedhæftede_filerr;
                }
            }

            public string Brugernavn
            {
                get
                {
                    return brugernavnn;
                }
            }

            public string Password
            {
                get
                {
                    return passwordd;
                }
            }

            public string SmtpHost
            {
               
                get
                {
                    return smtphostt;
                }
            }

            public int Port
            {
                get
                {
                    return portt;
                }
            }

        }
Avatar billede kischi Novice
11. maj 2009 - 14:15 #9
Tak Jonesw, nu kommer der ihvertfald ikke nogen fejl, men den sender heller ikke mailen, til min mailadresse, så jeg ved ikke hvad der er galt?



Og tak mbm2007,

Men jeg ved ikke helt hvad alt det kode er, og hvor skal jeg så indsætte min egen mail adresse og alt det der som jeg selv skal indsætte?

min nuværende kode ser således ud:


using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Mail;
using System.Net;

public partial class dkkontakt : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void submit_click(object sender, EventArgs e)
    {
        MailMessage Emailmsg = new MailMessage("noreply@hotmail.com", "adam@fullcreation.com");
        Emailmsg.Subject = "Kontaktform";
        Emailmsg.Body += "E-mail" + email.Text;
        Emailmsg.Body += "Navn: " + name.Text;
        Emailmsg.Body += "Tekst: " + besked.Text;


        SmtpClient emailClient = new SmtpClient("mail.fullcreation.com");
        emailClient.Credentials = new NetworkCredential("adam@fullcreation.com", "kodeord");

       
    }

}

Er det noget man kan arbejde videre med, så man kan få det til at virke?

Tak
Avatar billede kischi Novice
25. januar 2011 - 16:41 #10
tak, jeg lukker denne tråd og siger tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester