Mailadressen & PHP-Mailform - verstehe die Welt nicht mehr!
Leander
Hallo,
Ich verstehe die Welt nicht mehr. Ich habe mehrere Homepages. Alle haben dasselbe Mailformular implementiert. Dadurch kann man mir direkt von der Homepage mailen. Weiters habe ich ein PHP-Skript, mit dem man sich für den Newsletter anmelden kann. Alles ist in PHP.
Natürlich muss man im PHP angeben, wohin die Kontaktmail bzw. die Newsletteranmeldung geschickt werden soll. Habe je nach Homepage adresse1@gmx.at, adresse2@gmx.at und adresse3@gmx.at eingetragen. Die GMX-Accounts waren alle FreeGMX und eigenen Accounts (also drei Benutzernummern).
So...dann habe ich mich für GMX Pro angemeldet. Habe adresse1@gmx.at als Hauptaccount genommen und Adressen 2 und 3 zu Adresse 1 umgezogen. Plötzlich funktionieren die PHP-Skripts nicht mehr! Wenn ich da von der einen Homepage eine Newsletteranmeldung an Adresse 2 schicken will, kommt nichts mehr an, obwohl es früher immer ging.
Wenn ich auf Homepage 2 aber Adresse 1 im PHP-Skript eintrage, geht es. Und seltsamerweise geht es auch, wenn ich Adresse 2 wähle, die GAR NICHT mehr geht, bis auf EINE Ausnahme, nämlich, wenn ich als Newsletteranforderer Adresse 1 eingebe. Das kann doch nicht sein! Wenn ich auswähle, dass Newsletteranmeldungen überhaupt an einen Hotmailaccount geschickt werden, geht es auch nicht mehr, außer, ich trage meine adresse1@gmx.at als Abonnent ein. Ich verstehe die Welt nicht mehr!!! GMX, PHP-Skript und Hotmail sind drei verschiedene Dinge. Woran kann das liegen?
Beim Newsletterskript steht:
, "From: $mail\n"
."Reply-To: $mail\n"
."X-Mailer: PHP/" . phpversion() . "\n\n");
Das stand da schon immer. Früher ging es immer. Jetzt nicht mehr.
Kurzübersicht:
Was funktionierte früher? Alles! Ich konnte die Newsletteranmeldungen an eine beliebige Mailbox schicken lassen, was auch normal ist.
Was funktioniert jetzt noch? Kaum mehr was! Warum? Keine Ahnung. Haben Mailanbieter was umgestellt? Maßnahmen gegen Spammer, wodurch dann PHP-Skripts nicht mehr funktionieren?
a) Es funktioniert, wenn ich was an meinen GMX Pro-Account (Hauptadresse) schicken lasse.
b) Es funktioniert, wenn ich bei "Mailadresse" irgendwelche Buchstaben eingebe...also z.B. "BLabla"...also keine gültige Mail mit @ usw.
c) Es funktioniert nicht mehr, wenn ich die Anmeldungen an eine andere Adresse abgesehen vom GMX Pro-Accout (Hauptadresse) schicken lasse. Wenn ich das PHP-Skript so einstelle, dass es an meinen Hotmail-Account geschickt wird, funktioniert es auch nicht mehr. Dabei haben doch GMX und Hotmail und PHP nichts miteinander zu tun.
d) Jetzt kommts...allerdings funktioniert es, wenn ich einstelle, dass es an den Hotmail-Account geschickt werden soll UND ich irgendwelche Buchstaben eingebe (keine normale Mailadresse mit @) ODER wenn ich meine GMX-Hauptadresse eingebe. Das kann doch nicht sein!?
Heißt, dass sich Leute für den Newsletter nur anmelden können, wenn ich die Anmeldungen an meinen GMX-Hauptaccount schicken lasse. Da geht alles. Wenn ich aber einen x-beliebige andere GMX-Box wähle (hab mehrere Adressen) oder meinen Hotmail-Account, funktinieren keine Mailadressen mehr, sondern nur mehr Buchstaben.
An Hotmail wird die Anmeldung nicht geschickt, wenn sich ein Freund anmeldet. Wenn jemand aber "blabla" eingibt oder "abc", dann kommt schon eine Mail von "abc@nitweb..." (nitweb is mein Domainprovider). Weiters kommt die Mail, wenn ich mich selber für meinen eigenen Newsletter mit meiner GMX-Hauptadresse anmelde.
-----------
Fazit: Bin total verwirrt. Ich verstehe die Welt nicht mehr.
Eine mögliche Erklärung wäre, dass es nicht an PHP liegt (hab da ja nichts verstellt), auch nicht an den Mailboxen..sondern am Domainprovider. Denn dort habe ich die GMX-Hauptadresse hinterlegt. Vielleicht haben die so ein Anti-Spamzeug, dass ich nur mehr so PHP-Zeug an die dort hinterlegte Adresse schicken lassen kann?
Moin!
Beim Newsletterskript steht:
, "From: $mail\n"
."Reply-To: $mail\n"
."X-Mailer: PHP/" . phpversion() . "\n\n");
Sieht nach böser Falle wegen Manipulierbarkeit von Headern aus - aber das ist ein anderes Thema.
Fakt ist: Ohne dein Skript wissen wir nicht, was du machst. Dass irgendwas nicht mehr geht - soviel hast du rübergebracht. Es kommt aber gerade bei großen Freemail-Providern immer sehr drauf an, dass die Mails spamfilterkonform sind.
Deshalb lieferst du am Besten auch noch die empfangenen Mailheader nach. Denn daran sieht man, welche Header dein Skript in die Mail schreibt, und was die beteiligten Provider noch hinzufügen.
Bedenke auch, dass dein Skript mit der FROM-Angabe mit Sicherheit Probleme verursacht, wenn der empfangene Mailserver SPF einsetzt (GMX tut das IIRC mindestens für die Pro-Accounts). Das bedeutet: Im DNS-Eintrag der Domain, die im FROM steht, listet der Domaininhaber, welche Server im Internet legal Mails dieser Domain in die Welt schicken dürfen.
Da dein Newsletterskriptserver sicher nicht zu den Servern gehört, denen erlaubt ist, im Namen von GMX Mails zu versenden, wird diese Mail abgelehnt werden. Wo die Mail dann landet, solltest du dringend erforschen. Hast du beispielsweise Zugriff auf die Logfiles des Mailservers, dem du mit dem PHP-Befehl mail() die Mail übergibst? Wo läßt der die abgeschickten Mails? Welcher Statuscode entsteht beim Auslieferungsversuch der Mail?
- Sven Rautenberg
Die Antwort ist recht simpel.
Dein Anbieter erlaubt nur mails vom eigenen Host/domain.
Deine Besucher versenden aber die Mail mit Angabe Ihrer
Domain/Mailanbieter-namen. Also denkt dein Server/Webspace
Er soll eine Mail verschicken die nicht von Ihm kommt, also
Missbarauch. Gibst du nur unsinn ein ohne @, dann wird der Standardhost als Absender eingegeben. Und deshalb funktioniests.
Alles was du tun musst ist eine feste vom Server erlaubte
Fromadresse zu nehmen und die Absenderadresse des Besuchers
im Mailtext oder Subject zu speichern.
Stefan
habe d'ehre Stefan
Deine Besucher versenden aber die Mail mit Angabe Ihrer
Domain/Mailanbieter-namen. Also denkt dein Server/Webspace
Er soll eine Mail verschicken die nicht von Ihm kommt, also
Missbarauch. Gibst du nur unsinn ein ohne @, dann wird der Standardhost als Absender eingegeben. Und deshalb funktioniests.Alles was du tun musst ist eine feste vom Server erlaubte
Fromadresse zu nehmen und die Absenderadresse des Besuchers
im Mailtext oder Subject zu speichern.
Hmhh, muss nicht zwangslaeufig der Fall sein. Ich hatte vor kurzem bei einem Hoster das Problem, dass der dort eingesetzte Cyrus-Server fuer den Posteingang das von mir bisher immer verwendete Format "FROM: ".$absender nicht akzeptierte und daraus "FROM:info"@example.org machte. Die Mails verschwanden im Nirwana. Nach einer Aenderung auf "FROM: <".$absender.">\r\n" erledigte sich das Problem.
man liest sich
Wilhelm