-
GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein System und ein Verfahren zur
Erleichterung der Übertragung und
Versendung von elektronischer Mail (E-Mail) über ein Wide Area Network.
Insbesondere betrifft die vorliegende Erfindung einen E-Mail-Server, der dazu
konfiguriert ist, E-Mail-Account-Identifikatoren zu erkennen, die
aus Nicht-ASCII-Zeichen bestehen.
-
HINTERGRUND DER ERFINDUNG
-
Zur
Ermöglichung
der Kommunikation zwischen Geräten über ein
Netzwerk ist den einzelnen Netzwerk-Geräten in der Regel eine eindeutige
numerische Netzwerkadresse zugeordnet. Ein mit einem der Netzwerk-Geräte assoziierter
Benutzer muss dann nur die Netzwerk-Transportschicht mit der numerischen
Netzwerkadresse des beabsichtigten Ziels zur Verfügung stellen,
um mit dem Ziel zu kommunizieren. Obwohl dieses System in kleinen Netzwerken,
in denen die Benutzer mit einer nur kleinen Zahl an Netzwerk-Kommunikationsgeräten kommunizieren,
zufriedenstellend funktioniert, kann das System nicht leicht auf
große
Netzwerke übertragen werden,
weil sich jeder Netzwerk-Benutzer eine große Zahl eindeutiger numerischer
Netzwerkadressen merken müsste.
Aus diesem Grund wurde von Mockapetris im Jahr 1987 (RFC 1034 und
RFC 1035, Network Working Group; zur Zeit erreichbar unter http://www.ietf.org)
das Domainnamensystem (DNS) als Mechanismus zur Ermöglichung
der Kommunikation zwischen Kommunikationsgeräten über das Internet vorgeschlagen.
-
Das
DNS ermöglicht
die Internetkommunikation durch die Assoziierung von Domainnamen
zu numerischen (IP, „Internet
Protocol") Netzwerkadressen.
Das DNS besteht grundsätzlich
aus Ressourceneinträgen,
Domainnamenservern und Resolvern. Jeder Ressourceneintrag enthält ii betreffend
jeden Netzwerkknoten, einschließlich
der IP-Adresse des Netzwerkknoten und der mit der IP-Adresse assoziierten
Domainnamen. Gemeinsam stellen die Ressourceneinträge dem Internet
einen Domainnamenraum in Baumstruktur zur Verfügung. Domainnamenserver sind
Internet-Server, die Informationen betreffend den Domainnamenraum
bewahren. Insbesondere besitzt jeder Domainnamenserver eine Datei („Zonendatei"), die Ressourceneinträge enthält, welche
mit seinem eigenen Subset des Domainnamenraums assoziiert sind.
Diese Einträge
werden als „autoritative" Einträge bezeichnet.
Mittels Anfragen von Resolvern speichern Domainnamenserver auch
vorübergehend
Kopien von Ressourceneinträgen,
die von anderen Domainnamenservern erhalten wurden, um die Leistung
des Abrufprozesses zu verbessern, wenn von einem Resolver nichtlokale
Daten verlangt werden. Resolver sind lokale Programme, die in Reaktion
auf Client-Anfragen
Informationen von Domainnamenservern abrufen.
-
Typischerweise
besitzt der mit einem Netzwerk-Gerät an einer bestimmten IP-Adresse assoziierte
Domainname ein Top-Label-Feld und ein oder mehrere untergeordnete
Label-Felder. Die einen Domainnamen ausmachenden Label-Felder sind voneinander
durch ein Begrenzungszeichen („.") getrennt und sind
jeweils im Domainnamen gemäß ihren
entsprechenden Ebenen in der Domainnamenhierarchie positioniert.
Um eine E-Mail-Nachricht an einen Empfänger zu übertragen, der auf einem entfernten
Netzwerk-Gerät
ein E-Mail-Account
besitzt, versorgt der Auslöser
der E-Mail-Nachricht unter Anwendung des lokalen Auslöser-Computers
seinen E-Mail-Server mit der E-Mail-Nachricht zusammen mit dem Namen
des Auslösers,
dem Domainnamen des E-Mail-Servers,
in dem der Auslöser
ein E-Mail-Account eingerichtet hat, dem Namen des Empfängers und
dem Domainnamen des E-Mail-Servers, in dem der Empfänger ein
E-Mail-Account eingerichtet hat. Letztlich ist jedes E-Mail-Account
auf einem E-Mail-Server als eigenes Verzeichnis dargestellt, das
jeweils ein Unterverzeichnis zum Speichern ankommender E-Mail-Nachrichten
und ein Unterverzeichnis zum Speichern abgehender E-Mail-Nachrichten
besitzt.
-
Nach
Eingang der E-Mail-Nachricht vom Auslöser teilt der E-Mail-Server
des Auslösers
einen global eindeutigen Nachrichtenidentifikator (bestimmt nach
der Empfangszeit des E-Mail-Nachricht) zu, ruft von der E-Mail-Nachricht
den Domainnamen des E-Mail-Servers des Empfängers ab und überträgt den abgerufenen
Domainnamen auf einen Domainnamen-Resolver zur Bestimmung der IP-Adresse
des E-Mail-Servers des Empfängers.
Der Resolver ruft bei einem Root-DNS-Server das im Domainnamen identifizierte
Top-Label ab, um die IP-Adresse des
DNS-Servers zu erhalten, der die der übergeordneten Domäne zugeordnete
Zonendatei besitzt. Der Resolver greift dann unter Verwendung der
erhaltenen IP-Adresse auf den identifizierten DNS-Server zu und
erhält
mit dem Label, das in der Domainnamenhierarchie die nächsthöhere Position
einnimmt (das Label unmittelbar links vom Top-Label im Domainnamen)
die IP-Adresse des DNS-Server, der die dem abgefragten Label zugeordnete
Zonendatei besitzt. Der Prozess wird fortgesetzt, bis jedes Label
im Domainnamenserver aufgelöst
ist; an dieser Stelle liefert der letzte abgefragte DNS-Server dem
Resolver die IP-Adresse
des Netzwerk-Geräts
mit dem angegebenen Domainnamen. Der Resolver überträgt sodann die empfangene IP-Adresse
auf den E-Mail-Server des Auslösers.
-
Nach
Eingang der dem E-Mail-Server des Empfängers zugeordneten IP-Adresse
richtet der E-Mail-Server des Auslösers einen Kommunikationskanal
mit dem E-Mail-Server
des Empfängers
ein und überträgt dann
die E-Mail-Nachricht über
den Kommunikationskanal, normalerweise unter Verwendung des Simple
Mail Transfer Protocol (allgemein als „SMTP" bezeichnet; im Detail beschrieben in
RFC 821 und RFC 1869, http://www.ietf.org). Nach einer anfänglichen
Handshaking-Phase,
in der der E-Mail-Server des Empfängers seine Bereitschaft zum
Empfang einer E-Mail-Nachricht und dass der Empfänger ein E-Mail-Account eingerichtet
hat bestätigt, überträgt der E-Mail-Server
des Auslösers
die E-Mail-Nachricht auf den E-Mail-Server des Empfängers und
schließt
sodann den Kommunikationskanal. Nach Empfang der E-Mail-Nachricht
speichert der E-Mail-Server
des Empfängers
die E-Mail-Nachricht im dem Empfänger
zugeordneten Verzeichnis.
-
Zum
Abrufen einer E-Mail-Nachricht richtet der Empfänger einen Kommunikationskanal
beim E-Mail-Server des Empfängers
ein und ruft die E-Mail-Nachricht über den
Kommunikationskanal ab, wofür
typischerweise das Post Office Protocol – Version 3 (allgemein als „POP3" bezeichnet; im Detail beschrieben
in RFC 1939 und RFC 2449, http://www.ietf.org) verwendet wird. Nach
einemr erneuten anfänglichen
Handshaking-Phase, in der der E-Mail-Server bestätigt, dass er zur Übertragung
von E-Mail-Nachrichten zum Empfänger
bereit ist, authentifiziert sich der Empfänger mittels eines zugeteilten
Benutzernamens und Passworts beim E-Mail-Server. Nach erfolgreicher
Authentifizierung ist der Empfänger
in der Lage, die Übertragung
der E-Mail-Nachricht über
den Kommunikationskanal auf den lokalen Computer des Empfängers zu
starten.
-
Zwar
wurden in aller Welt erfolgreich E-Mail-Systeme mit SMTP und POP3
implementiert, doch leiden herkömmliche
E-Mail-Systeme unter mindestens drei Hauptmängeln. Zunächst müssen die vom DNS implementierten
Domainnamen den Regeln für
ARPANET-Hostnamen folgen. Daraus folgt, dass jedes mit einem E-Mail-Server
assoziierte Domainnamen-Label mit einem „Buchstaben" oder einer der Ziffern
0 bis 9 anfangen und enden muss und nur „Buchstaben", die Ziffern 0 bis
9 oder einen Bindstrich dazwischen enthalten darf. Des weiteren kann
ein „Buchstabe" nur einer von ‚A’ bis ‚Z’ und von ‚a’ bis ‚z’ sein.
Daraus folgt, dass die Anzahl verfügbarer Domainnamen äußerst beschränkt ist.
Zum zweiten ist das DNS-System Groß/Kleinschreibungs-unempfindlich,
so dass zwei Domainnamen mit identischer Schreibung, deren Buchstaben
aber in puncto Groß/Kleinschreibung
nicht übereinstimmen,
zur selben Netzwerkadresse aufgelöst werden. Zum dritten akzeptieren
die meisten E-Mail-Server zur Aufnahme in einen E-Mail-Account-Namen
nur den Bindestrich, die Ziffern 0 bis 9 und die Buchstaben ‚A’ bis ‚Z’ und ‚a’ bis ‚z’, wodurch
die Anzahl verfügbarer
Accountnamen beschränkt
wird.
-
Es
besteht deshalb ein Bedarf nach einem elektronischen Mailsystem,
das über
die Anzahl und Art der für
die Accountnamenkomponente und die Domainnamenkomponente der E-Mail-Adressen
zur Verfügung
stehenden Zeichen hinaus geht.
-
In
US-A-5 333 317 wird
eine Verzeichnisdatenbank beschrieben, in der ein E-Mail-Account mit einer
E-Mail-Adresse assoziiert wird. Indessen werden in dem Patent keine
E-Mail-Accounts oder E-Mail-Adressen mit anderen Zeichen als dem
ASCII-Zeichensatz
beschrieben oder vorgeschlagen.
-
In
RFC 2047 mit dem Titel „MIME
Part Three: Message Header Extensions for non-ASCII text" wird ein Mechanismus
erklärt,
der dem Benutzer die Verwendung von Nicht-ASCII-Zeichen als Teil
des Nachrichten-Headers erlaubt, nicht aber als Teil des E-Mail-Adresse
selbst.
-
In
RFC 2277 mit dem Titel „IETF
Policy an Character Sets and Languages" betrifft Grundsätze zur Entwicklung von Protokoll,
das geeignet ist, mit unterschiedlichen Zeichensätzen zu interagieren. Wie die
beiden vorangehenden Arbeiten wird aber kein Bezug auf die Verwendung
von Nicht-ASCII-Zeichen als Teil einer E-Mail-Adresse genommen.
-
In
EP-A-0 565 850 wird
auf ein System Bezug genommen, das der Integration von Nachrichten von
unterschiedlichen Medienarten in einem gemeinsamen Korb dient. Wie
alle vorangehenden Arbeiten wird die Verwendung von Nicht-ASCII-Zeichen als Teil
einer E-Mail-Adresse nicht untersucht.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung werden ein elektronischer
Mailserver und ein Verfahren zur Erleichterung einer E-Mail-Kommunikation über ein
Netzwerk geschaffen, die Mängel
nach dem Stand der Technik bei elektronischen Mailsystemen zu beheben
wünschen.
-
Der
elektronische Mailserver gemäß dem ersten
Aspekt der Erfindung umfasst eine Accountnamen-Datenbank und einen
Accountnamen-Prozessor, der in Kommunikation mit der Accountnamen-Datenbank
ist, zur Bereitstellung einer Reaktion auf eine über das Netzwerk empfangene
Nachricht. In der Regel umfasst die Nachricht ein E-Mail-Accountnamen-Label,
das mindestens ein Accountnamenzeichen (mit einem Accountnamen-Zeichensatztyp)
umfasst, wobei der Zeichensatztyp einen nicht-ASCII-kompatiblen
Zeichensatz einschließt. Die Accountnamen-Datenbank
umfasst eine Anzahl von Datenbank-Einträgen, deren jeder einen E-Mail-Accountnamen
identifiziert, der mindestens ein Eintragszeichen mit einem Eintragszeichensatztyp
aufweist, und einen Eintrags-Zeichensatzidentifikator,
der den Eintragszeichensatztyp identifiziert. Der Accountnamen-Prozessor
umfasst einen Korrelationsprozessor und einen Antwort-Prozessor.
Der Korrelationsprozessor ist so konfiguriert, dass er die Korrelation
zwischen dem empfangenen E-Mail-Accountnamen-Label und den entsprechenden E-Mail-Accountnamen
gemäß dem assoziierten
Zeichensatztyp bestimmt. Der Antwort-Prozessor ist in Kommunikation
mit dem Korrelationsprozessor und liefert die Antwort auf die Nachricht
gemäß der Korrelationsanzeige.
-
Das
Verfahren zur Erleichterung der E-Mail-Kommunikation gemäß dem ersten
Aspekt der Erfindung umfasst die Schritte (1) des Empfangens einer
Nachricht an einem E-Mail-Server, welche ein E-Mail-Account-Namenslabel
umfasst, wobei der E-Mail-Server mindestens ein E-Mail-Account bewahrt,
jeweils mit einem E-Mail-Accountnamen
assoziiert, wobei das Accountnamen-Label mindestens ein Accountnamenzeichen
mit einem Accountnamen-Zeichensatztyp umfasst und wobei der Zeichensatztyp
einen nicht-ASCII-kompatiblen Zeichensatz einschließt; (2)
Bestimmung der Korrelation zwischen dem empfangenen E-Mail-Account-Namenslabel und den
entsprechenden E-Mail-Account-Namen gemäß dem assoziierten Zeichensatztyp;
und (3) Antworten auf die Nachricht in Entsprechung zu der Korrelationsanzeige.
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung wird eine elektronische
Nachricht zur Erleichterung der elektronischen Kommunikation geschaffen.
Die elektronische Nachricht gemäß einem zweiten
Aspekt der Erfindung umfasst einen Header-Abschnitt und einen Datenabschnitt,
der mit dem Header-Abschnitt assoziiert ist. Der Header-Abschnitt
umfasst ein E-Mail-Account-Namenslabel, wobei das Account-Namenslabel
mindestens ein Accountnamenzeichen (mit einem Accountnamen-Zeichensatztyp)
umfasst und wobei der Zeichensatztyp einen nicht-ASCII-kompatiblen
Zeichensatz einschließt.
Der Datenabschnitt umfasst ein Auslöserfeld, in dem ein Auslöser der
Nachricht identifiziert wird, und ein Empfängerfeld, in dem ein Empfänger der
Nachricht identifiziert wird, wobei eines der Felder dem E-Mail-Account-Namenslabel
zugeordnet ist.
-
Gemäß einem
dritten Aspekt der vorliegenden Erfindung wird eine E-Mail-Account-Namensdatenbank
zur Erleichterung der elektronischen Kommunikation geschaffen. Die
Accountnamen-Datenbank gemäß dem dritten
Aspekt der Erfindung umfasst mindestens einen Datenbankeintrag,
die jeweils (1) ein mit einem E-Mail-Account-Namens assoziiertes
Accountnamenslabel, wobei das Accountnamenslabel mindestens ein
Eintragszeichen mit einem Eintragszeichensatztyp einschließt, und
(2) einen Eintrags-Zeichensatzidentifikator,
der den Eintrags-Zeichensatztyp identifiziert, umfassen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Das
bevorzugte Ausführungsbeispiel
der Erfindung wird nachstehend beispielhaft und unter Bezugnahme
auf die Zeichnungen beschrieben:
-
1 ist
eine schematische Darstellung eines elektronischen Mailsystems gemäß der vorliegenden
Erfindung, in der eine Mehrzahl von Netzwerk-Clients, eine Mehrzahl
von E-Mail-Übertragungsservern
und ein Kommunikationsnetzwerk abgebildet sind, welches die Netzwerk-Clients
und die E-Mail-Server verbindet;
-
2 ist
eine schematische Darstellung des in 1 dargestellten
E-Mail Übertragungsservers, in
der die Accountnamen-Datenbank und der Korrelationsprozessor sowie
der Antwort-Prozessor des Accountnamen-Prozessors abgebildet sind;
-
3 ist
ein schematisches Diagramm eines Beispieleintrags, der die Accountnamen-Datenbank umfasst;
-
4 ist
ein schematisches Diagramm eines Beispiels einer E-Mail-Nachricht,
die zwischen E-Mail-Servern übertragen
werden kann;
-
5 ist
eine schematische Darstellung des in 1 dargestellten
E-Mail-Zustellservers,
in der die Accountnamen-Datenbank und der Korrelationsprozessor
sowie der Antwort-Prozessor des Accountnamen-Prozessors angebildet sind; und
-
6a und 6b umfassen
gemeinsam ein Fließdiagramm,
in dem die Abfolge der Schritte dargestellt ist, die die E-Mail-Server
bei der Übertragung
einer elektronischen Mail-Nachricht zwischen Netzwerk-Clients über das
Kommunikations-Netzwerk vollziehen.
-
DETAILLIERTE BESCHREIBUNG DES BEVORZUGTEN
AUSFÜHRUNGSBEISPIELS
-
In 1 ist
ein elektronisches Mailsystem, das allgemein mit dem Bezugszeichen 100 markiert ist,
dargestellt, welches eine Mehrzahl von Netzwerk-Clients 102, eine Mehrzahl
von Namensauflösungsservern 104,
eine Mehrzahl von Netzwerkadressen-Servern 106, eine Mehrzahl
von E-Mail-Übertragungsservern 200,
eine Mehrzahl von E-Mail-Zustellservern 500 und ein Kommunikationsnetzwerk 108 umfasst,
das die Netzwerk-Clients 102, die Namensauflösungsserver 104,
die Netzwerkadressen-Server 106, die E-Mail-Übertragungsserver 200 und
die E-Mail-Zustellserver 500 miteinander verbindet. Vorzugsweise
umfasst das Kommunikationsnetzwerk 108 das Internet, die
E-Mail-Übertragungsserver 200 umfassen
SMTP-basierte Server und die E-Mail-Zustellserver 500 umfassen
POP3-basierte Server. Das Kommunikationsnetzwerk 108 kann
aber auch andere Netzwerkformen umfassen, wie ein Intranet oder
ein Funknetz, und die E-Mail-Server 200, 500 können andere
als die Protokolle SMTP und POP3 verwenden, wenn dies gewünscht wird.
Ferner kann jeder E-Mail-Übertragungsserver 200 mit
einem E-Mail-Zustellserver 500 gepaart werden, wobei beide
Server 500 auf einem gemeinsamen Computer residieren.
-
Jeder
Netzwerk-Client 102 besitzt vorzugsweise einen Personalcomputer,
der mit einer Software zur Kommunikation mit den Namensauflösungsservern 104 und den
E-Mail-Servern 200, 500 über das Kommunikationsnetzwerk 108 ausgestattet
ist. Ferner umfassen vorzugsweise die Namensauflösungsserver 104 und
die Netzwerkadressen-Server 106 Domainnamen-Resolver und
Domainnamenserver, wie von Mockapetris in RFC 1034 und RFC 1035 beschrieben.
Datenabschnitt RFC 1034 und RFC 1035 öffentlich zugänglich sind
und da die Struktur und der Betrieb von Domainnamen-Resolvern und Domainnamenservern
in Fachkreisen gut bekannt sind, ist eine Beschreibung der Domainnamen-Resolver 104 und
der Netzwerkadressen-Server 106 nicht erforderlich.
-
Wie
in 2 dargestellt, umfasst jeder E-Mail-Übertragungsserver 200 eine
Netzwerkschnittstelle 202 zur Kommunikation mit den Netzwerk-Clients 102 und
anderen E-Mail-Übertragungsservern 200 über das
Kommunikationsnetzwerk 108, und eine Zentralprozessoreinheit
(CPU) 204 in Kommunikation mit der Netzwerkschnittstelle 202 und
einen Permanentspeicher (NVM) 206 und einen nichtpermanenten
Speicher (RAM) 208 in Kommunikation mit der CPU 204.
Vorzugsweise umfasst der NVM 206 ein magnetisches oder
optisches Speichergerät und
besitzt eine permanente Accountnamen-Datenbank 210, die
Einträge
zur Identifizierung der vom E-Mail-Übertragungsserver 200 verwalteten Email-Accounts
umfasst, sowie eine E-Mail-Nachrichtendatenbank 212, in
der die von den Netzwerk-Clients 102 gekommenen E-Mail-Nachrichten gespeichert
werden. In Übereinstimmung
mit der Struktur SMTP-basierter E-Mail-Server umfasst die E-Mail-Nachrichtendatenbank 212 eine
Mehrzahl von Verzeichnissen oder elektronischen Ordnern, deren jeder
einem entsprechenden E-Mail-Account zugeordnet ist und ein Inbox-Unterverzeichnis
und ein Outbox-Unterverzeichnis umfasst.
-
Der
NVM 206 umfasst zudem Prozessorbefehle für die CPU 204,
die im RAM 208 eine volatile Accountnamen-Datenbank 214 als
Kopie der nicht-volatilen Accountnamen-Datenbank 210 einrichten,
und ein Speicherobjekt, das einen Accountnamenprozessor 216 definiert,
der in Kommunikation mit der Accountnamen-Datenbank 214 steht.
Verständlicher
Weise ist die Accountnamen-Datenbank 214 im
RAM 208 eingerichtet, um die Geschwindigkeit des Accountnamen-Auflösungsprozesses
zu erhöhen
und kann in Anwendungen weggelassen werden, in denen die Geschwindigkeit
keine Priorität
besitzt.
-
Die
Accountnamen-Datenbank 214 der E-Mail-Übertragungsserver 200 umfasst
eine Mehrzahl von Datenbankeinträgen 300,
deren jeder mit einem E-Mail-Account
assoziiert ist. Die Struktur eine typischen Datenbankeintrags ist
in 3 dargestellt. Wie gezeigt, umfasst jede Datenbank 300 eine
Mehrzahl von Zeichen 302, die gemeinsam einen E-Mail-Accountnamen 304a definieren,
und einen Zeichensatz-Idendifikator 306a, der den Zeichensatz identifiziert,
zu dem die Zeichen 302, welche den E-Mail-Accountnamen
umfassen, gehören.
Es ist jedoch einsehbar, dass die zur Definition eines E-Mail-Accountnamens
unter Verwendung eines Zeichensatzes verwendeten Zeichencodes auch
einen anderen E-Mail-Accountnamen
unter Verwendung eines anderen Zeichensatzes definieren könnten. Um
dem E-Mail-Übertragungsserver 200 die
Kommunikation mit anderen SMTP-Servern zu ermöglichen, die nicht dem unten
beschriebenen Accountnamenauflösungsverfahren
entsprechen (d. h. die keinen ZeichensatzIdentifikator zur Identifizierung
des zur Definition der Benutzernamenkomponente einer E-Mail-Adresse übertragen),
umfasst jeder Datenbankeintrag 300 eine Mehrzahl von Alias-E-Mail-Accountnamen 304b, 304c, 304d,
die jeweils einen zugeordneten (unterschiedlichen) Zeichensatz-Identifikator
(306b, 306c, 306d) besitzen.
-
Im
dargestellten Beispiel benützen
die E-Mail-Accountnamen 304a, 304b die selben
Zeichencodes, aber unterschiedliche Zeichensätze (chinesischer Zeichensatz
Big5 und GB2312) zur Definition der jeweiligen E-Mail-Accountnamen. Die E-Mail-Accountnamen 304a, 304c benützen unterschiedliche
Zeichensätze
(chinesischer Zeichensatz Big5 und GB2312), aber definieren den
selben Accountnamen unter Verwendung unterschiedlicher Zeichencodes.
Die E-Mail-Accountnamen 304c, 304d benützen erneut
unterschiedliche Zeichensätze (chinesischer
Zeichensatz Big5 und GB2312), aber die selben Zeichencodes zur Definition
unterschiedlicher Accountnamen. Wie nachstehend näher erklärt, ist
der E-Mail-Übertragungsserver 200 durch
eindeutige Assoziierung jedes E-Mail- Accounts mit einem E-Mail-Accountnamen 304a und
einer Mehrzahl von E-Mail-Accountnamen-Aliases 304b, 304c, 304d in der
Lage, einen Accountnamen aufzulösen,
der unter Verwendung einer Mehrzahl von unterschiedlichen Zeichensätzen definiert
wurde, auch wenn die empfangene E-Mail-Adresse keinen Zeichensatz-Identifikator
besitzt (vgl. unten). Es ist jedoch ein Ziel des elektronischen
Mailsystems 100, den von allen E-Mail-Servern verwendeten
Zeichensatz schließlich zu
einem multinationalen Zeichensatz zu standardisieren, wie etwa zu
einem Unicode-basierten Zeichensatz, so dass jeder Accountname in
jeder Sprache ohne Bezugnahme auf einen Zeichensatz-Identifikator
definiert werden kann. Es ist folglich einsehbar, dass die Verwendung
eines Zeichensatz-Identifikators 306 und
von E-Mail-Account-Aliases 304b, 304c, 304d Übergangsmaßnahmen
sind, die so lange zum Einsatz kommen, bis ein Standard für den multinationalen
Zeichensatz geschaffen ist.
-
In 2 ist
der Accountnamen-Prozessor 216 dargestellt, der einen Korrelationsprozessor 218 und
einen Antwort-Prozessor 220 in Kommunikation mit dem Korrelationsprozessor 218 umfasst.
Der Korrelationsprozessor 218 ist so konfiguriert, dass
er eine Korrelation zwischen der Accountnamenkomponente einer E-Mail-Adresse
und den in der Accountnamendatenbank 214 identifizierten
Accountnamen 304 bestimmt. Mit anderen Worten, der Korrelationsprozessor 218 jedes
E-Mail-Übertragungsservers 200 ist
dazu konfiguriert, zu bestimmen, ob eine E-Mail-Accountnamenskomponente
einer über
das Kommunikationsnetzwerk 108 empfangenen E-Mail-Nachricht
einen entsprechenden Eintrag in der Accountnamen-Datenbank 214 des
E-Mail-Übertragungsservers 200 hat.
Der Antwort-Prozessor 220 ist konfiguriert, eine Antwort
auf die empfangene E-Mail-Nachricht
in Entsprechung zu der Korrelationsanzeige bereitzustellen.
-
Vorzugsweise
ist jeder E-Mail-Übertragungsserver 200 dafür konfiguriert,
eine Mehrzahl von unterschiedlichen Zeichensätzen zu erkennen, einschließlich eines
nicht-ASCII-kompatiblen Zeichensatzes (wie UTF-8 – ein Zeichensatz
auf Basis 8-bit Unicode),
um die Kommunikation von E-Mails (mit multinationalen Zeichen in
den Accountnamenfeldern) mit 8-bit-E-Mail-Servern zu ermöglichen.
Des weiteren ist jeder E-Mail-Übertragungsserver 200 dafür konfiguriert,
einen 7-bit ACE (ASCII Compatible Encoding) Zeichensatz für die Rückwärtskompatibilität mit 7-bit-E-Mail-Servern zu erkennen.
Es ist jedoch, wie oben erörtert,
ein Ziel des elektronischen Mailsystems 100, den von allen
E-Mail-Servern verwendeten Zeichensatz zu einem multinationalen
Zeichensatz zu standardisieren, wie etwa einem Unicode-basierten
Zeichensatz, so dass jeder Accountname in jeder Sprache definiert
werden kann, ohne Bezugnahme auf einen Zeichensatz-Identifikator. Daraus
ergibt sich, dass die Verwendung eines ACE Zeichensatzes eine Übergangsmaßnahme ist,
die so lange Verwendung findet, bis ein Standard für den multinationalen
Zeichensatz geschaffen ist und alle E-Mail-Server in der Lage sind,
Accountnamen zu erkennen, die mit dem multinationalen Zeichensatz
codiert sind.
-
Die
Struktur eine E-Mail-Nachricht 400 (die zwischen einem
auslösenden
E-Mail-Übertragungsserver 200 und
einem empfangenden E-Mail-Übertragungsserver 200 übertragen
werden könnte)
ist in 4 dargestellt. Wie sich zeigt, ist die E-Mail-Nachricht 400 ähnlich dem
Standardnachrichtenformat für Internet-Textnachrichten,
wie es im Detail in RFC 822 beschrieben ist (verfügbar unter
http://www.ietf.org), insofern als die E-Mail-Nachricht 400 eine
Nachricht-ID 402, einen Text-Header-Abschnitt 404 und
einen mit dem Header-Abschnitt assoziierten Textkörper oder
Datenabschnitt 406 umfasst. Der Header-Abschnitt 404 umfasst
eine Mehrzahl von Headerzeilen 408, die jeweils einen Feldidentifikator 410, eine
Mehrzahl von Zeichen 412, die einen Account-„Spitznamen" 414 definieren,
und eine Mehrzahl von Zeichen 416, die dem Feldidentifikator 410 zugeordnet
sind und einen E-Mail-Accountnamen 418 definieren.
-
Die
Accountnamen 418, die den „M-FROM" und „M-REPLY-TO" Feldidentifikatoren 410 zugeordnet
sind, werden vom E-Mail-Übertragungsserver 200 zur
Darstellung von Accountnamen unter Verwendung multinationaler Zeichen
verwendet. Insbesondere definiert der „M-FROM" Feldidentifikator 410 den
Accountnamen des Auslösers
der E-Mail-Nachricht, während
der „M-REPLY-TO" Feldidentifikator 410 den
Accountnamen definiert, an den Antworten übertragen werden sollen. Die
Feldidentifikatoren 410 „FROM" und „REPLY-TO" dienen ähnlichen Zwecken wie die „M-FROM" und „M-REPLY-TO" Feldidentifikatoren 410,
ausgenommen, dass die mit den „FROM" und „REPY-TO" Feldidentifikatoren 410 assoziierten
Accountnamen die Verwendung eines ACE Zeichensatzes zur Gewährleistung
der Rückwärtskompatibilität mit nicht-angepassten
Client-Servern 102 definieren.
-
Der
E-Mail-Zustellserver 500 ist in seiner Struktur dem E-Mail-Übertragungsserver 200 im
wesentlichen ähnlich.
Wie in 5 dargestellt, umfasst jeder E-Mail-Zustellserver 500 eine
Netzwerkschnittstelle 502 für die Kommunikation mit den
Netzwerk-Clients 102 und den E-Mail-Übertragungsservern 200 über das
Kommunikationsnetzwerk 108, und eine zentrale Prozessoreinheit
(CPU) 504 in Kommunikation mit der Netzwerkschnittstelle 502 und
einen Permanentspeicher (NVM) 506 sowie einen nicht-permanenten
Speicher (RAM) 508 in Kommunikation mit der CPU 504.
Vorzugsweise umfasst der NVM 506 ein magnetisches oder
optisches Speichergerät
und eine nicht-volatile Accountnamen-Datenbank 510, die
Einträge
besitzt, welche jedes vom E-Mail-Zustellserver 500 verwaltete
E-Mail-Account identifizieren,
und eine Nachrichten-Datenbank 512 zum Speichern ankommender
E-Mail-Nachrichten.
-
Der
NVM 506 umfasst auch Prozessorbefehle für die CPU 504, die
im RAM 508 eine volatile Accountnamen-Datenbank 514 als
Kopie der nicht-volatilen Accountnamen-Datenbank 510 einrichten,
und ein Speicherobjekt, das einen Accountnamen-Prozessor 516 definiert,
der in Kommunikation mit der Accountnamen-Datenbank 514 steht.
Die Accountnamen-Datenbank 514 jedes E-Mail-Zustellservers 500 umfasst
eine Mehrzahl von Datenbankeinträgen 300,
deren jeder mit einem E-Mail-Account assoziiert ist. Wie dargestellt,
umfasst der Accountnamen-Prozessor 516 einen Korrelationsprozessor 518 und
einen Antwort-Prozessor 520 in Kommunikation mit dem Korrelationsprozessor 518.
Der Korrelationsprozessor 518 ist so konfiguriert, dass
er eine Korrelation zwischen einem von einem Benutzer eines Netzwerk-Clients 102 empfangenen Accountnamen
und den in der Accountnamen-Datenbank 514 identifizierten
Accountnamen bestimmt, um festzustellen, ob der empfangene Accountname
gültig
ist. Der Antwort-Prozessor 520 ist dafür konfiguriert, dem Netzwerk-Client 102 eine
Antwort in Entsprechung zur Korrelationsanzeige zu liefern.
-
Im
folgenden wird die Operation des elektronischen Mailsystems 100 unter
Bezugnahme auf die 6a und 6b beschrieben.
Nachdem die E-Mail-Server 200, 500 in Betrieb
genommen sind, liest jeder E-Mail-Server 200, 500 seine
entsprechende Datenbank in seinen entsprechenden RAM ein. Dann veranlasst
in Schritt 500 einer der Netzwerk-Clients 102 einen
der E-Mail-Übertragungsserver 200 (der „auslösende" E-Mail-Übertragungsserver 200),
einen Kommunikationskanal mit einem anderen der E-Mail-Übertragungsserver 200 über das Kommunikationsnetzwerk 108 zu öffnen (der „empfangende" E-Mail-Übertragungsserver 200),
um eine E-Mail-Nachricht 400 an einen Empfänger zu
senden, der ein E-Mail-Account am empfangenden E-Mail-Übertragungsserver 200 eingerichtet
hat. In Entsprechung mit dem SMTP-Protokoll ist jeder E-Mail-Übertragungsserver 200 vorzugsweise
so konfiguriert, dass er auf eine Verbindung mit dem TCP Port 25 zur
Initiierung einer E-Mail-Übertragungs-Aufforderung wartet.
-
Nachdem
ein Kommunikationskanal eingerichtet ist, überträgt in Schritt 502 der
auslösende Server 200 einen
Befehl auf den empfangenden Server 200, in dem verlangt
wird, dass der empfangende Server 200 anzeige, ob er in
der Lage ist, E-Mail-Nachrichten 400 mit
E-Mail-Adressen, die mehrsprachige Zeichen haben, zu verarbeiten,
und wenn dies der Fall ist, dem auslösenden Server 200 eine
Liste von Zeichensätzen
zur Verfügung
zu stellen, die vom empfangenden Server 200 erkannt werden.
Im Effekt versucht der auslösende
Server 200 in Schritt 502, mit dem empfangenden
Server 200 einen geeigneten Zeichensatz zu verhandeln.
In Schritt 504 wählt
der auslösende
Server 200 einen der identifizierten Zeichensätze und
sendet einen „MAIL FROM" Befehl an den empfangenden
Server 200, zusammen mit dem Accountnamen des Auslösers der
E-Mail-Nachricht 400, die im gewählten Zeichensatz codiert ist,
und einem „CHARSET" Parameter, der den
gewählten
Zeichensatz definiert.
-
Nach
Empfang des Accountnamen und des zugehörigen „CHARSET" Parameters bestimmt in Schritt 506 der
Accountnamen-Prozessor 216 des empfangenden Servers 200,
ob der empfangene „CHARSET" Parameter einen
der vom empfangenden Server 200 erkannten Zeichensatz identifiziert. Wenn
der „CHARSET" Parameter erkannt
wird, antwortet der empfangende Server 200 mit einer positiven
Bestätigung,
wenn der „CHARSET" Parameter nicht
erkannt wird, antwortet der empfangende Server 200 mit
einer Fehlermeldung.
-
Nachdem
der geeignete Zeichensatz verhandelt ist, sendet in Schritt 508 der
auslösende
Server 200 einen „RCPT
TO" Befehl an den
empfangenden Server 200, zusammen mit dem Accountnamen des
Empfängers
der E-Mail-Nachricht 400, der im ausgewählten Zeichensatz codiert ist.
Nach dem Empfang des Accountnamens fragt in Schritt 510 der Accountnamen-Prozessor 216 des
empfangenden Servers 200 seine Accountnamen-Datenbank 214 nach
dem empfangenen Accountnamen und den „CHARSET" Parameter ab, um festzustellen, ob
der Accountnamen gültig
ist. Wenn anderseits der auslösende
Server 200 den „CHARSET" Parameter nicht bereitstellt,
fragt der Accountnamen-Prozessor 216 des
empfangenden Servers 200 seine Accountnamen 214 mit
dem empfangenen Accountnamen nach einem Eintrag ab, der zu dem E-Mail-Accountnamen 304a oder
zu einem der Alias-Accountnamen 304b, 304c, 304d passt.
-
Nach
Empfang einer positiven Antwort vom empfangenden Server 200 überträgt in Schritt 512 der
auslösende
Server 200 den Datenabschnitt der E-Mail-Nachricht 400 auf
den empfangenden Server 200 und schließt dann den Kommunikationskanal
mit dem empfangenden Server 200. In einer Variation überträgt der auslösende Server 200 nur
den Header-Abschnitt 404 auf den empfangenden Server 200,
zusammen mit einem Zeiger auf den Datenabschnitt 406, wo
der Datenabschnitt 406 in der E-Mail-Datenbank 212 auf
dem auslösenden
Server 200 gespeichert ist. Diese Variation ist besonders vorteilhaft,
wenn der Auslöser
der E-Mail-Nachricht 400 mehrere Empfänger für die E-Mail- Nachricht 400 identifiziert,
die alle E-Mail-Accounts auf dem selben empfangenden Server 200 eingerichtet
haben, da dies Festplattenplatz auf dem empfangenden Server 200 konserviert.
In einer anderen Variation überträgt der empfangende
Server 200 den Header-Abschnitt 404 und den Daten-Abschnitt 406 auf
den empfangenden Server 200, und der empfangende Server 200 verwaltet
in seiner E-Mail-Datenbank 212 eine Einzelkopie der empfangenen
E-Mail-Nachricht 400 und liefert dann an den E-Mail-Zustellserver 500 den Header-Abschnitt 404 und
einen Zeiger auf den Datenabschnitt 406, wo der Datenabschnitt 406 in
der E-Mail-Datenbank 212 auf
dem empfangenden Server 200 gespeichert ist.
-
Nachstehend
wird eine beispielhafte SMTP Session zwischen einem auslösenden E-Mail-Übertragungsserver 200 (C)
und einem empfangenden E-Mail-Übertragungsserver 200 (S)
dargestellt, wobei der Befehl „EHLO" ein Befehl von der
SMTP-Erweiterung ist, der eine Auflistung unterstützter Modi und
Zeichensätze
vom empfangenden Server 200 verlangt. Der ausgewählte Zeichensatz
ist UTF-8, und die Antwort „MATRX" auf den Befehl „EHLO" identifiziert, dass
der empfangende Server 200 für das gegenständliche
Protokoll zugänglich
ist:
- S: <wait
for connection on TCP port 25>
- C: <open connection
to server>
- S: 220 mail_neteka.com – Server
SMTP (NeBOX v1.1)
- C: EHLO mail.toronto.edu
- S: 250-mail.neteka.com
- S: 250-8BITMIME
- S: 250 MATRX UTF-8 GB2312
- C: MAIL FROM:<(E4
E8 A-D E6 9687)@toronto.edu>CHARSET=UTF-8
- S: 250 Address Ok
- C: RCPT TO:<david@neteka.com>
- S: 250 david@neteka.com OK
- C: DATA
-
Nachstehend
ist eine weitere Beispiel-SMTP-Session dargestellt, wo der gewählte Zeichensatz
nicht vom empfangenden Server 200 unterstützt wird:
- C: EHLO mail.toronto.edu
- S: 250-mail.neteka.com
- S: 250-8BITMIME
- S: 250 MATRX UTF-8 GB2312
- C: MAIL FROM:<(A4
A4 A4 E5)@neteka.com>CHARSET=Big-5
- S: 504 Befehlsparameter nicht implementiert
- C: MAIL FROM:<(E4
E8 AD 9687)@toronto.com>CHARSET=UTF-8
- S: 250 Address Ok
-
In
einer Variation wird auf den „CHARSET" Parameter verzichtet,
und die Befehle „MAIL
FROM" und „RCPT TO" werden durch die
Befehle „M-MAIL FROM" und „M-RCPT TO" ersetzt, die implicite
anzeigen, dass der Zeichensatz UTF-8 ausgewählt ist. Nachstehend ist beispielhaft
eine SMTP-Session unter Verwendung dieser zusätzlichen Befehle dargestellt:
- C: EHLO mail.toronto.edu
- S: 250-mail.neteka.com
- S: 250-8BITMIME
- S: 250 MATRX
- C: M-MAIL FROM:<(E4
E8 AD E6 96 87)@neteka.com>
- S: 250 Address Ok
-
Wenn
in Schritt 502 der auslösende
Server 200 bestimmt, dass der empfangende Server 200 nicht
in der Lage ist, E-Mail-Nachrichten 400 zu verarbeiten,
die E-Mail-Adressen
haben, welche mehrsprachige Zeichen aufweisen, muss der auslösende Server 200 versuchen,
irgendwelche mehrsprachige Namen in ACE- Format zu senden. Im nachstehenden Beispiel
einer SMTP-Session überträgt folglich der
auslösende
Server 200 einen BIG5-codierten Accountnamen, der im RACE-Format
codiert ist:
- S: 220 mail.example.com – Server
SMTP
- C: EHLO mail.neteka.com
- S: 500 Befehl nicht erkannt: EHLO
- C: HELO mail.neteka.com
- S: 250 mail.example.com hello
- C: MAIL FROM:<bq-3bhc2zmh@neteka.com>
- S: 250 Address Ok
-
Damit
die E-Mail-Nachricht 400 nach der Übertragung an den empfangenden
Server 200 an den Empfänger
geliefert wird, öffnet
in Schritt 514 der empfangende E-Mail-Übertragungsserver 200 einen Kommunikationskanal
mit einem der E-Mail-Zustellserver 500. In Entsprechung
zum POP3-Protokoll ist jeder E-Mail-Zustellserver 500 vorzugsweise
so konfiguriert, dass er auf eine Verbindung mit dem TCP Port 110 zur
Abgabe einer E-Mail-Zustellaufforderung wartet.
-
Nachdem
ein Kommunikationskanal eingerichtet ist, überträgt in Schritt 516 der
empfangende Server 200 einen Befehl auf den Zustellserver 500, der
verlangt, dass der Zustellserver 500 anzeige, ob er in
der Lage ist, E-Mail-Nachrichten 400 zu verarbeiten, die
E-Mail-Adressen mit mehrsprachigen Zeichen aufweisen, und wenn dies
der Fall ist, dem empfangenden Server 200 eine Liste der
vom Zustellserver 500 erkannten Zeichensätze zukommen zu
lassen. Im Effekt versucht der empfangende Server 200 im
Schritt 516, mit den Zustellserver 500 einen geeigneten
Zeichensatz zu verhandeln. In Schritt 518 wählt der
empfangende Server 200 einen der identifizierten Zeichensätze und
sendet einen „USER" Befehl an den Zustellserver 500,
gemeinsam mit dem Accountnamen des Empfängers der E-Mail-Nachricht 400,
der im gewählten
Zeichensatz codiert ist, und einem „CHARSET" Parameter, der den gewählten Zeichensatz
definiert.
-
Nach
Empfang des Accountnamen und des assoziierten „CHARSET" Parameters bestimmt in Schritt 520 der
Accountnamen-Prozessor 516 des Zustellservers 500,
ob der empfangene „CHARSET" Parameter einen
der vom Zustellserver 500 erkannten Zeichensätze identifiziert.
Wenn der „CHARSET" Parameter erkannt
wird, fragt der Accountnamen-Prozessor 516 seine Accountnamen-Datenbank 514 mit
dem empfangenen Accountnamen und dem „CHARSET" Parameter ab, um zu bestimmen, ob der
Accountnamen gültig
ist. In Schritt 522 überträgt der empfangende
Server 200 dann die E-Mail-Nachricht 400 (oder
der Header-Abschnitt 404 und
einen Zeiger auf den Datenabschnitt 406, wie oben erörtert) auf
den Zustellserver 500 und schließt den Kommunikationskanal
mit den Zustellserver 500.
-
Eine
Beispiel-POP3-Session zwischen einem empfangenden E-Mail-Übertragungsserver 200 (C)
und einem E-Mail-Zustellserver 500 (S) ist nachstehend
dargestellt, wobei der Befehl „CAPA" ein Befehl von der
POP3-Erweiterung
ist, mit dem eine Auflistung unterstützter Modi und Zeichensätze vom
Zustellserver 500 verlangt wird:
- S:
+OK POP3 Server bereit
- C: CAPA
- S: +OK 500 Fähigkeitsliste
folgt
- S: TOP
- S: USER
- C: MATRX UTF-8 GB2312
- S:
- C: USER (A4 A4 A4 E5)@neteka.com CHARSET=Big5
- S: –ERR
CHARSET=big5 nicht implementiert
- C: USER (E4 E8 AD E6 96 87)@neteka.com CHARSET=UTF-8
- S: +OK willkommen