tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
586
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von GalaxyWarrior
    GalaxyWarrior GalaxyWarrior ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    Grünberg (Hessen)
    Beiträge
    592
    Hallo Community,

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

    Code :
    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
    
    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 :
    1
    2
    3
    4
    5
    
    Unstable:
            (IP,COUNT)
     
    Down:
            (IP)

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

    Gruß GalaxyWarrior
     

  2. #2
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Hi.

    Zum Problem: Vielleicht liegts daran, dass du nur \n als Zeilenende und nicht \r\n benutzt. (RFC 5321, 2.3.8 Lines)

    Aber warum benutzt du nicht einfach die Klassen in System.Web.Mail?

    lg,..
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  3. #3
    Avatar von GalaxyWarrior
    GalaxyWarrior GalaxyWarrior ist offline Mitglied Platin
    Registriert seit
    Jan 2004
    Ort
    Grünberg (Hessen)
    Beiträge
    592
    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
     

  4. #4
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Zitat Zitat von GalaxyWarrior Beitrag anzeigen
    System.Net.Mail (Web.Mail ist ja veraltet)
    Arrr.. ja, wollte dir auch System.Net.Mail verlinken.

    Aber fein das alles geht.
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

Ähnliche Themen

  1. Office Interopt Outlook RTF E-Mail Body
    Von lusiphur im Forum .NET Café
    Antworten: 0
    Letzter Beitrag: 10.12.09, 13:15
  2. Mail Body und/oder Header auslesen?
    Von speedyggg im Forum PHP
    Antworten: 2
    Letzter Beitrag: 24.10.06, 08:27
  3. udp socket, wie sende ich etwas zum Server
    Von Fridulin im Forum .NET Archiv
    Antworten: 6
    Letzter Beitrag: 10.03.05, 11:04
  4. [c++] socket.h Datei fehlt.
    Von Nelly im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 25.09.04, 17:31
  5. Dateien sende über Socket
    Von ProgX im Forum C/C++
    Antworten: 11
    Letzter Beitrag: 26.05.04, 18:04