warum macht er das net ?

Alles, was PHP betrifft, kann hier besprochen werden.

warum macht er das net ?

Postby hhunderter » 11. October 2005 10:28

hi ich verzwiefel gerade an den php befehl mail()

mein code lautet so:

Code: Select all
$message = "Datan und Passwort\Pass = ".$pass."\e-mail = ".$_POST['email'];
$subject = "Passwort anforderun von ...";
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "To: ".$_POST['name']." <".$_POST['email'].">\r\n";
$headers .= "From: Webmaster@... <hdallo@web.de>\r\n";


if(!mail($_POST['email'], $subject, $message, $headers))
die ('Mail ferlgeschlagen');


so scheint für mich alles richtig zusein da kein fehler angezeigt wird aber die mail komt nicht am emfänger an, warum?

info :
xamp v. 2.1
und ich habe alles von xamp an!
Ich bin der der die vielen fragen stelt
Gamen ist mein Leben .
der Rest ist mein Hobby

Linkin Park 4Ever
Limp Biskit Rockt
User avatar
hhunderter
 
Posts: 36
Joined: 25. December 2004 10:42
Location: Dorsten

Postby jakimo72 » 11. October 2005 20:40

Ist es vielleicht wieder das übliche Problem, dass
Du versuchst einen SMTP-Server anzusprechen,
der eine Authentifizierung benötigt? Oder
benutzt Du ein schlecht eingerichteten lokalen MTA?
Oder passt der Absender nicht zum SMTP-Server Deines
Providers? Oder geht die Mail blos in den Spamfilter?
User avatar
jakimo72
 
Posts: 151
Joined: 07. February 2005 13:25
Location: Hamburg-Barmbek

Postby hhunderter » 11. October 2005 22:26

jakimo72 wrote:Ist es vielleicht wieder das übliche Problem, dass
Du versuchst einen SMTP-Server anzusprechen,
der eine Authentifizierung benötigt? Oder
benutzt Du ein schlecht eingerichteten lokalen MTA?

1. ich was ist MTA?
2. wie meinst du das mit Authentifizierung?
jakimo72 wrote:Oder passt der Absender nicht zum SMTP-Server Deines
Providers?

was meinst du mit SMTP-Server Deines Providers?
jakimo72 wrote:Oder geht die Mail blos in den Spamfilter?

das kann nicht sein , da ich bei web.de auch den spam nachkucken kann und da ist auch keine mail
Ich bin der der die vielen fragen stelt
Gamen ist mein Leben .
der Rest ist mein Hobby

Linkin Park 4Ever
Limp Biskit Rockt
User avatar
hhunderter
 
Posts: 36
Joined: 25. December 2004 10:42
Location: Dorsten

Postby jakimo72 » 12. October 2005 07:42

E-Mails werden durch SMTP-Server versendet. Der Provider, bei dem Du Deine E-Mail-Adresse hast, stellt Dir so ein Ding zur Verfügung.

Unter Windows ist es üblich, dass alle Programme, die E-Mails
versenden wollen den SMTP-Server direkt ansprechen.
Dazu must Du in der PHP.ini den richtigen SMTP-Server eintragen.

Unter Unix hat man normaler einen lokalen MTA (Mail-Transver-Agent),
also ein Programm, welches E-Mails von allen Porgrammen einsammelt und
an den SMTP-Server Deines Providers weiterreicht. Dieser MTA kann
entweder über ein Device angesprochen werden, oder selber als SMTP-Server agieren.

Früher, in der guten alten Zeit, gab es noch nicht so viel Spam, und
da konnte man einfach irgend einen SMTP-Server schnappen, und seine
Mails versenden. Das hat sich geändert, heutzutage muss man sich bei
den SMTP-Servers Authentifizieren, also sich mit Usernamen und Passwort
anmelden.

PHP beherrscht mit der einfachen Mail-Funktion mail() leider die
Authentifikation am SMTP-Server nicht. Unter Unix fällt das nicht
auf, denn da benutzt mail() einfach den lokalen MTA.

Unter Windows gibt es nun zwei Möglichkeiten dieses Problem zu lösen:

1. Man verwendet nicht mail(), sondern ein andere Funktion, die
die Authentifikation beherrscht. Ich verwende dafür gerne
PEAR-Mail, welches bei den meisten PHP-Installationen schon babei ist.
sehe unter http://pear.php.net/manual/en/package.mail.mail.php

2. Man installiert einen MTA auf seinen Rechner, den man mit dem
einfachen SMTP-Protokoll ansprechen kann, und der die E-Mail dann
weiterreicht.


Zum Thema Absender:
Es gibt viele E-Mail-Provider, die mögen es gar nicht, wenn der Absender
nicht zum Provider passt, also wenn Du bei GMX bist,
sollte der Absender auch deinname@gmx.de oder so heißen. Das
Feld Reply-To ist kann dagegen normalerweise frei gesetzt werden.


Zum Thema Mail gab es schon reichlich Diskussionen:
Hier nur einige Beispiele:
http://community.apachefriends.org/f/viewtopi ... light=mail
http://community.apachefriends.org/f/viewtopi ... light=mail
http://community.apachefriends.org/f/viewtopi ... light=mail
http://community.apachefriends.org/f/viewtopi ... light=mail
User avatar
jakimo72
 
Posts: 151
Joined: 07. February 2005 13:25
Location: Hamburg-Barmbek

Postby hhunderter » 12. October 2005 10:05

ich habe mich mal dur die seiten durchgeblättert aber bin immer noch nicht weiter

ich habe dieses prog entdeckt : SMTPAuth
wie stelle ich es so ein das er die mails weiterleitet?
Ich bin der der die vielen fragen stelt
Gamen ist mein Leben .
der Rest ist mein Hobby

Linkin Park 4Ever
Limp Biskit Rockt
User avatar
hhunderter
 
Posts: 36
Joined: 25. December 2004 10:42
Location: Dorsten

Postby Wiedmann » 12. October 2005 12:34

jakimo72 wrote:Unter Windows gibt es nun zwei Möglichkeiten dieses Problem zu lösen:

Es fehlt die dritte Möglichkeit:
3) Man verwendet auch unter Windows, wie bei Linux, ein sendmail um die Mails zu versenden.

Ist ja beim XAMPP direkt vorgesehen und mit das einfachste, wenn man es auch mit fertigen Scripten zu tun hat (dort will man ja mit mail-Routinen nicht mehr selbst umschreiben).
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby hhunderter » 12. October 2005 12:42

und wie krieg ich das jetz am besten hin ? so das ich endlich mails versenden kann?
Ich bin der der die vielen fragen stelt
Gamen ist mein Leben .
der Rest ist mein Hobby

Linkin Park 4Ever
Limp Biskit Rockt
User avatar
hhunderter
 
Posts: 36
Joined: 25. December 2004 10:42
Location: Dorsten

Postby jakimo72 » 12. October 2005 12:44

Was ist denn nun der Unterschied zwischen der 2. und der 3. Möglichkeit?
Ist es denn Möglich auch unter Windows den MTA (z.B. sendmail)
direkt über ein Device anzusprechen? Ich dachte da wird immer
das SMTP-Protokoll verwendet.
User avatar
jakimo72
 
Posts: 151
Joined: 07. February 2005 13:25
Location: Hamburg-Barmbek

Postby Wiedmann » 12. October 2005 13:00

Ist es denn Möglich auch unter Windows den MTA (z.B. sendmail)
direkt über ein Device anzusprechen? Ich dachte da wird immer
das SMTP-Protokoll verwendet.

Hm. wir reden hier nicht von dem MTA selbst, sondern nur von dem sendmail-binary, was ein Interface für den MTA (z.B. Sendmail/Postfix usw.) ist. Dieses Binary wird nicht über SMTP angesprochen, sondern bekommt die Daten über STDIN.

Unter Linux übergibt dieses Binary dann dem lokalen MTA die Mail zur Weiterverarbeitung, der diese dann zustellt.

Da man ja nicht unbedingt einen kompletten MTA installieren will (auch wenn Mercury dabei ist), benutzt unser Sendmail einfach den Mailserver vom Provider (wie GMX) um die Mail zuzustellen (wie PEAR::Mail auch). Netterweise hat man so dann auch keine Probleme mit Spamfiltern.

BTW GMX:
auch das "From" lässt sich in der Mailfunktion frei setzen. GMX prüft nur das "From" im Envelope. Und das lassen wir uns von Sendmail passend setzen.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby hhunderter » 12. October 2005 14:04

and was ist jetz mit mir ich habe immer noch das prob.
Ich bin der der die vielen fragen stelt
Gamen ist mein Leben .
der Rest ist mein Hobby

Linkin Park 4Ever
Limp Biskit Rockt
User avatar
hhunderter
 
Posts: 36
Joined: 25. December 2004 10:42
Location: Dorsten


Return to PHP

Who is online

Users browsing this forum: No registered users and 8 guests