Microsoft Excel

Herbers Excel/VBA-Archiv

Gültigkeit von Email-Adressen prüfen


Betrifft: Gültigkeit von Email-Adressen prüfen von: Pascal
Geschrieben am: 12.07.2017 10:40:03

Guten Tag zusammen

vor längerer Zeit konnte ich - dank der guten Hilfe hier im Forum - einen VBA-Code zusammenbasteln, welcher mir (basierend auf einer Excel-Tabelle) die dort aufgeführten Email-Adressen überprüft ob noch gültig.

D.h. statt jeder einzelnen Email-Adresse ein Testmail zu senden, konnte das kleine VBA-Programm eine Email-Adresse prüfen, resp. eine Email dorthin simulieren. (um zu prüfen ob diese Adresse überhaupt erreichbar wäre)

Leider aber kann ich diesen Code nirgends mehr finden auf meinem PC :-(

kann mir evt. jemand von Euch weiterhelfen ?

Also:
Ich muss wieder einen Code zusammenbauen, der mir - anhand einer Excel-Tabelle mit Email-Adressen drauf prüft/simuliert ob die dort aufgeführten Email-Adressen erreichbar wären.

Besten Dank für Eure Hilfe !

  

Betrifft: AW: Gültigkeit von Email-Adressen prüfen von: AkaTosh
Geschrieben am: 12.07.2017 10:43:51

Diese?:

Public Function IsValidEMail(S)
Dim Ch As String * 1, I As Long, Ats As Long, Periods As Long
Dim LeftofAt As Boolean, IsLeading As Boolean
IsValidEMail = True
 
If IsNull(S) Then Exit Function
IsValidEMail = False
LeftofAt = True
IsLeading = True
Periods = 0
Ats = 0
For I = 1 To Len(S)
    Select Case Asc(Mid(S, I, 1))
    Case Asc("@")
      Ats = Ats + 1
      ' links vom "@" muss wenigstens ein Zeichen sein:
      If I = 1 Then Exit Function
      ' nur ein "@" erlaubt:
      If Ats > 1 Then Exit Function
      LeftofAt = False
      IsLeading = True
    Case Asc(".")
      ' Punkte rechts vom "@" zählen:
      If Not LeftofAt Then Periods = Periods + 1
      ' zu viele Punkte (technisch zwar möglich, aber unwahrscheinlich):
      If Periods > 4 Then Exit Function
      ' Top Level Domain hat weniger als 2 Zeichen:
      If I > Len(S) - 2 Then Exit Function
    Case Asc("A") To Asc("Z"), Asc("a") To Asc("z"), Asc("0") To Asc("9")
      IsLeading = False
    Case Asc("-")
      ' kein führendes "-" erlaubt:
      If IsLeading Then Exit Function
    Case Asc("_")
      ' "_" nur links vom "@" erlaubt:
      If IsLeading Or Not LeftofAt Then Exit Function
    Case Else
      ' andere Zeichen sind nicht zulässig:
      Exit Function
    End Select
Next
 
If Periods > 0 Then IsValidEMail = True
End Function



  

Betrifft: AW: Gültigkeit von Email-Adressen prüfen von: Pascal
Geschrieben am: 12.07.2017 11:07:46

Hallo Aka Tosh
vielen herzlichen Dank für die schnelle Hilfe!

Ich bin mir aber nicht sicher, ob es dieser Code der von mir gesuchte war.
Denn dein Code prüft nur, ob eine Email-Adresse korrekt geschrieben ist, nicht aber, ob eine Email dorthin gesendet werden könnte.
Vielmehr such ich aber eine Möglichkeit zu prüfen, ob die Email-Adresse existiert, ohne dorthin eine Test-Email zu senden.
(natürlich alles interne Email-Adressen von unserem Betrieb)


  

Betrifft: AW: dann ... von: ... neopa C
Geschrieben am: 12.07.2017 11:51:37

Hallo Pascal,

... hast Du doch alle Mail-Adressen, die Du in einer Liste auch ständig aktuell halten kannst und Du brauchst dann nur noch über diese Liste prüfen, ob es Deine Mailadresse gibt. Das kann man dann sogar ganz einfach ohne VBA auch klären.

Gruß Werner
.. , - ...


Beiträge aus den Excel-Beispielen zum Thema "Gültigkeit von Email-Adressen prüfen"