Zum Inhalt springen

Mail Funktion bei PHP


Empfohlene Beiträge

Seas...

Ich hab folgendes Problem. Ich hab auf meiner Hompage einen Login-Bereich erstellt.

Um sich zu registrieren, muss der Benutzer einen Namen, ein Passwort und seine

eMail-Adresse angeben. An diese Adresse wird nun ein Link geschickt, mit Hilfe der

neue Benutzer seinen Account frei schalten kann.

Für das Versenden der eMail verwende ich die PHP-Funktion "mail". Das Versenden

funktioniert wunderbar. Doch leider geht es nicht mehr, sobald ein "." in der Adresse

vorhanden ist, also ungefähr so:

vorname.nachname@gmx.de

Sobald ein Punkt vor dem @-Zeichen ist, wird die Mail nicht mehr versendet. Die Mail-

Funktion gibt keine Fehlermeldung zurück.

Kennt jmd. von euch das Problem oder besser, kennt jmd. ne Lösung.

THX

Gruß Wahn

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich bin der Sache mittlerweile etwas näher auf den Grund gegangen. Also nur mal als ergänzung, ich sende ne HTML Mail.

Jetzt hab ich 2 gmx-Adressen, die folgende Formate haben:

vorname.nachname@gmx.de

nick@gmx.de

HTML-Mail funktioniert nur bei der 2. Adresse, Textmail bei beiden. Warum auch immer.

Hier mal mein Quellcode:

//Kontaktdaten in Variablen schreiben

$betreff="Registrierung bei bla";

$header="From:bla\n";

//Gerüst für die eMail

$text="Herzlichen Dank für die Registrierung bei bla\n\n\nIhr Benutzername lautet: ".$benutzername.".\n\nUm Ihre Registrierung zu vervollständigen klicken Sie bitte auf den untenstehenden Link.\n\n\nhttp://bla\n\n\n\n\n\nBitte Antworten Sie nicht auf diese eMail, sie ist computergeneriert !";

$test_senden=mail($email,$betreff,$text,$header);

Will ich diese Mail als HTML verschicken, also die Vaiable $text mit HTML Code füllen, füge ich im header vollgende Daten hinzu:

$header.="Content-Type: text/html"

Es funktionier dann aber nur noch bei der 1. eMail Adresse

Link zu diesem Kommentar
Auf anderen Seiten teilen

Versteh ich jetzt nicht ganz.

Das Problem ist, der Benutzer gibt seine eMail-Adresse ein, also nur eine. Diese wird in $eMail gespeichert. Dann wird an diese die Mail geschickt.

Sobald ich die Mail als HTML-Mail definiere kommt sie nur noch bei Benutzern mit einer Adresse der Form bla@blub.de an, also kein Punkt vor dem @-Zeichen.

Definiere ich die Mail als TextMail kommt sie bei allen an, also auch bei bla.bla@blub.de

Meine Frage ist jetzt das WARUM?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das scheint kein PHP-Problem zu sein, eher eines des Mailprogramms.

Lass mal die Empfängeradresse (Parameter 1 in mail()) weg (also Leerstring angeben) und füge nach deiner "FROM: ..." Zeile eine "TO: " Zeile mit der Empfängeradresse ein,

also "\nTO: $email\n".

Damit sollte es bei beiden Varianten funktionieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...