• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Email mit PHP

Premutos

Newbie
Bevor hier wieder gemeckert wird: Ich habe die SuFu genutzt aber nichts wirklich passendes gefunden... Also ich habe folgenden Code:
Code:
<?php

// Sender-Daten festlegen

$sender_name         = "Name des Senders"; 

$sender_mail_adresse = "user@server.de"; 

$reply_adresse       = "user@server.de"; 



// Empfänger-Daten festlegen

$empfaenger_name         = "Empfaenger"; 

$empfaenger_mail_adresse = "user@server.de"; 

//Die eigentliche Nachricht
$nachricht 				= "blablabla";
// Die Betreff-Zeile (Überschrift)
$betreff 				= "PHP";

// Den Header zusammenbauen
$headers .= "From: ".$sender_name." <".$sender_mail_adresse.">\r\n";
$headers .= "Reply-To: ".$sender_name." <$reply_adresse>\r\n";

//Die Mail-Funktion mit Werten füllen, um die E-Mail zu verschicken
if (mail ($empfaenger_mail_adresse, $betreff, $nachricht, $headers)) {
echo "Die EMail an <B>" . $empfaenger_name . "</B> wurde gesendet";
} else {
echo "Die Email an <B>" . $empfaenger_name . "</B>
		konnte leider nicht gesendet werden!";
	}
?>

Also was ich anstelle von user@server.de einsetze ist egal, ich erhalte immer eine Bestätigung, dass alles erfolgreich versendet wurde....
nur kommt nix an...
falls die frage dämlich ist: sorry bin php-neuling
Versuche erst seit ein paar Tagen, mir PHP beizubringen, als Einstieg ins Programmieren generell....
 
OP
P

Premutos

Newbie
Danke für die schnelle Antwort.
Ob es weiterhilft, weiss ich nicht genau:
! Achtung !
Die Mailfunktion funktioniert nicht am virtuellen Webserver, da dieser über keinen eigenen Mailserver verfügt. Du kannst den Mailversand nur auf deinem Webspace testen.
Hab's halt mit Lampp bzw Xampp getestet. Aber Suse hat doch eigentlich nen Mailserver... sollte dann doch funktionieren...?!
 

panamajo

Guru
Premutos schrieb:
Aber Suse hat doch eigentlich nen Mailserver... sollte dann doch funktionieren...?!
Dass es sich um SuSE handelt erwähnst du jetzt zum 1. Mal...
Ja, SuSE wird normalerweise mit einem MTA installiert. Welcher hängt von der Version/Konfiguration ab,
Kannst du von dem Server aus überhaupt Mails versenden?
 
OP
P

Premutos

Newbie
Hab ehrlich gesagt keine Ahnung.. :oops:
Habe Sendmail installiert und den MTA per Yast eingerichtet..
Bin halt nicht nur PHP sondern auch Linux-Newbie...*räusper*
Wo kann ich dass denn überprüfen?
Edit: örgs ich hab mir grad mal ein Mailserver HowTo durchgelesen...
ich glaube, ich verlasse mich einfach mal darauf, dass der Code richtig ist und Teste ihn nochmal, wenn ich mir eine Domain mit PHP-Unterstützung zugelegt habe.... :?
 

Dr. Glastonbury

Advanced Hacker
Und noch ne Frage wäre: was für ne IP hat dein Server - wenn du mit nem Home-PC/Server sowas testest, dann gibt es einige Povider, die die Annahme von solchen IPs komplett verweigern. Selbst bei mir wenn ich über das 1und1 Mail-Relay gehen, landen die Mails häufig noch im Spamverdacht - nja, ist ja auch n bisserl seltsam ne Mail von 1und1 anzunehmen, die von ner Dyndns-addresse kommt, die ihrerseits wieder auf nen t-online-Zugang aufgelöst wird^^
 

bernd

Member
Hallo
Ist zwar vielleicht nicht genau was Du willst,aber lade Dir mal das rpm "email".
Die Konfiguration liegt dann unter /etc/email , dies kannst Du dann per php aufrufen.
Funktioniert sofort.

Bernd
 

panamajo

Guru
Premutos schrieb:
Wo kann ich dass denn überprüfen?
Indem du von dem Rechner eine Mail versendest. Mit Thunderbird, KMail, pine, mutt, mail, ...

Premutos schrieb:
Edit: örgs ich hab mir grad mal ein Mailserver HowTo durchgelesen...
ich glaube, ich verlasse mich einfach mal darauf, dass der Code richtig ist und Teste ihn nochmal, wenn ich mir eine Domain mit PHP-Unterstützung zugelegt habe.... :?

Bad idea(tm)
 
OP
P

Premutos

Newbie
Code:
[mail function]
; For Win32 only.
SMTP = localhost

; For Win32 only.
sendmail_from = me@localhost.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =
 

panamajo

Guru
Premutos schrieb:
Code:
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

Hier muss der Pfad und Optionen zum MTA eingetragen werden. IdR.
Code:
sendmail_path = /usr/sbin/sendmail -t -i

Da /usr/sbin bei nicht-priviligierten Usern nicht im $PATH steht muss der absolute Pfad angegeben werden.
 
OP
P

Premutos

Newbie
Also jetzt sieht's so aus
Code:
[mail function]
; For Win32 only.
SMTP = localhost

; For Win32 only.
sendmail_from = me@localhost.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path = /usr/sbin/sendmail -t -i
Kommt aber immernoch keine Mail an, wenn ich über das PHP-Script verschicke...
 
OP
P

Premutos

Newbie
autsch....hätte ich auch selber sehen können, wenn ich mir die Datei mal genauer angeguckt hätte :?
geht aber trotzdem noch nicht.....
 
OP
P

Premutos

Newbie
jo, sendmail existiert und in im log steht
Code:
Dec 19 20:14:46 linux-mjz1 sendmail[28421]: kBJJEkQX028421: to=root, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30000, dsn=2.0.0, stat=Sent
wenn ich versuche, mit dem skript ne mail zu senden...
 
Ich würde befürchten: das nicht. Wenn ich die Geschichte richtig verfolgt habe hat er sich nur sendmail aufgesetzt, aber nicht für den Mailempfang konfiguriert.

Aber mal an den OP: Wenn Du schon keine Ahnung von Mails hast, solltest Du dir da ganz dringend erstmal Grundlagenwissen aneignen, sonst bist Du die nächste offene Mailschleuder!
 

panamajo

Guru
Geier0815 schrieb:
Ich würde befürchten: das nicht. Wenn ich die Geschichte richtig verfolgt habe hat er sich nur sendmail aufgesetzt, aber nicht für den Mailempfang konfiguriert.

Na gut, wenn sendmail sich für nichts zuständig hält dann kommt nichts an. Ansonsten hätte ich gedacht dass sich die Testmails in /var/spool/mail/root häufen...

Ansonsten: ACK

Deshalb auch mein Kommentar zu "wird auf dem Produktivserver schon gehen": SMTP ist ein komplexes Thema, wer davon keine Ahnung hat bekommt den Mailführerschein nicht :mrgreen:
 
Oben