Avatar billede mortensf Nybegynder
20. september 2004 - 14:23 Der er 10 kommentarer og
1 løsning

hjælp til autogenereret email i asp.net

En lille oversigt.
Jeg har lavet en simpel formular hvor bruger bliver bedt om at skrive navn, adresse etc. Data bliver derefter gemt i en accesdatabase. Det skal lige siges at det er salgside jeg har lavet. Kunden bliver tilsidst bedt om at trykke på en knap der hedder "afslut køb". Det skal munde ud i at modtager i dette tilfælde en butik skal modtage en email indeholdende oplysninger vedr. køb fra kunde. Jeg har fundet ud af hvordan jeg sender en email i C# og kan også godt modtage den. Se vedlagte kodestump. Men mit spørgsmål er - hvordan får jeg data fra database sendt med i mailen. Hvilket format skal jeg bruge HTML eller??
<kode>
void btnsubmit_Click(object sender, EventArgs e) {
 
    // opret ny mail message
    MailMessage objMail = new MailMessage();
   
    // afsender/motager information
    objMail.From = "someone@mail.dk";
    objMail.To = "someone@mail.dk";
 
    // opret autogenereret subject tekst
    objMail.Subject = "Auto tekst her";
   
    // send email til modtager
    SmtpMail.SmtpServer = "localhost";
    SmtpMail.Send(objMail);

}
</kode>
Avatar billede arne_v Ekspert
20. september 2004 - 14:35 #1
objMail.Body = tekststring;
objMail.BodyContent = MailFormat.Text;

eller

objMail.Body = htmlstring;
objMail.BodyContent = MailFormat.Html;
Avatar billede mortensf Nybegynder
20. september 2004 - 15:00 #2
Jeg forstår stadigvæk ikke helt hvordan jeg sådan rent praktisk skal implementere det.

Skal jeg starte med at lave en connection til databasen, hvor jeg siger SELECT * og så derefter fylde nogle labels med data eller??

Et eks på hvordan det skal se ud kunne være flg.:
<mail besked modtaget>
"subject"
Du har modtaget en ordre fra <<navn>>
Kunde har bestilt <<vare>>
</mail besked modtaget>

i ovenstående tilfælde kommer navn og vare fra database.
Avatar billede arne_v Ekspert
20. september 2004 - 15:05 #3
Ikke via labels men direkte.

Noget a la:

OleDbConnection con = new OleDbConnection("...");
con.Open();
OleDbCommand cmd = new OleDbCommand("SELECT navn,vare FROM  tabel WHERE ordre=" + id, con);
OldDbDataReader rdr = cmd.ExecuteQuery();
rdr.Read();
string navn = (string)rdr[0];
string vare = (string)rdr[1];
rdr.Close();
con.Close();
objMail.Body = "Dirt navn er " + navn + " og du har bestilt en " + vare;

[lidt skitseret, men du kan sikkert se hvad jeg mener]
Avatar billede mortensf Nybegynder
20. september 2004 - 15:07 #4
okay nu er jeg med. Prøver lige at arbejde lidt med det
Avatar billede mortensf Nybegynder
20. september 2004 - 15:58 #5
Tak Arne v, det virker perfekt..juhu.
Ved du om der er en eller anden tag man kan bruge til at gøre opstillingen lidt pæn aka <tab> så det kommer til at fremstå pænt.
Jeg tildeler dig selvfølgelig point
Avatar billede arne_v Ekspert
20. september 2004 - 16:12 #6
text : brug mellemrun etc.

html : så er der jo frit valg på alle hylder med <ul>, <ol>, <table>, <div> etc.
Avatar billede arne_v Ekspert
20. september 2004 - 16:13 #7
og et svar
Avatar billede burningice Nybegynder
21. september 2004 - 13:38 #8
mon ikke String.Format() og {0}, {1} osv bliver pænere?

Altså

string text = "Dit navn er {0} og du har bestilt en {1}
objMail.Body = String.Format(text, navn, vare);
Avatar billede arne_v Ekspert
21. september 2004 - 21:15 #9
Hvorfor ?
Avatar billede burningice Nybegynder
22. september 2004 - 07:57 #10
fordi at "..."+ var +"/"+ var1 +"+"+ var4 +"-"

hurtigt går hen og bliver uoverskueligt, især når at man skifter hutigt imellem dem
Avatar billede arne_v Ekspert
22. september 2004 - 21:49 #11
Der har jeg en anden opfattelse.

sprintf funktionaliteten synes jeg kun er nødvendig i sprog som ikke kan
addere strenge.
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