vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Anmelden am SMTP-Server 
Autor: jomay
Datum: 15.03.04 18:13

Hallo Leute
Eine Frage zu Thema: Anmelden am SMTP-Server.Im nachfolgenden Beispiel(aus einen VBArchiv-Tip) wird die Verbindung ohne Benutzername und Passwort hergestellt.
Wie müsste man den Quellcode ergänzen, damit auch Benutzername und Passwort abgefragt werden???
Schon mal vielen Dank für Eure Hilfe im Voraus.
Jomay

___________________________________________________________________________________________________

' EmpfName: Name des Empfängers
' EmpfEMail: EMail-Adresse des Empfängers
' AbsName: Absender-Name (Ihr Name)
' AbsEMail: Absender-EMail (Ihre EMail-Adresse)
' Betreff: Nachrichten-Betreff (Subject)
' Nachricht: Nachrichten-Text
'======================================================
Public Function MailSend(ServerName As String, EmpfName As _
String, EmpfEMail As String, AbsName As String, _
AbsEMail As String, Betreff As String, _
ByVal Nachricht As String) As Boolean

Dim Header As String
Dim iPos As Long
Const CR = vbNewLine

' Status-Fenster "leeren"
Me.txtStatus.Text = ""
' If Not frmStatus.Visible Then frmStatus.Show , Me

With Winsock1
' Anmelden am Mailserver
lblStatus.Caption = "Verbinden mit: " + _
ServerName + "..."
.Protocol = sckTCPProtocol
.LocalPort = 0
.Connect ServerName, 25

' Warten, bis die Verbindung hergestellt ist
Do While .State < sckConnected
DoEvents
Loop

' Keine Verbindung möglich?
If .State > sckConnected Then
MsgBox "Kein Verbindungsaufbau möglich!"
MailSend = False
Else

' HELO schicken (Begrüssung)
lblStatus.Caption = "Anmelden am Server..."
.SendData "HELO " & ServerName & CR
If Not WaitForResponse("250") Then GoTo Send_End

' Absender-Daten
lblStatus.Caption = "Sende Nachricht..."
.SendData "MAIL FROM: <" & AbsEMail & ">" & CR
If Not WaitForResponse("250") Then GoTo Send_End

' Empfänger-Daten
.SendData "RCPT TO: <" + EmpfEMail + ">" + CR
If Not WaitForResponse("250") Then GoTo Send_End

' Server mitteilen, daß jetzt DATEN gesendet werden
.SendData "DATA" & CR
If Not WaitForResponse("354") Then GoTo Send_End

' Nachrichten-Header erstellen
Header = "From: " & AbsName & " <" & AbsEMail & ">" & CR & _
"To: " & EmpfName & " <" & EmpfEMail & ">" & CR & _
"Date: " & Format(Date, "Ddd") & ", " & _
Format(Date, "dd Mmm YYYY") & " " & _
Format(Time, "hh:mm:ss") & "" & " +0001" & CR & _
"Subject: " & Betreff & CR

' WICHTIG!!!
' Prüfen, ob innerhalb des Nachrichtentextes eine
' Zeile nur aus einem einzigen Punkt enthält.
' Wenn ja, unbedingt einen zweiten Punkt anfügen,
' da ein einzelner Punkt das Ende der Nachricht
' angibt!!!
iPos = InStr(Nachricht, vbCrLf & "." & vbCrLf)
If iPos > 0 Then
Nachricht = Left$(Nachricht, iPos) & "." & _
Mid$(Nachricht, iPos + 1)
End If

' Jetzt Daten senden
.SendData Header & vbCrLf
While Nachricht <> ""
' Paketweise zu je 1024 Bytes senden
.SendData Left$(Nachricht, 1024)
Nachricht = Mid$(Nachricht, 1025)
DoEvents
Wend
.SendData vbCrLf
.SendData vbCrLf & "." & vbCrLf

If Not WaitForResponse("250") Then GoTo Send_End
' Abmelden am Server
lblStatus.Caption = "Abmelden vom Server..."
.SendData "QUIT" & CR
If Not WaitForResponse("221") Then GoTo Send_End
MailSend = True
End If
End With

Send_End:
' Verbindung beenden
lblStatus.Caption = "Verbindung beenden..."
Winsock1.Close

lblStatus.Caption = "Bereit..."
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Anmelden am SMTP-Server967jomay15.03.04 18:13
Re: Anmelden am SMTP-Server586ModeratorDieter15.03.04 18:20
Re: Anmelden am SMTP-Server561jomay15.03.04 18:56
Re: Anmelden am SMTP-Server533ModeratorDieter15.03.04 19:00
Re: Anmelden am SMTP-Server542jomay15.03.04 19:08

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle 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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel