Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich E-Mail-Adressen in PHP überprüfen, ohne E-Mails zu senden?

Wie kann ich E-Mail-Adressen in PHP überprüfen, ohne E-Mails zu senden?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-16 00:00:34311Durchsuche

How Can I Verify Email Addresses in PHP Without Sending Emails?

E-Mail-Adressen überprüfen, ohne E-Mails zu senden

Mit dem Aufkommen von Spam-Filterung und E-Mail-Listenüberprüfung benötigen Entwickler häufig eine Möglichkeit, E-Mail-Adressen zu validieren ohne E-Mails zu versenden. PHP bietet eine Lösung mit SMTP.

SMTP-Verifizierung

SMTP (Simple Mail Transfer Protocol) wird zum Senden von E-Mails verwendet. Die Unterstützung von PHP für SMTP ermöglicht die E-Mail-Verifizierung auf zwei Arten:

1. VRFY-Befehl:

Der VRFY-Befehl fragt einen Server ab, um zu bestätigen, ob ein E-Mail-Empfänger vorhanden ist. Wenn der Server mit einem 2.0.0 DSN (Delivery Status Notification) antwortet, ist die E-Mail-Adresse gültig.

Beispiel:

$socket = fsockopen('server', 25);
fwrite($socket, "VRFY user\r\n");
$response = fgets($socket);

2. RCPT TO-Befehl:

Der RCPT TO-Befehl versucht, eine E-Mail zu senden. Wenn der Empfänger nicht existiert, antwortet der Server mit einem 5.1.1 DSN.

Beispiel:

$socket = fsockopen('server', 25);
fwrite($socket, "MAIL FROM:<sender>\r\n");
fwrite($socket, "RCPT TO:<user@domain>\r\n");
$response = fgets($socket);

Einschränkungen

  • Nicht alle SMTP-Server unterstützen den VRFY-Befehl.
  • Einige Server verwerfen RCPT TO möglicherweise stillschweigend Anfragen.
  • Greylisting-Techniken können die E-Mail-Validierung beeinträchtigen.

Alternativer Ansatz

Trotz der Einschränkungen der SMTP-Verifizierung eine zuverlässigere Methode besteht darin, einen regulären Ausdruck zu verwenden, um ungültige Adressen herauszufiltern und dann eine E-Mail mit einem Validierungslink zu senden. Dies bestätigt die E-Mail-Adresse des Benutzers und verhindert Tippfehler.

Das obige ist der detaillierte Inhalt vonWie kann ich E-Mail-Adressen in PHP überprüfen, ohne E-Mails zu senden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn