eMail form with Attachments,

Status
Niet open voor verdere reacties.

Roadrocker66

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

Heb een eMail_form met een bijlage textbox (Attachments) en een add button.
Alles gaat goed en heb geen fouten.
Kan de eMail gewoon verzenden.
Maar de bijlage zendt ie niet mee.

Wat gaat hier fout?

Heb de volgende codes:
Code:
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net.Mail;
using System.Text;
using System.Windows.Forms;   

namespace Traveler2011
{
    public partial class eMail_form : Form
    {
        ArrayList alAttachments;
        public eMail_form()
        {
            InitializeComponent();

De verzend button code:
Code:
        private void SendMail_btn_Click_1(object sender, EventArgs e)
        {
            MailMessage mail = new MailMessage(from.Text, to.Text, subject.Text, body.Text);
            SmtpClient client = new SmtpClient(smtpServer.Text);
            client.Port = 587;
            client.Credentials = new System.Net.NetworkCredential(username.Text, password.Text);
            client.EnableSsl = true;
            client.Send(mail);
            MessageBox.Show("Mail Send", "Success", MessageBoxButtons.OK);

            from.Clear();
            to.Clear();
            subject.Clear();
            attachments.Clear();
            smtpServer.Clear();
            username.Clear();
            password.Clear();
            body.Clear();

En tenslotte de Add button code:
Code:
        private void Add_btn_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                try
                {

                    string[] arr = openFileDialog1.FileNames;

                    alAttachments = new ArrayList();
                    attachments.Text = string.Empty;
                    alAttachments.AddRange(arr);


                    foreach (string s in alAttachments)
                    {
                        attachments.Text += s + "; ";
                    }
                }

                catch (Exception ex)
                {

                    MessageBox.Show(ex.Message, "Error");

                }
            }
        }

Heb geprobeerd van code:
Code:
            MailMessage mail = new MailMessage(from.Text, to.Text, subject.Text, body.Text);

de code:
Code:
             [U]MailMessage mail = new MailMessage(from.Text, to.Text, subject.Text, body.Text, attachments.Text)[/U];
te maken maar dan krijg ik de fout melding:
Error 1 'System.Net.Mail.MailMessage' does not contain a constructor that takes 5 arguments.

Kan iemand mij hier bij helpen aub.

Mvg. Roadrocker66
 
de error message houd in dat je teveel parameters aan de constructor meegeeft.

als classes X de volgende constructor heeft:

public X( int value1, int value2) {}

dan kan je niet de class aanroepen door te zeggen:

X testclass = new X(1,2,3);

je geeft dan 3 parameters mee ipv 2. je kan heel makkelijk zien wat voor parameters je kan meesturen door met je muis over de class te hoveren (in dit geval je muis even op de X in de regel new X(1,2,3) houden.

Verder zie ik dat je als attachment een de text van een attachment toevoegt. weet zo uit me hoofd niet precies wat die meestuurd maar ik denk enkel de naam (dit is niet wat je wilt neem ik aan).

Ik ben nu nog ana het werk (weekendbaandje ) dus kan nog niet voor je kijken. Ik ben rond een uurtje of 3-4 klaar en dan kijk ik er wel even naar
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan