Eine Mailadresse bezeichnet einen Nachrichtenempfänger. Eine Message-ID bezeichnet eine Nachricht und wird häufig in spitzen Klammern dargestellt. Beide können ein @-Zeichen enthalten; das Zeichen allein reicht daher nicht zur Unterscheidung.

Ein bewusst begrenztes Beispiel

use strict;
use warnings;
my $s = shift // '';
if ($s =~ /\A<[^\s<>\@]+\@[^\s<>\@]+>\z/) {
    print "Message-ID-Muster\n";
} elsif ($s =~ /\A[^\s<>\@]+\@[^\s<>\@]+\z/) {
    print "Adressmuster\n";
} else {
    print "Nicht eingeordnet\n";
}

Das ist ein eigenständiges Lernbeispiel. Es erkennt einfache Formen und prüft weder Erreichbarkeit noch sämtliche erlaubten Syntaxvarianten. Es stellt keine Netzwerkverbindung her.

Testfälle

person@example.invalid passt zum einfachen Adressmuster; <message@example.invalid> zum einfachen Message-ID-Muster. Ein leerer Text oder ein Satz mit einer darin enthaltenen Adresse wird nicht eingeordnet. Nutze diese Unterschiede, um den Zweck deiner eigenen Prüfung präzise zu bestimmen.

Perl-Werkzeuge · Mail-Grundlagen