[Tutorial] How To send Mails in C# inkl. Fake Sender

03/29/2012 12:55 JPGaming#1
Ich hab mal was altes ausgekramt, welches im C# Konsolenfenster ermöglicht, Mails zu versenden. Anzahl, [glücklicher] Empfänger, Absender, Fake Absender, SMTP ist beliebig änderbar.

Leider war ich damals recht neu, aber es erfüllt seinen Zweck. Daher möchte ich es euch nicht vorenthalten.

++DIESES PROGRAMM HAT KEINE FEHLERBEDIENUNG++ <- Daher müssen alle Angaben stimmmen.

Was brauchen wir?
Eine E-Mail Adresse, das gültige Passwort dazu, den SMTP Server des Mail Hoster, und natürlich ein Programm zum kompilieren des Quellcodes.


Fangen wir mal an..

Als erstes schreiben wir die using Includes
Code:
using System;
using System.Text;
using System.Net.Mail; //Wird für die Mail Funktion gebraucht
Daraufhin folgt die Deklarierung der Variablen:
Code:
int spamanzahl = 5; //Anzahl der Mails, die versendet werden sollen
int puffer = 0;

string strBetreff = "SUBJECT";
string strNachricht = "CONTENT";
string strVon = "SET_FAKE_SENDER"; /*Von wem kommt die E-Mail? Die echte E-Mail ist nicht sichtbar*/
string strAn = "SET_REAL_EMPFÄNGER";
string strSmtpServer = "SET_REAL_SMTP_SERVER";
string strUser = "SET_REAL_EMAIL";
string strPasswort = "SET_REAL_PASSWORT";
Die Values der Variablen müsst Ihr natürlich zum Eigenbedarf ändern!!

Danach kommt die Zusammensetzung der Mail:
Code:
MailMessagemail=newMailMessage(); //Erstellt die Variable, definiert eine Neue Mail
MailAddressfrom=newMailAddress(strVon); //Fake Absender
mail.To.Add(strAn); //Glücklicher Empfänger
mail.From=from;//Echter Absender - benötigt zur Auth
mail.Subject=strBetreff; //Betreff..
mail.Body=strNachricht; //Content.. 
stringhost=strSmtpServer; //SMTP Server
intport=25;//Deren Port - GGF.ändern, 25 ist Defautl bei den meisten
SmtpClientclient=newSmtpClient(host,port); //SMTPCLient wird somit definiert

System.Net.NetworkCredentialnc=newSystem.Net.NetworkCredential(strUser,strPasswort); //Wird authed
client.Credentials=nc;
So, nun haben wir eine Mail, die wir nun absenden könnten!

Da wir am Anfang eine Anzahl definiert haben, erfolgt das senden in einer Schleife
Code:
while(spamanzahl > puffer) //Überprüft 2 Parameter..
{
client.Send(mail); //Sendet Mail
Console.WriteLine("\nMailgesendet!"); //Bestätigung
puffer++; //Wird hochgezählt
}
Und zum Schluss
Quote:
Console.ReadKey();
Komplett schaut das ganze aus wie folgt:

Code:
using System;
using System.Text;
using System.Net.Mail;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int spamanzahl = 5; //Anzahl der Mails, die versendet werden sollen
            int puffer = 0;

                    string strBetreff = "SUBJECT";
                    string strNachricht = "CONTENT";
                    string strVon = "SET_FAKE_SENDER"; //Von wem kommt die E-Mail? Die echte E-Mail ist nicht sichtbar
                    string strAn = "SET_REAL_EMPFÄNGER";
                    string strSmtpServer = "SET_REAL_SMTP_SERVER";
                    string strUser = "SET_REAL_EMAIL";
                    string strPasswort = "SET_REAL_PASSWORT";

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

                    System.Net.NetworkCredential nc = new System.Net.NetworkCredential(strUser, strPasswort);
                    client.Credentials = nc;
                    while (spamanzahl != puffer)
                    {
                        client.Send(mail);
                        Console.WriteLine("Mail gesendet!");
                        puffer++;
                    }
            Console.ReadKey();
        }
    }
}
Und nun dürft Ihr kompilieren, und habt euer Mail Programm! :)

Viel Spaß beim E-Mail versenden.