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
Freigeben: 2024-12-16 00:00:34
Original
310 Leute haben es durchsucht

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);
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage