vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: HTML/Internet/Netzwerk · HTML/Email   |   VB-Versionen: VB4, VB5, VB621.01.04
eMails per PHP-Skript versenden

Einfache Möglichkeit, EMails zu versenden - ohne Angabe eines SMTP-Servers.

Autor:   Jan SchöppachBewertung:  Views:  25.733 
www.jan-schoeppach.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Sie wollen in Ihrem Programm ein Kontaktfromular einbauen, das per eMail verschickt werden soll, aber von beliebiger eMail-Adresse aus senden? Dann kombinieren Sie doch einfach PHP mit Visual Basic.

Um das nachfolgende Beispiel auszuprobieren, werden vier TextBoxen, ein CommandButton, sowie ein WebBrowser-Control benötigt:

  • txtFrom: Angabe der Absender-Adresse
  • txtTo: Angabe der Empfänger-Adresse
  • txtSubject: Angabe des Betreffs
  • txtMessage: Angabe der Nachricht
  • Command1: Zum Abschicken der EMail
  • WebBrowser: Bindeglied zwischen PHP-Skript und Visual Basic (dient gleichzeitg der Statusabfrage des Sendevorgangs)

Die TextBox "txtMessage" stellen Sie auf "Multiline = True". Das WebBrowser-Control selbst kann unsichtbar auf der Form sein (Visible = False).

Nun zum Code:
Als Erstes erstellen Sie eine PHP-Datei (am besten mit dem Editor und einfach als email.php abspeichern) mit folgendem Inhalt:

<?php
  mail($emp, $betr, $msg, 
    "From: $abs \nReply-To: $mail\nX-Mailer: PHP/" . phpversion()); 	
  echo "eMail wurde versand";
?>

Diese Datei laden Sie auf Ihren PHP-fähigen Webspace hoch.
(Wenn Sie diese Möglichkeit nicht haben, können Sie testweise auch meine "email.php" nehmen. Die Datei liegt auf "http://free.pages.at/janschoeppach/email.php")

Nun der VB Quellcode:

Private Sub Command1_Click()
  Dim sURL As String
 
  Screen.MousePointer = 11
 
  ' Übergabe der Daten an das PHP-Script
  ' URL ggf. anpassen!
  sURL = "http://free.pages.at/janschoeppach/"
 
  WebBrowser1.Navigate sURL & "email.php?" & _
    "abs=" & txtFrom.Text & _
    "&emp=" & txtTo.Text & _
    "&betr=" & txtSubject.Text & _
    "&msg=" & txtMessage.Text
End Sub
' Status abfragen
Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
  Dim sContent As String
 
  ' Prüfung, ob die Mail verschickt wurde
  With WebBrowser1.Document.documentElement
    sContent = .outerHTML
  End With
 
  If InStr(sContent, "eMail wurde versand") > 0 Then
    MsgBox "Die eMail wurde erfolgreich verschickt.", _
      vbExclamation
 
  Else
    MsgBox "Ein Fehler ist beim Senden aufgetreten!" & _
      "Bitte überprüfen Sie die Internetverbindung", _
      vbCritical
 
  End If
  Screen.MousePointer = 0
End Sub



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.