Avatar billede nat Nybegynder
14. april 2009 - 11:39 Der er 9 kommentarer og
1 løsning

c# afsend mail

Jeg har følgende:

//Afsend mail med system.net.mail

        MailAddress from = new MailAddress("webmaster@min.dk");

        MailAddress to = new MailAddress(TB_mailadr.Text);

        MailMessage myMail = new MailMessage(from, to);
        myMail.Subject = "Subject på email";

        myMail.Body = TextToMailBody();

        SmtpClient client = new SmtpClient(smtp);


Jeg får følgende fejl når jeg prøver at sende mailen:

The parameter 'address' cannot be an empty string.
Parameter name: address

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: The parameter 'address' cannot be an empty string.
Parameter name: address

Kan se at fejlen opstår i To hvor jeg får mailadressen fra en textboks. Hvad gør jeg galt????
Avatar billede CCodam Nybegynder
14. april 2009 - 11:48 #1
Du er sikker på at TB_mailadr.Text peger på den rigtige control, og at den indeholder data??

Derudover vil jeg foreslå dig at sætte Encoding type på dit subject og body

myMail.SubjectEncoding = System.Text.Encoding.UTF8;
myMail.BodyEncoding =  System.Text.Encoding.UTF8;
Avatar billede CCodam Nybegynder
14. april 2009 - 11:53 #2
Eller se om følgende virker i stedet:

MailMessage myMail = new MailMessage();

myMail.From = new MailAddress("webmaster@min.dk");
myMail.To.Add(new MailAddress(TB_mailadr.Text));

myMail.Subject = "Subject på email";
myMail.SubjectEncoding = System.Text.Encoding.UTF8;

myMail.Body = TextToMailBody();
myMail.BodyEncoding =  System.Text.Encoding.UTF8;

SmtpClient client = new SmtpClient(smtp);
client.Send(myMail);
Avatar billede nat Nybegynder
14. april 2009 - 11:55 #3
Jeps, det er en form hvor man skal tilmelde sig, så man skriver sin email i en tekstbox og vælger knappen tilmeld efterfølgende der så gør det i mit eks.

Og ja, min tekstboks med mailadressen ser således ud:

<asp:TextBox ID="TB_mailadr" runat="server" CausesValidation="True" AutoCompleteType="Email"></asp:TextBox>

Jeg har endda validation på, så hvis der ikke står noget i emailfeltet så får jeg det at vide og der sker ikke noget før end at der er skrevet en valid emailadresse i feltet.
Avatar billede CCodam Nybegynder
14. april 2009 - 12:01 #4
#3 Afprøv lige mit script i #2 :)
Avatar billede nat Nybegynder
14. april 2009 - 12:43 #5
Hmm det hjalp desværre ikke, får stadigvæk samme fejl. Det mærkelige er at det har virket før. Men jeg har efterfølgende sat en CustomValidator på en checkboxlist der er på siden, og tror måske at der er gået lidt rod i det forskellige validators, så prøver lige at fjerne dem alle sammen, og putte dem på en af gangen.
Avatar billede nat Nybegynder
14. april 2009 - 12:57 #6
Hm det hjalp heller ikke at prøve at fjerne validatorne - får stadigvæk samme fejl :o(
Avatar billede nat Nybegynder
15. april 2009 - 08:16 #7
Nogen der ved var der går galt, siden jeg får den fejl????
Avatar billede nat Nybegynder
15. april 2009 - 08:53 #8
Åhh fandt min fejl, havde et cleanUp metode der blev kaldt i pageload, som så fik tømt mailadresen før den nåede at blive brugt.

CCodam smider du ikke et svar?! Og tak for hjælpen
Avatar billede CCodam Nybegynder
15. april 2009 - 09:08 #9
#7 Der er intet i vejen med det script du har givet os, så fejlen ligger højst sandsynligt i TB_mailadr.Text...

Kan du evt. prøve at lave en MessageBox.Show(TB_mailadr.Text);


Note:
Du kan også undgå at lave New MailAddress, da MailMessage() godtager strings direkte...
MailMessage myMail = new MailMessage("webmaster@min.dk", TB_mailadr.Text);
Men det hjælper jo nok ikke på dit problem ;)
Avatar billede CCodam Nybegynder
15. april 2009 - 09:10 #10
#8 Jaah ok, glæder mig du fandt fejlen :) Det begyndte også at irritere mig lidt :P
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
Kurser inden for grundlæggende programmering

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