E-Mail-Nachricht per Telnet versenden

Um eine E-Mail-Nachricht per Telnet zu versenden, folgende Befehle verwenden:

telnet mymailserver 25
HELO local.domain.com
MAIL FROM: someone@example.org
RCPT TO: someone@example.org
DATA
SUBJECT: Mein Betreff

Mein Inhalt
.
QUIT

Jede Zeile mit der Eingabe-Taste abschließen, bis auf SUBJECT, dort zwei mal die Eingabe-Taste betätigen.

mymailserver ist der entsprechende Name oder die IP-Adresse des Mailserver. Z.B. localhost, wenn auf dem lokalen Server der Mailserver läuft.

Hier eine Lösung in C#:

using System;
using System.Net.Mail;

class CMain
{
    public static void Main()
    {
        string host   = "smtp.gmail.com";
        string hostid = "from@gmail.com";
        string hostpw = "password";

        try
        {
            SmtpClient smtp = new SmtpClient();
            smtp.Credentials = new System.Net.NetworkCredential(hostid, hostpw);
            smtp.Host = host;
            smtp.Port = 587;
            smtp.EnableSsl = true;

            MailMessage mm = new MailMessage(hostid, "to@test.com", "Test-Subject", "Test-Body");
            smtp.Send(mm);
            Console.WriteLine("Email sent");
        }
        catch (Exception ex)
        {
            Console.WriteLine("ERROR: " + ex);
        }
    }
}
1 Like

Danke!

Bei SMTP ist es in C# auch immer sehr sinnvoll, die InnerException abzurufen, da dort meistens die eigentliche Serverantwort steht.

Also z.B. so was wie:

catch (Exception ex)
{
    while ( ex != null )
    {
        Console.WriteLine("ERROR: " + ex);
        ex = ex.InnerException;
    }
}

Hallo ich bin ganz neu hier und bin hier zufällig drauf gestosen.
Ich bin ein absoluter Noob in domain usw. aber könnte mir jemand weiterhelfen mit local Domain ich versteh irgendwie nicht ganz was ich dafür einsetzen muss.
L.G.

1 Like