Mail per Socket sende. Body fehlt

GalaxyWarrior

Erfahrenes Mitglied
Hallo Community,

ich versuche über Sockets aus C# eine Mail zu verschicken. Das sieht bei mir folgendermaßen aus:

Code:
private void Send(string msg)
        {
            Send(msg, true);
        }

        private void Send(string msg, bool rcv)
        {
            byte[] buffer = new byte[256];
            socket.Send(System.Text.Encoding.ASCII.GetBytes(msg));
            Console.Write(msg);

            if (rcv)
            {
                int scount = socket.Receive(buffer, SocketFlags.None);
                if (scount > 0)
                    Console.WriteLine(System.Text.Encoding.ASCII.GetString(buffer));
            }
        }

        private void SendMail(MailMessage msg)
        {
            IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 25);
            socket = new Socket(ipep.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            socket.Connect(ipep);
            Send("HELO amanda\n");
            Send("MAIL FROM:" + msg.From + "\n");
            Send("RCPT TO:" + msg.To + "\n");
            Send("DATA\n");
            Send("SUBJECT:" + msg.Subject + "\n",false);
                Send(msg.Body,false);
            Send(".\n");
            socket.Close();
        }

Das funktioniert auch, nur dass die Mails ohne Body ankommen. Wenn ich mit der selben Kommandofolge eine Mail per Telnet verschickt (mit selbem Body) kommt sie korrekt an.

Hat jemand ne Idee?

Body ist eine Nachricht in der Form:

Code:
Unstable:
        (IP,COUNT)

Down:
        (IP)

Der Body des MailMessage Objekts sieht dann so aus:
Code:
Unstable:\n\t(IP,COUNT)\n\nDown:\n\t(IP)\n

Gruß GalaxyWarrior
 
Hi,
hatte das Problem dass er keine Mails verschickt hat über System.Net.Mail (Web.Mail ist ja veraltet)
Allerdings lag das an einem Tippfehler der Absenderadresse (fix im Quellcode) welche so auch per Telnet nicht funktionierte.
Da ich bei dem Versuch das über Telnet (mit putty) zu schicken die Adresse selber eingegeben habe habe ich das nicht gemerkt. Erst als ich sie aus dem Quellcode kopierte.
Jetzt geht alles.

Gruß GalaxyWarrior
 

Neue Beiträge

Zurück