eMail Versand über PHP mit bool mail() erfolglos!

  • Thread starter Thread starter Edel
  • Start date Start date
E

Edel

Guest
Habe ein echtes Noob Prob und noch einen alten vServer basic (leider ohne support) bei Server4you! (habe Forum nach Prob schon erfolglos durchsucht)

Ich habe versucht aus einem Formular per mail() eine eMail zu versenden. Ich bekomme zwar eine Bestätigung von mail, dass es funktioniert hat, aber die eMail kommt nicht an! Habe jetzt in der tollen FAQ gelesen, dass man (wenn ich das richtig verstanden hab) eine Authentifizierung bei Sendmail einstellen muss - nur wie, stand natürlich nicht dabei!

mail($str_Empfaenger, 'Betreff', $str_Nachricht, 'email@freemail.tld')
or $bool_NachrichtGesendet = false;

Bitte helft mir (Step-by-Step Anleitung - bin doof),

Danke im voraus, Edel
 
Hallo Edel!
Erst einmal sollte man herausfinden ob bzw. was mit der Mail passiert. Was steht denn im maillog?

mfG
Thorsten
 
1. Fehler entdeckt!

Hi Thorsten!

Danke für deine schnelle Antwort!

Wo finde ich den maillog?

Habe nun direkt mit Konstanten den mail Befehl ausgeführt. Dieser ist erfolgreich solange ich keinen Absender mit einstelle. Möchte aber meine GMX eMail-Adresse nutzen. Hast du/irgendjemand eine Lösung?

Der zweite Fehler ist, dass meine Formulardaten nicht übermittelt bzw. nicht empfangen werden. Das Formular ist auf einer statischen *.html Seite
HTML:
<form action="mail.php" method="POST" enctype="text/plain">
<input name="email" size="23" maxlength="60" value="IhreAdresse@Anbieter.abc" />
<input name="betreff" size="23" maxlength="60" value="Betreff" />
<textarea name="nachricht" rows="25" cols="60" wrap="virtual">Text</textarea>
<input type="submit" value="Abschicken" />

Nun müsste ich doch über den folgenden Code diesen Abfragen können.

$str_Empfaenger = $_POST['email'];

Auch die direktabfrage von früher mit
$str_Empfaenger = $email;
funktioniert nicht!

Danke im voraus, Edel!:confused:
 
Last edited by a moderator:
Edel said:
Wo finde ich den maillog?
/var/log/mail/maillog ...

Dass der keine Varriablen übergibt liegt an der php.ini. Das Problem hatte ich auch schon mal und bin lange dran verzweifelt weil kein Formular mehr etwas übergab.
Ist der Wert register_globals auf "ON" in deiner php.ini?

Dass der deine GMX Addresse nicht übermittelt als gültigen Absender wird wahrscheinlich an der Serverconfig liegen dass der Relaying nicht zulässt...
 
Last edited by a moderator:
Feedback (Verzweiflung)

Hi!

Hab phpinfo() laufen lassen.
PHP 4.35
register_globals local(on) MasterValue(off)

Müsste nach meinem Verständnis im ausführenden Verzeichnis aktiv sein, korrigier mich bitte falls nicht!

Hab noch was gefunden, was vielleicht interessant ist!
-APACHE Environment
REQUEST_METHOD (GET)

# Dass der deine GMX Addresse nicht übermittelt als gültigen Absender wird
# wahrscheinlich an der Serverconfig liegen dass der Relaying nicht zulässt...

Wie kann ich das umstellen? Hab mal früher etwas mit PHP auf einem Webspace gemacht, aber von Serverkonfiguration versteh ich nicht viel (wird sich wahrscheinlich bald ändern, so wie's aussieht - lern ja gern was dazu). Gibt es ein Buch dazu, was etwas taugt?

Abermals Danke, Edel!
 
Maillog

Hi!

Im Maillog steht was von >>Relaying denied. Proper authentication required.<< womit die Vermutung bestätigt wäre!

Hoffe das hilft euch, sprich mir, weiter! Danke an die Community!
 
Trag mal in /etc/mail/relay-domains gmx.de oder gmx.net ein, jenachdem welche Domain deine Mailaddresse nutzt.
 
Hallo!
Zur weiteren Analyse könntest du mal dein mail.php posten.

mfG
Thorsten
 
mail.php

PHP:
<?php

$str_Empfaenger = $_POST['email'];
$str_Nachricht  = $_POST['nachricht'];
$bool_NachrichtGesendet = true;

mail($str_Empfaenger, 'Betreff', $str_Nachricht, 'abc@gmx.de')
  or $bool_NachrichtGesendet = false;

If ($bool_NachrichtGesendet)
{
  $str_Seitentitel  = 'eMail wurde erfolgreich verschickt!';
  $str_Ueberschrift = 'eMail wurde erfolgreich verschickt!';
}
Else
{
  $str_Seitentitel  = 'Es ist ein Fehler aufgetreten!';
  $str_Ueberschrift = 'Es ist ein Fehler aufgetreten!';
}

?>
<html>
<head>
<title><?php print($str_Seitentitel); ?></title>
</head>

<body text="#000099" bgcolor="#FFFFEE">

<h1><?php print($str_Ueberschrift); ?></h1>

<p><?php

print($_post['email']);

?></p>

</body>
</html>
 
Last edited by a moderator:
relay-domains nicht vorhanden!!!

Habe keine relay-domains, dafür aber domaintable, mailertable und popauth!

Geht es auch mit einem von denen?
 
Edel said:
Das Formular ist auf einer statischen *.html Seite
HTML:
<form action="mail.php" method="POST" enctype="text/plain">
Schmeiß das Attribut 'enctype' raus. Das für ein 'mailto:' gut, aber als Parameter-Übergabe nicht zu handhaben.

Du solltest auch keine beliebige gmx-Domains auf Deinem Server relayen lassen!

Welchen MTA (Mailserver) hast Du installiert?
Du mußt sehe, daß Du alle Emails von localhost ohne Authorisierung verschicken kannst.

huschi.
 
Endlose Geschichte

Huschi said:
Schmeiß das Attribut 'enctype' raus. Das für ein 'mailto:' gut, aber als Parameter-Übergabe nicht zu handhaben.

- erledigt, funzt, danke!!!

Huschi said:
Du solltest auch keine beliebige gmx-Domains auf Deinem Server relayen lassen!

Welchen MTA (Mailserver) hast Du installiert?

Sendmail übernimmt den Versand (ist ein MTA, oder ???)

Huschi said:
Du mußt sehe, daß Du alle Emails von localhost ohne Authorisierung verschicken kannst.

Wie kann ich diese eine GMX Adresse Authorisieren?

Viele Fragen von Noob! Danke alle!

Edel!
 
Edel said:
Wie kann ich diese eine GMX Adresse Authorisieren?
Du hast mich falsch verstanden: nicht diese eine Adresse, sondern egal welche Mail die von localhost (also dieser Maschine) kommt.

Das machst Du in /etc/mail/access mit dem Eintrag:
Code:
127.0.0.1			RELAY
Danach mit 'makemap hash access' compilieren.

huschi.
 
Back
Top