Dll Problem: Lizenz-Kauf, E-Mail senden, weiterkommen ;-(

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Kangaroo.

    Dll Problem: Lizenz-Kauf, E-Mail senden, weiterkommen ;-(

    Hallo, ganz einfach ich brauche unbedingt eure Hilfe!

    Also ich habe eine .dll entwickelt, in der man für sein Programm ein Serial kaufen kann usw.

    (Die .dll wollte ich euch free ohne copyright geben :thumbsup: )

    Grundlegendes:
    - Man legt Seinen SMPT-Server, SMTP-Port, Loginname, Passwort, FTP-Server, und seine E-mail fest!
    (Verschiedenste Commandos z.B: Lizenz...v1.serverordner = "ftp-server/serials"
    - Die Serials werden auf einer anderen Seite zu einem MD5-Code umgerendert, der Serial beinhaltet:
    Name_Nachname - E-Mail@E-Mail.de
    - Danach wenn man auf den Button draufklickt "Serial bestellen" sollte eine E-Mail mit dem Namen nachnamen email und dem serial an den verkäufer zugeschickt werden, der sollte den käufer informieren wie er das bezahlt wenn er es bezahlt hat... passiert:

    Verkäufer lädt Serial in einer .ini Datei hoch mit dem Vornamen_Nachnamen des Käufers!
    Programm checkt: serverordner & vorname.text & "_" & nachname.txt & ".ini" nach dem Serial was eingegeben worden ist!
    Den Rest kapiert ihr hoffe ich im Code hier der Code, nun mein Problem:
    Wenn ich Serial bestellen drücke, passiert gar nichts mehr! ;( ;(

    Code des Projekts (.dll) -> Wenn ihr wollt lade ich das Projekt auch hoch!:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System.Net.Mail
    2. Public Class LizenzFunktionv1
    3. Dim Msg As New MailMessage
    4. Dim preisderlizenz As String
    5. Dim myCredentials As New System.Net.NetworkCredential
    6. Dim empfängerdermail As String
    7. Dim passwort As String
    8. Dim user As String
    9. Dim smtp As String
    10. Dim port As String
    11. Dim ftpserialordner As String
    12. 'Bestimme Server:
    13. Dim SERVERSMTPZUMMAILSENDEN As New SmtpClient
    14. Public Property MailLoginname()
    15. Get
    16. Return user
    17. End Get
    18. Set(ByVal value)
    19. user = value
    20. End Set
    21. End Property
    22. Public Property smtpport()
    23. Get
    24. Return port
    25. End Get
    26. Set(ByVal value)
    27. port = value
    28. End Set
    29. End Property
    30. Public Property serverordner()
    31. Get
    32. Return ftpserialordner
    33. End Get
    34. Set(ByVal value)
    35. ftpserialordner = value
    36. End Set
    37. End Property
    38. Public Property deinemail()
    39. Get
    40. Return empfängerdermail
    41. End Get
    42. Set(ByVal value)
    43. empfängerdermail = value
    44. End Set
    45. End Property
    46. Public Property programmpreis()
    47. Get
    48. Return preisderlizenz
    49. End Get
    50. Set(ByVal value)
    51. preisderlizenz = value
    52. End Set
    53. End Property
    54. Public Property deinemailpasswort()
    55. Get
    56. Return passwort
    57. End Get
    58. Set(ByVal value)
    59. passwort = value
    60. End Set
    61. End Property
    62. Public Property mailsmtp()
    63. Get
    64. Return smtp
    65. End Get
    66. Set(ByVal value)
    67. smtp = value
    68. End Set
    69. End Property
    70. Public Sub HILFEanzeigen()
    71. MsgBox("Bei deinamail ihre E-Mail Addresse, bei serverordner den FTP-Server wo du später die Serials hochlädst, gleich mehr dazu! Bei empfängermailpasswort das E-Mail Passwort, bei user ihren loginnamen, bei port den smtp port, und zu gut erletzt bei mailsmtp ihren SMTP-Server! Bei programmpreis bitte nur den Wert reinschreiben z.B 5 oder 5,50 mehr nicht! Das Euro wird automatisch hinzugefügt! Danach wenn der Käufer bestellt bekommst du eine automatische Nachricht mit dem Betreff 'Serial für Vorname_Nachname' wenn du diese öffnest siehst du dort den Lizenzschlüssel, den Vornamen und Nachnamen dazu der E-Mail des Bestellers, danach meldest du dich bei ihm, und sagst ihm, wie er bezahlen soll, wenn er bezahlt hat, erstellst du auf den eingegebenen serverordner d.h z.b serverordner: www.test.te.funpic.de/serials, dann musst du dort seinen Serial hochladen mit dem Namen 'Vornamen_Nachname.ini' einfach eine Textdatei mit den Inhalt des Serials! Das _ muss mit und der Dateityp .ini müssen inbegriffen sein, danach erst schickst du ihm die Nachricht ab, wenn er den Serial aktiviert hat, speichert das Programm eine .ini Datei mit den Daten ab, und danach, musst du es auslesen es wird unter folgenden Pfad gespeichert: C:\temp\--..serial-allowed.ini, dort ist der Text: yes, drinnen! Du darfst die Lizenz NICHT vom Server runterlöschen, sonst bugt der Vorgang! Der Auslesevorgang stellst du so her, du machst am anfang des programmes if my.computer.filesystem.fileexist(C:\temp\--..serial-allowed.ini then DORT machst du das die .ini Datei in eine Textbox geladen wird, und dort schreibste If Textbox1.text.contains(*yes*) then Hier dann die Form öffnen, was passiert wenn er den Serial hatt, dnach else HIER passiert das wenn er den serial nicht hat danach End If fertig! Tutorial im vb-Paradise Forum!")
    72. End Sub
    73. Private Sub UserControl1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    74. checker.Hide()
    75. ProgressBar2.Hide()
    76. leseserialundchecke.Hide()
    77. serialgenerator.Hide()
    78. ProgressBar1.Hide()
    79. seingenerierterserial.Hide()
    80. If user = "" Then
    81. user = "1"
    82. End If
    83. If passwort = "" Then
    84. passwort = "1"
    85. End If
    86. Label1.Text = "Der Preis der Lizenz beträgt " & preisderlizenz & "€"
    87. End Sub
    88. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    89. If käufermail.Text.Contains("@") Then
    90. Timer2.Start()
    91. Else
    92. MsgBox("Die E-Mail ist nicht korrekt!", MsgBoxStyle.Critical, "Mail Check fehlgeschlagen!")
    93. End If
    94. End Sub
    95. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    96. ProgressBar1.Value = 5
    97. If ProgressBar1.Value = 100 Then
    98. Timer1.Stop()
    99. ProgressBar1.Value = 0
    100. leseserialundchecke.Text = checker.DocumentText
    101. If RichTextBox2.Text.Contains(leseserialundchecke.Text) Then
    102. MsgBox("Erfolgreich Registriert, das Programm startet sich neu!", MsgBoxStyle.Information, "Registriert!")
    103. Try
    104. My.Computer.FileSystem.WriteAllText("C:\temp\--..serial-allowed.ini", "yes", False)
    105. Catch ex As Exception
    106. End Try
    107. Else
    108. MsgBox("Fehler, Serial falsch, kontrollieren Sie nochmals den Namen, Nachnamen und den Serial!", MsgBoxStyle.Critical, "Fehler!!!")
    109. End If
    110. End If
    111. End Sub
    112. Public Sub MakeSerial()
    113. serialgenerator.Document.GetElementById("plain").InnerText = (vorname.Text & "_" & nachname.Text & " - " & käufermail.Text)
    114. Dim elem As Windows.Forms.HtmlElement
    115. For Each elem In serialgenerator.Document.All
    116. If (elem.GetAttribute("value") = "Verschlüsseln") Then
    117. elem.InvokeMember("click")
    118. End If
    119. Timer2.Start()
    120. Next
    121. seingenerierterserial.Text = serialgenerator.Document.GetElementById("hash").InnerText
    122. End Sub
    123. Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
    124. ProgressBar2.Value += 5
    125. If ProgressBar2.Value = 100 Then
    126. Timer2.Stop()
    127. ProgressBar2.Value = 0
    128. If ProgressBar2.Value = 0 Then
    129. If seingenerierterserial.Text = "" Then
    130. MakeSerial()
    131. Else
    132. Try
    133. SERVERSMTPZUMMAILSENDEN.Host = user
    134. SERVERSMTPZUMMAILSENDEN.Port = port
    135. myCredentials.UserName = user
    136. myCredentials.Password = passwort
    137. SERVERSMTPZUMMAILSENDEN.UseDefaultCredentials = False
    138. SERVERSMTPZUMMAILSENDEN.Credentials = (myCredentials)
    139. MsgBox("Bitte warten...", MsgBoxStyle.Information, "Einen Moment!")
    140. Msg.From = New MailAddress(käufermail.ToString)
    141. Msg.To.Add(empfängerdermail.ToString)
    142. Msg.Subject = "Serial für " & vorname.Text & "_" & nachname.Text
    143. Msg.Body = "Serial für: " & vorname.Text & " " & nachname.Text & "," & vbNewLine & "Seine E-Mail lautet: " & käufermail.Text & vbNewLine & vbNewLine & "Sein Serial lautet:" & vbNewLine & seingenerierterserial.Text & vbNewLine & "Ohne diesen Satz, der MD5-Code ist der Serial!" & vbNewLine & vbNewLine & vbNewLine & "(Nicht beachten:) Professionelles Lizenz-Kaufsystem bei Dominic Poppe ;-D"
    144. SERVERSMTPZUMMAILSENDEN.Send(Msg)
    145. MsgBox("Ok, warten Sie nun auf die E-Mail vom Verkäufer, er schickt Ihnen dann die möglichen Bezahlungsarten usw., nachdem Sie bezahlt haben, bekommen Sie in innerhalb von max. 3 Tagen den Serial-Code per E-Mail gesendet! Danach drücken Sie oben Rechts auf Serial eingeben, dort geben Sie alles ein, und das Programm ist registriert!", MsgBoxStyle.Information, "Informationen & Erfolgreiche Bestellung")
    146. Catch ex As Exception
    147. MsgBox("Unbekannter Fehler! Bitte melden Sie sich an den Hersteller des Produktes!", MsgBoxStyle.Critical, "Fehler!")
    148. End Try
    149. End If
    150. End If
    151. End If
    152. End Sub
    153. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    154. Me.Hide()
    155. End Sub
    156. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    157. Me.Hide()
    158. End Sub
    159. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    160. checker.Navigate(serverordner & TextBox1.Text & "_" & TextBox2.Text & ".ini")
    161. Timer1.Start()
    162. MsgBox("Einen Moment bitte...", MsgBoxStyle.Information, "Einen Moment...")
    163. End Sub
    164. Private Sub checker_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles checker.DocumentCompleted
    165. End Sub
    166. End Class


    Hoffe ihr helft mir weiter!
    Ich gebe zu ich habe den Code nicht vollständig gelesen, aber da bisher keiner geantwortet hat meine 5 Cent dazu.

    domipoppe schrieb:

    Wenn ich Serial bestellen drücke, passiert gar nichts mehr!

    Ich denke die Key-Frage lautet hier: wo drückst Du eigentlich "Serial bestellen" ?

    Deine gelistete Klasse enthält Buttons, aber scheint nirgendwo in ein UserControl eingebettet, wie kommt das ? Wenn diese Klasse Teil einer Class-Library ist, dann muss sie oder ihr Container vom Typ UserControl geerbt haben ...