ubuntuusers.de

PHP-Email-Skript (SMTP) funktioniert nicht

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Screamz

Avatar von Screamz

Anmeldungsdatum:
8. Dezember 2006

Beiträge: 75

Ich möchte gerne dieses Script nutzen aber es funktioniert noch nicht wirklich:
http://www.tutorials.de/forum/php-tutorials/231820-emails-ueber-einen-beliebigen-server-verschicken.html#post1208272

es wird nie ne mail verschickt obwohl es gehen sollte
das script funktioniert 1:1 auf meinem webspace, daher muss es also an ubuntu liegen dass es nicht funktioniert

Was denkt ihr könnte es sein?
Könnten irgendwelche Ports gesperrt sein?!

xabbuh Team-Icon

Anmeldungsdatum:
25. Mai 2006

Beiträge: 6411

Entferne doch mal die @ vor fsockopen() und prüfe, ob sich das Script überhaupt dem SMTP-Server verbinden kann.

bar-B-q

Anmeldungsdatum:
8. November 2005

Beiträge: Zähle...

Unter ubuntu ? D.h. du versucht es lokal ?
Also wenn du es auf deinem Webspace benutzt, und - wie man im code sieht - kein host angibt, verwendet er "localhost". Da der mailserver auf so Webspace anbietern meist richtig eingerichtet ist, klappt es dort natürlich.

Hast du bei dir Lokal einen mailserver eingerichtet ? Wenn ja würde ich mal in der /var/log/mail.log gucken, ob er versucht hat die Mail zu schicken/sie angenommen wurde, den meistens wird von dynamischen IP-Adresse keine Email angenommen aus Sicherheitsgründen (spam)

Screamz

(Themenstarter)
Avatar von Screamz

Anmeldungsdatum:
8. Dezember 2006

Beiträge: 75

in meinem webspace funktioniert es mit localhost ebenso wie mit anderen smtp servern

nur lokal funktioniert das mit den smtp-servern nicht, also muss es ja schließlich an ubuntu oder an meinen php einstellungen liegen
aber leider weiss ich nicht an was genau 😉

Bleys

Anmeldungsdatum:
13. August 2006

Beiträge: 6172

Screamz hat geschrieben:

in meinem webspace funktioniert es mit localhost ebenso wie mit anderen smtp servern

nur lokal funktioniert das mit den smtp-servern nicht, also muss es ja schließlich an ubuntu oder an meinen php einstellungen liegen
aber leider weiss ich nicht an was genau 😉

Was hat ein Betriebssystem mit PHP und Mail Einstellungen zu tun?

Ich stell mal fest das Du nicht allzuviel über das weisst was Du da machen möchtest. Wie bar-B-q schon geschrieben hat, hast Du in einer localen Installation keinen smtp Server installert. Wie auch? Provider dagegen sind i.d.R. auch Anbieter von Maildiensten und bieten ihren Kunden durch entsprechende Funktionen und/oderScripts Zugriff auf die egenen smtp Server. Ich nutze auf meinem 1und1 space popen:

$fp = popen("/usr/lib/sendmail -t ","w");

u.s.w. Ein Paker sendmail gibt es in den Quellen. Wühl Dich mal durch.

bar-B-q

Anmeldungsdatum:
8. November 2005

Beiträge: 55

Bleys hat geschrieben:

Screamz hat geschrieben:

u.s.w. Ein Paker sendmail gibt es in den Quellen. Wühl Dich mal durch.

Wenn er das jetzt verstanden hat 🙄

Mal einfach gesagt: Du müsstest bei dir Lokal einen Mailserver installieren, welcher die Mails versenden kann. Ein Webserver kann das nicht, der Webserver leitet das nur an den mailserver weiter.

Eine andere möglichkeit ist, dass wenn du Lokal dein Script aufrufst, mal einfach die SMTP-Daten (+ Logindaten) deines Webspace Providers angibst, dann dürfte PHP sich dahin verbinden und darüber eine Mail verschicken.

Poste doch mal dein Source über den du dein Objekt (also den Source von tutorials.de) initialisierst.

Screamz

(Themenstarter)
Avatar von Screamz

Anmeldungsdatum:
8. Dezember 2006

Beiträge: 75

irgendwie reden wir aneinander vorbei, zumindest hab ich so das gefühl

ich habe in dem script folgende daten angegeben:

public function __construct($host="mail.gmx.net",$authentication='LOGIN',$username="meinusername",$password="meinpasswort",$ssl=false)

wenn ich das script bei meinem anbieter auf dem webspace hab funktionierts und lokal nicht
ich denke auch dass es evtl etwas mit der nicht festen-IP von meinem PC zu tun hat, habe gelesen dass nicht alle anbieter mails von dynamischen IPs akzeptieren

falls ich falsch liege sagt mir einfach was ich genau tun muss\^^
kann ich das mit postfix lösen?

Poste doch mal dein Source über den du dein Objekt (also den Source von tutorials.de) initialisierst.

$myEmail = new email($from, $to, $subject, $body);
$smtp = new smtpconnection();
if($smtp->sendmail($myEmail->composemail()) === true)
    { echo "E-Mail erfolgreich versendet."; }
else ...

judo-yannick

Anmeldungsdatum:
12. Januar 2008

Beiträge: 92

Also sofern du keine feste IP-Adresse an deinem lokalen PC hast. Dir also die IP-Adresse nicht bei jedem Login, bzw. alle 24 Stunden neu zugewisen wird, sollte das funktionieren. Ansonsten funktioniert es nicht, da wie du selber sagst dynamische IP-Adressen von vielen Webservern nicht gemocht werden.

Screamz

(Themenstarter)
Avatar von Screamz

Anmeldungsdatum:
8. Dezember 2006

Beiträge: 75

ok dann liegt das problem wohl 100%ig daran 😉
danke für eure hilfe!

Antworten |