PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Email: Wie erkenne ich mehrere Empfaengeradressen in mail



Vagabundo
24.11.08, 18:49
Hallo,

ich habe folgendes Problem:
Fuer einen Faxservice werden Faxe per Email mit folgender Email-Adressierung eingereicht:
4912345678@meinedomain.de

So weit so gut.
Wenn jetzt aber jemand 2 oder mehr inhaltsgleiche Faxe an verschiedene Faxnummern versenden will, dann steht im To:-Feld:
4912345678@meinedomain.de,4987654321@meinedomain.d e, usw.

Jetzt kommts:
Manchmal werden diese Email nur einmal zugestellt, so dass man aus der einen Email (wir machens mittels Perl-Programm) die Faxnummern auslesen muss, manchmal wird aber auch fuer jede Email-Adresse eine eigene Mail zugestellt, in der in jeder im To:-Feld alle Email-Adressen eingetragen sind.
Nach meinen Erfahrungen liegtes am absendenden Email-Programm oder SMTP-Server wie die Zustellung erfolgt.

Meine Frage:

Wie kann ich diese zwei Arten der Mail-Zustellung unterscheiden? Ich habe bisher noch kein Unterscheidungsmerkmal gefunden.
Das Problem ist, das das Perl Programm nicht erkennen kann ob es sich um eine oder mehrere gleiche Mails handelt, da ja immer nur eine Email eingelesen und bearbeitet wird. Deshalb versendet das Programm z.B. bei 10 eingetragen Email-Adressen und 10 zugestellten Emails, das Fax auch 10 x 10, also 100 Mal. an jeden Empfaenger 10 x, was natuerlich nicht gewollt ist!

Gibt es also irgendein Merkmal in einer Mail, ob sie an jede Email-Adresse, die im To:-Feld steht nur einmal zugestellt wird oder so oft, wie die Domain dort genannt ist?

Wer kann mir da weiterhelfen?

Herzliche Gruesse
Christian

marce
25.11.08, 06:23
irgendwie verstehe ich das Problem nicht so ganz - eine Mail wird an jede Adresse, die angegeben ist (to, bc, bcc) so oft zugesandt, wie die Adresse vorhanden ist.

Werd doch mal konkreter, wie im "Problemfall" der Header dann aussieht.

baumgartner
25.11.08, 10:18
Ja, ein bischen mehr info wäre nicht schlecht und auch eine Info wie oder was das Perl Programm ist.

Ich denke mal mit einem
my @a = split (";", $string)
foreach (@a){
restlicher Code
}

wäre aber sicher ein Lösungsweg drin ;)

Vagabundo
25.11.08, 13:49
Hallo,

es ist vielleicht etwas schwierig zu erklaeren, aber ich dachte ich haette das Porbelm ruebergebracht:

Es ist kein Problem des Perl-Programms, das haben wir uebrigends selbst geschrieben und es macht alles richtig.

Und es ist auch kein Problem die einzelnen To:-Adressen voneinander zu trennen.

Probem ist:

Wenn mehrere Email-Adressen in To: nach dem obigen Muster eingetragen sind, dann bekommen wir manchmal nur eine Mail mit allen Adressen drin und manchmal bekommen wir so viele Mails wie Adressen im To:-Feld stehen, dann stehen aber trotzdem im To:-Feld jeder Email alle Email-Adressen
Deshalb wertet unser Perl Programm dann eben auch jede Email aus und verschickt die Faxe an alle Faxnummern die im To:-Feld stehen - und zwar so oft, wie eben Emails eingegangen sind.

Ich suche nun nach einem Erkennungsmerkmal innerhalb der Mail, ob diese nur einmal gesandt wurde oder fuer jede Email-Adresse einmal.

Aber ich habe eben bisher nichts gefunden. Das miuesste doch aber irgendwie geregelt sein.
Meine Tests z. B. mit Thunderbird haben immer nur eine Email beim Empfaenger ankommen lassen, egal wie viele Adressen mit der gleichen Domain darin standen. Von Kunden bekommen wir aber eben immer wieder Mails die so oft zugestellt werden, wie Adessen im To:-Feld stehen.

Vielleicht ist das Problem jetzt etwas klarer.

Herzliche Gruesse
Christian

marce
25.11.08, 13:53
Wenn mehrere Email-Adressen in To: nach dem obigen Muster eingetragen sind, dann bekommen wir manchmal nur eine Mail mit allen Adressen drin und manchmal bekommen wir so viele Mails wie Adressen im To:-Feld stehen, dann stehen aber trotzdem im To:-Feld jeder Email alle Email-Adressen
ersteres wäre korrekt.

Das andere sieht für mich nach einem riesigen Bug aus...

baumgartner
25.11.08, 14:19
Dann erweitere dein Perl-Skript doch, dass es in einer Datei prüft welche Empfänger für welches Fax bereits abgearbeitet wurden.

MiGo
25.11.08, 14:51
Dann erweitere dein Perl-Skript doch, dass es in einer Datei prüft welche Empfänger für welches Fax bereits abgearbeitet wurden.
Oder mach eine md5-Summe über den Body der Email und speichere den Kram irgendwo. Pro md5-Summe wird die Email dann nur einmal abgearbeitet, Emails mit gleicher md5-Summe müssen Duplikate sein.

Vagabundo
25.11.08, 20:26
ersteres wäre korrekt.

Das andere sieht für mich nach einem riesigen Bug aus...

Da bin ich eben nicht sicher!

Wenn ich z.B. eine Mail sende an
hans@meinedomain.de,peter@meinedomain.de

Dann kann es eigentlich nicht richtig sein, wenn nur 1 Mail mit beiden Empfaengern ankommt (wenn auch beide Postfaecher bestehen)

Ob die Postfaecher bestehen weiss das absendende Email-Programm aber nicht. Es muesste also eigentlich immer zwei Mails senden. Oder vervielfaeltigt der empfangende Mailserver die Mails und stellt an jedes Postfache eine Mails zu?

Die Idee mit der md5-Summe von MiGo ist vielleicht ganz gut um Duplikate auszusortieren. Das werde ich mal testen.

Danke Euch allen fuer Eure Hilfe.

Herzliche Gruesse
Christian