Ergebnis 1 bis 6 von 6
  1. #1
    Support-Hure Avatar von sn0w
    Registriert seit
    18.09.2007
    Beiträge
    1.919

    Standard C++ Email versenden mit Dateianhang

    Ich wollte fragen, wie man mit C++ eine Email versendet mit Dateianhang.
    Hab schon einige Codes ausprobiert, aber die sind meistens für C.
    Pls einfach mal nen paar Codeschnipsel.
    Wäre klasse, wenn es auf der HP auch noch erklärt wird.

    Mfg

    Boardregeln | SuFu | Blackmarket | PM

    Fragezeichen und Ausrufezeichen sind keine Rudeltiere!


  2. #2
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard Re: C++ Email versenden mit Dateianhang

    Zitat Zitat von Dragonfighter21
    Hab schon einige Codes ausprobiert, aber die sind meistens für C.
    Und was ist dann das Problem?
    Wenn der Code sich größenmäßig in Grenzen hält, dann poste den hier mal und sag mir wo fehler auftauchen.
    Ansonsten -> socket API und das Protokoll deines Mailservers mal genauer unter die Lupe nehmen.


    mfG. BlackBerry

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  3. #3
    Support-Hure Avatar von sn0w
    Registriert seit
    18.09.2007
    Beiträge
    1.919

    Standard

    okay dann poste ich hier mal alle Codes, die ich gefunden habe^^
    Compiler: Dev C++
    Code für: C#
    Code:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Net.Mail;
    
    namespace mailer
    {
        class Program
        {
            static void Main(string[] args)
            {
                try {
    
                    MailAddress from = new MailAddress("mail@from.com", "from name");
                    MailAddress to = new MailAddress("mail@to.com", "to name");
                    MailMessage message = new MailMessage(from, to);
                    message.Subject = "Our Subject";
                    message.Body = "This is a message from Kintaro...";
    
                    SmtpClient emailClient = new SmtpClient("smtp.meinserver.com", 587);
                    System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential("loginname", "loginpasswort");
                    emailClient.UseDefaultCredentials = false;
                    emailClient.Credentials = SMTPUserInfo;
                    emailClient.Send(message);
                    Console.WriteLine("Message Sent");
    
                } catch (Exception ex) {
                    Console.WriteLine(ex.ToString());
                }
            }
        }
    }
    Fehlercode:
    Code:
    C:/Dev-Cpp/dev/mail.cpp:1: error: syntax error before `;' token
    
    C:/Dev-Cpp/dev/mail.cpp:10: error: `string' was not declared in this scope
    C:/Dev-Cpp/dev/mail.cpp:10: error: syntax error before `]' token
    C:/Dev-Cpp/dev/mail.cpp:9: warning: all member functions in class `
       mailer::Program' are private
    C:/Dev-Cpp/dev/mail.cpp: In static member function `static void 
       mailer::Program::Main(...)':
    C:/Dev-Cpp/dev/mail.cpp:14: error: `MailAddress' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:14: error: (Each undeclared identifier is reported only 
       once for each function it appears in.)
    
    C:/Dev-Cpp/dev/mail.cpp:14: error: syntax error before `}' token
    C:/Dev-Cpp/dev/mail.cpp:16: error: `MailMessage' undeclared (first use this 
    
       function)
    C:/Dev-Cpp/dev/mail.cpp:17: error: `message' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:20: error: `SmtpClient' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:20: error: syntax error before `}' token
    C:/Dev-Cpp/dev/mail.cpp:21: error: `System' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:21: error: syntax error before `}' token
    C:/Dev-Cpp/dev/mail.cpp:22: error: `emailClient' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:23: error: `SMTPUserInfo' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:25: error: `Console' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:27: error: syntax error before `}' token
    C:/Dev-Cpp/dev/mail.cpp: At global scope:
    C:/Dev-Cpp/dev/mail.cpp:30: error: parse error at end of saved function text
    Code für: C++ (<- hab ka, warum der dann nicht funzt -.-)
    Code:
    int _tmain(void)
    {
       LPMAPISENDMAIL pfnSendMail;
       MapiRecipDesc  rdOriginator;
       MapiRecipDesc  rdRecipient[1];
       LPMAPILOGOFF   pfnLogoff;
       LPMAPILOGON    pfnLogon;
       MapiMessage    mapimsg;
       HINSTANCE      hDll;
       LHANDLE        lHnd;
       MapiFileDesc   mapifiledesc[2];
    
       if(NULL == (hDll = LoadLibrary(TEXT("MAPI32.DLL"))))
       {
           _tprintf(TEXT("could not load mapi32.dll, ErrorCode: %u"), GetLastError());
           return(0);
       }
    
    // Die Funktionen aus der DLL holen
       pfnLogon    = (LPMAPILOGON)GetProcAddress(hDll, "MAPILogon");
       pfnLogoff   = (LPMAPILOGOFF)GetProcAddress(hDll, "MAPILogoff");
       pfnSendMail = (LPMAPISENDMAIL)GetProcAddress(hDll, "MAPISendMail");
    
       pfnLogon(0, NULL, NULL, 0, 0, &lHnd); // Einloggen
    
       mapimsg.ulReserved   = 0;
       mapimsg.lpszSubject  = "Subject";
       mapimsg.lpszNoteText = "Hi!\n\nAnbei ist eine Datei!\n\nGruß\nIch\n"; // EMailtext
       mapimsg.lpszMessageType    = NULL;
       mapimsg.lpszDateReceived   = NULL;
       mapimsg.lpszConversationID = NULL;
       mapimsg.flFlags      = 0;
       mapimsg.lpOriginator = &rdOriginator;
       mapimsg.nRecipCount  = NUM_ELEMENTS(rdRecipient);
       mapimsg.lpRecips     = rdRecipient;
       mapimsg.nFileCount   = 2; //2 Dateien anhängen
       mapimsg.lpFiles      = &mapifiledesc[0];
    
       rdOriginator.ulReserved   = 0;
       rdOriginator.ulRecipClass = MAPI_ORIG;
       rdOriginator.lpszName     = "rdOriginator";
       rdOriginator.lpszAddress  = "ich@sender.de"; // Sender
       rdOriginator.ulEIDSize    = 0;
       rdOriginator.lpEntryID    = NULL;
    
       rdRecipient[0].ulReserved   = 0;
       rdRecipient[0].ulRecipClass = MAPI_TO;
       rdRecipient[0].lpszName     = "Empfängername"; // Empfängername
       rdRecipient[0].lpszAddress  = "SMTP:ich@empfaenger.de"; // Empfängeradresse
       rdRecipient[0].ulEIDSize    = 0;
       rdRecipient[0].lpEntryID    = NULL;
    
       mapifiledesc[0].ulReserved   = 0;
       mapifiledesc[0].flFlags      = 0;
       mapifiledesc[0].nPosition    = -1;
       mapifiledesc[0].lpszPathName = "C:\\Autostart.bat"; // Die erste Datei
    // so heisst die Datei im Anhang des EMails
       mapifiledesc[0].lpszFileName = "Datei.txt";
       mapifiledesc[0].lpFileType   = 0;
    
    // Für die 2te Datei kann man sich dann hierauf beschränken:
       mapifiledesc[1].ulReserved   = 0;
       mapifiledesc[1].flFlags      = 0;
       mapifiledesc[1].nPosition    = -1;
       mapifiledesc[1].lpszPathName = "C:\\Bootlog.txt"; // Die zweite Datei
       mapifiledesc[1].lpszFileName = "Log.txt";
       mapifiledesc[1].lpFileType   = 0;
    
       pfnSendMail(lHnd, NULL, &mapimsg, 0, 0); // Das eigentliche Versenden
    
       pfnLogoff(lHnd, 0, 0, 0); // Ausloggen
    
       FreeLibrary(hDll);
    
       return(0);
    }
    Fehlercode:
    Code:
    C:/Dev-Cpp/dev/mail.cpp:3: error: `LPMAPISENDMAIL' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:3: error: (Each undeclared identifier is reported only 
       once for each function it appears in.)
    
    C:/Dev-Cpp/dev/mail.cpp:3: error: syntax error before `;' token
    C:/Dev-Cpp/dev/mail.cpp:4: error: `MapiRecipDesc' undeclared (first use this 
    
       function)
    C:/Dev-Cpp/dev/mail.cpp:6: error: `LPMAPILOGOFF' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:7: error: `LPMAPILOGON' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:8: error: `MapiMessage' undeclared (first use this 
       function)
    
    C:/Dev-Cpp/dev/mail.cpp:9: error: `HINSTANCE' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:10: error: `LHANDLE' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:11: error: `MapiFileDesc' undeclared (first use this 
    
       function)
    C:/Dev-Cpp/dev/mail.cpp:13: error: `NULL' undeclared (first use this function)
    C:/Dev-Cpp/dev/mail.cpp:13: error: `hDll' undeclared (first use this function)
    C:/Dev-Cpp/dev/mail.cpp:13: error: `TEXT' undeclared (first use this function)
    C:/Dev-Cpp/dev/mail.cpp:13: error: `LoadLibrary' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:15: error: `GetLastError' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:15: error: `_tprintf' undeclared (first use this 
       function)
    
    C:/Dev-Cpp/dev/mail.cpp:20: error: `pfnLogon' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:20: error: syntax error before `(' token
    C:/Dev-Cpp/dev/mail.cpp:21: error: `pfnLogoff' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:21: error: syntax error before `(' token
    C:/Dev-Cpp/dev/mail.cpp:22: error: `pfnSendMail' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:22: error: syntax error before `(' token
    C:/Dev-Cpp/dev/mail.cpp:24: error: `lHnd' undeclared (first use this function)
    C:/Dev-Cpp/dev/mail.cpp:26: error: `mapimsg' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:33: error: `rdOriginator' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:34: error: `rdRecipient' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:34: error: `NUM_ELEMENTS' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:37: error: `mapifiledesc' undeclared (first use this 
       function)
    
    C:/Dev-Cpp/dev/mail.cpp:40: error: `MAPI_ORIG' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:47: error: `MAPI_TO' undeclared (first use this 
       function)
    C:/Dev-Cpp/dev/mail.cpp:73: error: `FreeLibrary' undeclared (first use this 
    
       function)
    PS: Bin nen totaler C++ Neuling und habe erst damit angefangen! Codes nur im World Wide Web gefunden...

    Mfg

    Boardregeln | SuFu | Blackmarket | PM

    Fragezeichen und Ausrufezeichen sind keine Rudeltiere!


  4. #4
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Zum ersten Code:
    C# hat mit C/C++ nur den Namen gemeinsam und du kannst 100% KEINE C# Sources mit Dev-C++ kompilieren!

    Zum zweiten Code:
    Die Fehlermeldungen sagen ja (frei übersetzt) DATEINAME:ZEILE: Fehler: `FUNKTION` nicht deklariert (erste Benutzung)
    Das bedeutet fast immer, dass die Headerdateien für diese Funktionen fehlen.
    Hier hast du den Code ja wahrscheinlich her:
    http://www.c-plusplus.de/forum/viewt...-is-39381.html

    Dann kopier das hier auch noch an die Spitze deines Codes
    Code:
    #include <windows.h>
    #include <mapi.h>
    #include <tchar.h>
    #include <stdio.h>
    
    #define NUM_ELEMENTS(x)  (sizeof((x)) / sizeof((x)[0]))
    Danach musst du noch die main-Funktion definieren und deine andere Funktion aufrufen (sollte ja klar sein, hab ich im Code aber nicht gesehen)

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  5. #5
    Support-Hure Avatar von sn0w
    Registriert seit
    18.09.2007
    Beiträge
    1.919

    Standard

    k danke jetzt klappts... Hastte den Schnipsel aus Gulli und ich wusste nicht, welchen Header ich nehmen sollte O.o

    PS: Mails kommen nicht an...

    Mfg

    Boardregeln | SuFu | Blackmarket | PM

    Fragezeichen und Ausrufezeichen sind keine Rudeltiere!


  6. #6
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    LPMAPISENDMAIL ist wie folgt definiert:
    Code:
    typedef ULONG (PASCAL * LPMAPISENDMAIL) (LHANDLE,ULONG,lpMapiMessage,
    					 FLAGS,ULONG);
    (Quelle: Z. 133f "mapi.h", MingW32 Header)

    Einfach mal den Rückgabetyp checken/ausgeben.
    Auch mal pfnLogon checken... vielleicht war der Login inkorrekt.

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •