Validieren Sie E-Mails im Array mit foreach

Wie validiere ich ein Array von E-Mails aus einem Textfeld, bevor ich sie an die wp_mail function wp_mail ?

 $emails = 'test@test.com;test2@test2.com email3@email3.com,email4@email4.com, email5.com'; $emails = preg_split('/[;,\n]/', $emails); $validEmails = array(); $subject = 'Hey Subject'; $message = 'I am a message'; foreach($emails as $key=>$value){ if (is_email($value)) { array_push($validEmails, $value); } } wp_mail($validEmails, $subject, $message, $headers); 

Der obige Beispielcode if (is_email()) Bedingung if (is_email()) . Ich frage mich, wie ich jede E-Mail im Array validieren kann, bevor ich sie an die Mail-function sende.

Solutions Collecting From Web of "Validieren Sie E-Mails im Array mit foreach"

Ist Ihnen bewusst, dass Sie eine durch Kommas getrennte Folge von E-Mail-Adressen an wp_mail ?

 // Make sure your email strings only uses comma as a separator $emails = preg_replace('~[,;\s]+~', ',', $emails); 

Dann casting Sie diese Zeichenfolge in das erste Argument von wp_mail . Abhängig davon, was genau Sie mit den E-Mails tun möchten, kann dieser Ansatz ausreichend sein.

Die wp_mail function wp_mail intern auf der PHPMailer-Bibliothek (es sei denn, Sie verwenden eine neu definierte wp_mail function). PHPMailer überprüft die E-Mail, bevor sie zur Empfängerliste hinzugefügt wird. Ungültige E-Mails werden übersprungen.