Autor Beitrag
JoKaBo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157



BeitragVerfasst: Mi 22.06.11 19:14 
Hallo,
Ich Möchte Den Text aus einer Textbox Per E-Mail Verschicken.
Das soll Passiren wen man auf den Button "senden" drückt

Das ist ein Testprojekt
Wen ich in die Textbox z.B. "Thomas" eingebe Soll in der E-Mail stehen
Zitat:
Hallo "Thomas",

Es soll nicht Über Outlock Gehen Am Besten über Keine anderen Programme geht das ?? und wie mache ich das ?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 22.06.11 20:43 
Hallo,

dies geht mit der SmtpClient-Klasse aus dem System.Net.Mail-Namespace.
Schau dir am besten das Beispielprogramm aus der MSDN an.

Du benötigst selbstverständlich einen entsprechenden Mail(Smtp)-Server, über den die Mail dann verschickt wird. Diesen gibt du entweder im Konstruktor oder aber mit den Eigenschaften Host und Port an.
Und den Text gibst du dann mittels der MailMessage-Klasse an.
JoKaBo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157



BeitragVerfasst: Mi 22.06.11 21:10 
Ich habe Einen Code:
msdn.microsoft.com/d...mail.smtpclient.aspx
Folgene Fehler:
1. UserState
2. Cancelled
3. mailSent
4. Error
5. SendCompletedCallback

Ich Habe Schon Auf der Seite geschaut aber da finde ich nicht Was das sein soll (Welches Control dazu gehört vil. kannst es mir sagen ????


ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.Mail;

namespace MailSenden
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
           

        }

        private void Form1_Load(object sender, EventArgs e)
        {           

        }

        private void button1_Click(object sender, EventArgs e)
        {
            
            String token = (string)e.UserState;

            if (e.Cancelled)
            {
                Console.WriteLine("[{0}] Send canceled.", token);
            }
            if (e.Error != null)
            {
                Console.WriteLine("[{0}] {1}", token, e.Error.ToString());
            }
            else
            {
                Console.WriteLine("Message sent.");
            }
            mailSent = true;
        }
        public static void Main(string[] args)
        {
           
            SmtpClient client = new SmtpClient(args[0]);
            
            MailAddress from = new MailAddress("Jonah1998@hotmail.de",
               "Jane " + (char)0xD8 + " Clayton",
            System.Text.Encoding.UTF8);
            
            MailAddress to = new MailAddress("MyGamesPlay@hotmail.com");
        
            MailMessage message = new MailMessage(from, to);
            message.Body = "This is a test e-mail message sent by an application. ";
           
            string someArrows = new string(new char[] { '\u2190''\u2191''\u2192''\u2193' });
            message.Body += Environment.NewLine + someArrows;
            message.BodyEncoding = System.Text.Encoding.UTF8;
            message.Subject = "test message 1" + someArrows;
            message.SubjectEncoding = System.Text.Encoding.UTF8;
           
            client.SendCompleted += new
            SendCompletedEventHandler(SendCompletedCallback);
            
            string userState = "test message1";
            client.SendAsync(message, userState);
            Console.WriteLine("Sending message... press c to cancel mail. Press any other key to exit." );
            string answer = Console.ReadLine();
          
            if (answer.StartsWith("c") && mailSent == false)
            {
                client.SendAsyncCancel();
            }
            
            message.Dispose();
            Console.WriteLine("Goodbye.");
        }
    }
}
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 23.06.11 08:48 
Hallo,

was soll denn die Button-Click-Methode dort?
Dies soll doch die SendCompletedCallback-Methode sein, so wie im Beispiel (und die Variable 'mailSent' hast du auch nicht übernommen):
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
static bool mailSent = false;

private static void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
{
    // Get the unique identifier for this asynchronous operation.
    String token = (string) e.UserState;

    // ...
}

Bedenke aber, daß das Beispiel für eine Konsolenanwendung gedacht ist (sieht man ja an Console.WriteLine und Console.ReadLine), d.h. die Zeilen nach "client.SendAsync(message, userState);" sind überflüssig für eine GUI-Anwendung.
Das Abbrechen per "client.SendAsyncCancel();" könntest du dann aber über einen Button-Click realisieren.
JoKaBo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 157



BeitragVerfasst: Do 23.06.11 14:55 
Hallo,

Ich Habe Jetzt einen anderen Code Aber dort gets auch net Aber Auf dem Forum wo ich es her habe steht das es geht Was ist an diesem code falsch ?

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
 private void button1_Click(object sender, EventArgs e)
        {

            string strBetreff = textBox1.Text;
            string strNachricht = "Inhalt der Mail";
            string strNachricht1 = richTextBox1.Text;
            string strVon = "Jonah1998@hotmail.de";
            string strAn  = "Joah1998@hotmail.de";
            string strSmtpServer = "pop3.live.com";
            string strUser = "User";
            string strPasswort = "xxx";

            MailMessage mail = new MailMessage();
            MailAddress from = new MailAddress(strVon);
            mail.To.Add(strAn);
            mail.From = from;
            mail.Subject = strBetreff;            
            mail.Body = strNachricht;
            mail.Body = strNachricht1;
            string host = strSmtpServer;
            int port = 25;
            SmtpClient client = new SmtpClient(host, port);

            System.Net.NetworkCredential nc = new System.Net.NetworkCredential(strUser, strPasswort);
            client.Credentials = nc;
            client.Send(mail);