eMail form.

Status
Niet open voor verdere reacties.

Roadrocker66

Gebruiker
Lid geworden
7 mei 2009
Berichten
104
Hallo allemaal.
Roadrocker66 hier weer eens.

Heb een eMail form gemaakt met 4 textboxes en 1 Send button.
TextBox1 = From
TextBox2 = To
TextBox3 = Subject
TextBox4 = Message (Input van de user).

Heb de de volgende code in de button Click event:

Code:
        private void SendMail_btn_Click(object sender, EventArgs e)
        {
            SmtpClient Client = new SmtpClient("smtp.live.com", 587);
            Client.Credentials = new NetworkCredential("user@company","password");
            MailMessage msg = new MailMessage();
            msg.From = new MailAddress(Textfrom.Text);
            [U]msg.To[/U] = [U][U]new MailAddress[/U](Textto.Text[/U]);
            msg.To.Add(new MailAddress(Textto.Text));
            msg.Subject = TextSubject.Text;
            msg.Body = MsgBox.Text;
            try
            {
                Client.Send(msg);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Unable To_lbl Send" + ex.Message);
            }

Wel nu krijg ik een fout melding bij:

Code:
[U]msg.To[/U] = [U][U]new MailAddress[/U](Textto.Text)[/U];

Error 1 Property or indexer 'System.Net.Mail.MailMessage.To' cannot be assigned to -- it is read only

Error 2 Cannot implicitly convert type 'System.Net.Mail.MailAddress' to 'System.Net.Mail.MailAddressCollection'

Weet iemand wat er hier mis gaat?

Zou er ook nog graag een "Send bestand en/of foto" functie in willen verwerken.
Misschien kan iemand mij ook hier bij helpen!

Mvg. Roadrocker66
 
eMail form

Heb inmiddels een andere manier geprobeerd.
Krijg nu geen fout melding alleen een melding in messageBox ex

Dit is mijn nieuwe code:

Code:
        private void SendMail_btn_Click(object sender, EventArgs e)
        {
            SmtpClient smtpServer = new SmtpClient();
            MailMessage mail = new MailMessage();
            smtpServer.Credentials = new System.Net.NetworkCredential("my hotmail account", "password");
            smtpServer.Port = 587;
            smtpServer.Host = "smtp.live.com";//Use smtp.live.com for hotmail accounts
            smtpServer.EnableSsl = true;
            MailMessage msg = new MailMessage();
            msg.From = new MailAddress(Mail_from.Text);
            msg.To.Add(new MailAddress(Mail_to.Text));
            msg.Subject = Subject.Text;
            msg.Body = Body.Text;
            try
            {
                smtpServer.Send(msg);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Unable to Send" + ex.Message);
            }
        }

Na verzenden verschijnt de volgende message:

Unable to sendMailBox unavailable.
The server responce was 5.7.3 requested action aborted,
user not anthenticated.

Snap er niets meer van.
Wie o wie kan mij helpen?

Mvg. Roadrocker66
 
Je hebt toch wel je echte credentials ingevuld waar in de code "my hotmail account", "password" staat?
 
eMail form

He hallo Gerwin.

Ja hoor.
Volgens mij moest dat zijn:
1 mijn email adres
2 Mijn wachtwoord.

Had ook nog en volgende code geprobeerd:
Met 7 txtboxes
1 from 4 smtp server
2 to 5 Username
3 subject 6 password

7 body

Code:
        private void SendMail_btn_Click(object sender, EventArgs e)
        {
            MailMessage mail = new MailMessage(from.Text, to.Text, Subject.Text, Body.Text);
            SmtpClient Client = new SmtpClient(Smtp.Text);
            Client.Port = 587;
            Client.Credentials = new System.Net.NetworkCredential(Username_txt.Text, Password_txt.Text);
            Client.EnableSsl = true;
            Client.Send(mail);
            MessageBox.Show("Mail send !", "Succes", MessageBoxButtons.OK);
        }

Werkt ook niet.
Daar krijg ik een foutmelding op:

Code:
Client.Send(mail);

Snap er niets van.
 
eMail form

Volgens mij heb ik die voor het laatste ontwerp niet nodig.
Daar ligt het volgens mij aan de invoer van de gebruiker.
Ik bedoel deze:

Code:
            SmtpClient Client = new SmtpClient(Smtp.Text);
            Client.Port = 587;
            Client.Credentials = new System.Net.NetworkCredential(Username_txt.Text, Password_txt.Text);
            Client.EnableSsl = true;
            Client.Send(mail);

Als dit niet zo is hoor ik dat graag van je.
Als ik nu een email form maak die ik uitsluitend naar mijzelf kan zenden lukt het me wel.
Maar dat is niet de bedoeling.

Daarnaast zou het ook mooi zijn als ik ook in mijn programma e-mail zou kunnen ontvangen.
Net als in @hotmail.
Ik weet ik vraag nog al wat.

Maar ik denk dat iedereen die een programma wil maken, het ook perfect wil hebben.
Ik hoop dat jij of wie dan ook me verder kan en wil helpen.

Mvg. Roadrocker66
 
Ik volg je niet helemaal meer, de poort die je gebruikt btw werkt alleen voor hotmail. De standaard smtp poort is eigenlijk 25.
 
eMail form

Ik kan mij er iets bij voorstellen.

Laten we die andere e-mail formulieren maar ff vergeten.
Nu gaat het mij om het laatste ontwerp.

Hier heb ik een textbox1 (from)(je eigen e-mail), textbox2 (to), textbox3 (smtp server), textbox4 username(weer je e-mail adres), textbox5 password(je wachtwoord), Textbox6 Omschrijving(Subject) en textbox7 Message( je uiteindelijke bericht).
En de button send

Wanneer ik hem ga debuggen kom ik tot aan send(mail) en dan stopt ie.
Iets met de exceptions geloof ik!
Melding SmtpException was Unhandled.

Met de poort op 25 doet die dat ook.

Mvg. Roadrocker66
 
Post de uitkomst van dit eens:

[CPP]
try
{
// code waar alles fout gaat
}
catch(SmtpException mailError)
{
textBox7.Text = mailError.Message; // plaats foutmelding in message textbox
}
[/CPP]
 
eMail form

Ok.
Nu krijg ik de foutmelding: (Failure sending mail) in de body (het bericht venster).
TextBox7 = Body.
Verder geen omschrijving van de fout.

Zal ik hem nog eens zippen en toe sturen?

Mvg. Roadrocker66
 
Ja doe dat maar, van die foutmelding worden we ook niet heel veel wijzer. :P
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan