InitNetowork + Versenden von E-Mail's

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Setz mal vor "NewList Attachments.s()" nen Global, also so :


Code: Alles auswählen

[...]
Global NewList Attachments.s()
[...]
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

Oliver1994 hat geschrieben:ICh denke die Pure Lib geht nicht weil mein Ziel ist es eine DLL zu erstellen!
Warum sollte das nicht gehen? Was hat das eine mit dem anderen zu tun?
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Oliver1994 hat geschrieben:Und der Code von Thexx

Meint das Attachments is not a function ....
yo, das dachte ich mir.
nicht in der Lage, mal aufs Datum des Postings zu gucken und daraus eine Schlußfolgerung zu ziehen,
mit welch alter PB-Version der Code erstellt wurde,
nicht mal in den Code gucken um zu überlegen wo vielleicht der Fehler herkommen könnte,
sondern gleich wieder ins Forum gerannt kommen und rumweinen,
einfach erwarten, dass man Lösungen vorgekaut bekommt wie ein Pinguinbaby den Fisch...

Das geht mir streckenweise echt ziemlich auf den Keks!

... vielleicht sollten wir über dem "Anfänger"-Unterforum noch ein "Kindergarten"-Unterforum einrichten.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Oliver1994
Beiträge: 321
Registriert: 15.06.2008 21:52

Beitrag von Oliver1994 »

Fehler lag wohl an GMX! von web.de geht es!

Danke nochmal an alle und Dankeschön für die Hilfe!


Gruß

JENS
Oliver1994
Beiträge: 321
Registriert: 15.06.2008 21:52

Beitrag von Oliver1994 »

So hier mein DLL Code!

Könnte jemand sagen ob er so funktionieren würde?

Code: Alles auswählen

 ProcedureDLL sendall(mailserver.s, pop3server.s, mailto.s, mailfrom.s, mailpass.s, subject.s, message.s)
    

Global res.s, cr.s, ConnID.l 
cr.s=Chr(13)+Chr(10) 
Global msg.s

InitNetwork()

OpenConsole()
ConsoleTitle("SendMail")
PrintN("SendMail is written by Jens K.")
PrintN("For RapidBatch (rapidbatch.com)")
If     ConnID = OpenNetworkConnection(pop3server,110) 
    If ConnID 
       res="" 
  For tmp=1 To 4999 
    res+" " 
  Next 
  ReceiveNetworkData(ConnID,@res,4999) 
  Debug "received: "+res 
  res=Left(res,3) 
      error=0 
      If res="+OK"
      msg.s = "user "+Str(mailuser)+cr
          SendNetworkData(ConnID,@msg,Len(msg)) 
         res="" 
  For tmp=1 To 4999 
    res+" " 
  Next 
  ReceiveNetworkData(ConnID,@res,4999) 
  Debug "received: "+res 
  res=Left(res,3)    
        If res="+OK" 
          Delay(100)
          msg.s = "pass "+mailpass+cr
          SendNetworkData(ConnID,@msg,Len(msg))
          msg.s = "pass "+mailpass+cr
          SendNetworkData(ConnID,@msg,Len(msg))
           res="" 
  For tmp=1 To 4999 
    res+" " 
  Next 
  ReceiveNetworkData(ConnID,@res,4999) 
  Debug "received: "+res 
  res=Left(res,3) 
          If res="+OK" 
            Delay(100)
          msg.s = "QUIT"+cr
          SendNetworkData(ConnID,@msg,Len(msg)) 
             res="" 
  For tmp=1 To 4999 
    res+" " 
  Next 
  ReceiveNetworkData(ConnID,@res,4999) 
  Debug "received: "+res 
  res=Left(res,3) 
            ProcedureReturn 1 
          EndIf 
        EndIf 
      EndIf 
      CloseNetworkConnection(ConnID) 
    EndIf
  PrintN("Pop-Before-SMTP Successfully!") 
  Else 
  PrintN("Error Pop-Before-SMTP.") 
EndIf 

If ConnID = OpenNetworkConnection(mailserver,25) 
    If ConnID 
       res="" 
  For tmp=1 To 4999 
    res+" " 
  Next 
  ReceiveNetworkData(ConnID,@res,4999) 
  Debug "received: "+res 
  res=Left(res,3) 
      error=0 
      If res="220"
      msg.s = "HELO CGIapp"+cr
      SendNetworkData(ConnID,@msg,Len(msg)) 
         res="" 
  For tmp=1 To 4999 
    res+" " 
  Next 
  ReceiveNetworkData(ConnID,@res,4999) 
  Debug "received: "+res 
  res=Left(res,3)    
        If res="250" 
          Delay(100)
          msg.s = "MAIL FROM: <"+mailfrom+">"+cr
          SendNetworkData(ConnID,@msg,Len(msg)) 
           res="" 
  For tmp=1 To 4999 
    res+" " 
  Next 
  ReceiveNetworkData(ConnID,@res,4999) 
  Debug "received: "+res 
  res=Left(res,3) 
          If res="250"
          msg.s = "RCPT TO: <"+mailto+">"+cr
          SendNetworkData(ConnID,@msg,Len(msg)) 
             res="" 
  For tmp=1 To 4999 
    res+" " 
  Next 
  ReceiveNetworkData(ConnID,@res,4999) 
  Debug "received: "+res 
  res=Left(res,3) 
            If res="250"
            msg.s = "DATA"+cr
          SendNetworkData(ConnID,@msg,Len(msg)) 
               res="" 
  For tmp=1 To 4999 
    res+" " 
  Next 
  ReceiveNetworkData(ConnID,@res,4999) 
  Debug "received: "+res 
  res=Left(res,3) 
              If res="354" 
                Delay(100)
          msg.s = "Date: "+cr
          SendNetworkData(ConnID,@msg,Len(msg))
          msg.s = "From: <"+mailfrom+">"+cr
          SendNetworkData(ConnID,@msg,Len(msg))
          msg.s = "To: <"+mailto+">"+cr
          SendNetworkData(ConnID,@msg,Len(msg))
          msg.s = "Subject: "+subject+cr
          SendNetworkData(ConnID,@msg,Len(msg))
          msg.s = "X-Mailer: PBMailer"+cr
          SendNetworkData(ConnID,@msg,Len(msg)) 
                Delay(100) 
;                send("--"+cr+"--"+cr+cr)
          msg.s = Str(msgbody) 
          SendNetworkData(ConnID,@msg,Len(msg))
          msg.s = Str(msgbody)
          SendNetworkData(ConnID,@msg,Len(msg))  
                Delay(100)
          msg.s = ""+cr
          SendNetworkData(ConnID,@msg,Len(msg))
          msg.s = "."+cr
          SendNetworkData(ConnID,@msg,Len(msg))    
                 res="" 
  For tmp=1 To 4999 
    res+" " 
  Next 
  ReceiveNetworkData(ConnID,@res,4999) 
  Debug "received: "+res 
  res=Left(res,3) 
                If res="250" 
                  Delay(100)
          msg.s = "QUIT"+cr
          SendNetworkData(ConnID,@msg,Len(msg))
                   res="" 
  For tmp=1 To 4999 
    res+" " 
  Next 
  ReceiveNetworkData(ConnID,@res,4999) 
  Debug "received: "+res 
  res=Left(res,3) 
                  ProcedureReturn 1 
                EndIf 
              EndIf 
            EndIf 
          EndIf 
        EndIf 
      EndIf 
      CloseNetworkConnection(ConnID) 
    EndIf  
  PrintN("Mail Sent Successfully!") 
  Else 
  PrintN("Error Sending Mail.") 
EndIf 



  EndProcedure
    
 
  If OpenLibrary(0, "sendmail.dll")
    CallFunction(0, "sendall")
    CloseLibrary(0)
  EndIf
Danke nochmal!

Gruß

JENS
Oliver1994
Beiträge: 321
Registriert: 15.06.2008 21:52

Beitrag von Oliver1994 »

^^^Kann dazu keiner was sagen?

Gruß

JENS
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Könnte jemand sagen ob er so funktionieren würde?

probier's doch aus!
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Oliver1994
Beiträge: 321
Registriert: 15.06.2008 21:52

Beitrag von Oliver1994 »

okay!
Antworten