Re:
Für den Fall, dass sendmail nicht zur Verfügung stehen sollte, kommt nur Reply-To in frage.
Ja, from ist reserviert.
Bei SMTP muss ich im hello eine Adresse angeben, die der SMTP-Server bestätigen kann. Sie ist also nicht der Autor der Mail (ausser ich schreibe an mich selbst)
Authentifizierung erfolgt aber nochmals mit einer eigenen Combo.
Übrigens ist auch die alte RFC 2821 ersetzt worden. Das ist jetzt die RFC 5321. SMTP und Mail-Header haben, soweit Du dies beschreibst, erstmal nicht miteinander zu tun. Was SMTP anbelangt, ist es ja nur logisch, sich mit der Mail-Adresse zu authentifizieren, die man auch tatsächlich innehat.
Nächste Frage: Message-ID
es besteht keine Pflicht aber doch die stärkste Ermutigung, dass jede Mail eine Message-ID erhält.
Abs. 3.6.4, ja.
Hier wieder die Frage: mit welcher Adresse ist der rechte Part assoziiert?
Though other algorithms will work, it is RECOMMENDED
that the right-hand side contain some domain identifier (either of
the host itself or otherwise) such that the generator of the message
identifier can guarantee the uniqueness of the left-hand side within
the scope of that domain.
Wie zu lesen ist, trifft RFC 5322 'sehr eindeutige' Aussagen dazu. ;)
Persönlich würde ich den mit dem Formmailer angesteuerten HTTP-Host kanonisch bestimmen und für die rechte Seite heranziehen.; also STRING@exaple.com.
Meine etwas hilflose Interpretation der RFC lautet: Mit dem From:
für den linken Part kann ich den hex String der $formuserid verwenden.
für den rechten Part kann ich sha1_hex( $from )zusammen ergibt das dann
$messageid = '<' . $formuserid . '@' . sha1_hex( $from ) . '>';
Da für die rechte Seite eine Domain (im Sinne RFC 1035) zu benennen ist, halte ich sha1_hex( $from )
für falsch. Zu bedenken ist auch, dass in Deinem Beispiel $formuserid
syntaktisch den selben Regeln wie der Lokale Teil einer Mail-Adresse folgen muss.
Was dabei böse ist:
Ein messagheader Body soll 76 Zeichen nicht überschreiten.
Nebenbei: Eine gültige Mail-Adresse kann maximal 319zeichenlang sein.
Die harte Obergrenze für eine Headerzeile sind 998 Zeichen (exklusive des Zeilenumbruchs "\r\n"). Ansonsten habe ich keine entsprechende Stelle in RFC 5322 gefunden, die Deine Sorge und insbesondere die Länge von 76 Zeichen stützt.
sha1_hex hashes sind aber jeweils 40 Zeichen lang.
Ich verstehe soviel dass die Idee ist, dass der rechte Part den Sender / das From abbilden soll.
der Linke Teil soll hinreichend eine unique id relativ zur Gruppe aller Mails mit gleichem rechten Teil ergeben.
Das eigentliche Ziel ist die Schaffung einer (weitestgehenden) unikaten Angabe, anhand der die Mail identifizierbar ist.
Gruß aus Berlin!
eddi