Problem mit mail()-funktion und smtp-server

Alles, was PHP betrifft, kann hier besprochen werden.

Problem mit mail()-funktion und smtp-server

Postby razzle-dazzle » 13. February 2005 20:18

Hallo liebe Leute,
ich habe da ein Problem.
Bin ein ziemlicher Newbie und habe den Apache-webserver in Verbindung mit php installiert (aber nicht xampp).
Nun habe ich ein Skript erstellt, welches mit der mail()-Funktion E-mails versenden soll, aber das funzzt nicht, wenn ich es lokal teste (auf nem Provider läuft es).

In der php-ini habe ich stehen:

[mail function]

SMTP = mailto.t-online.de (bin nämlich über T-online im Netz)

sendmail_from= test@ltest.com
; for Win32 only

Das scheint aber falsch zu sein.
Muß ich bei smtp=...... vielleicht "localhost" eigeben?
Was muß ich bei sendmail_from= eingeben, geht da irgendne xbeliebiege E-mail?

Wichtig: Ich habe Keinen Mailserver installiert, muß ich das oder geht das auch über mailto.t-online.de?
Falls ich einen Mailserver installieren muss, welcher eignet sich am Besten?

Sorry für die vielen Fragen, aber ich bin echt noch n Anfänger.
Please help....
razzle-dazzle
 
Posts: 15
Joined: 13. February 2005 15:51

Postby Jan H. Krüger » 13. February 2005 20:56

Welches Betriebssystem verwendest du?
Jan H. Krüger
 
Posts: 152
Joined: 24. October 2004 19:42

Postby razzle-dazzle » 13. February 2005 22:12

Ich verwende Windows xp.
Habe mir jetzt Mercury runtergeladen, klappt aber auch nicht so richtig.
Ich weiß nicht, was ich in der php.ini eintragen soll-
razzle-dazzle
 
Posts: 15
Joined: 13. February 2005 15:51

So weit ich weiß, geht das nicht mit TOnline

Postby TConnect » 21. February 2005 12:57

Hi,

also Mercury bringt Dir nur Netzwerk-intern was, da Du Mercury in Verbindung mit T-Online nicht als Relay-Client verwenden kannst. T-Online erkennt das und blockt die Mails schon beim Senden ab. Oder sie lassen sich diesen Service "Relay-Client" teuer bezahlen ;-(

Wenn ich mich recht entsinne, muß in der php.ini an entsprechender Stelle die korrekte SMTP-Kennung rein, die gebraucht wird, um eine EMail korrekt zu verschicken. Also quasi das, was man in einem normalen Mail-Client auch eingeben würde. PHP baut dann eine SMTP-Verbindung als Client mit dem Zielsystem auf und verschickt die Mail dann so, als wäre es ein EMail-Client.

Optimal wäre natürlich eine eigene Domein, auf der Du einen bestimmten Mailaccount für diese Tätigkeiten einrichten könntest.


Grüße TConnect
TConnect
 
Posts: 100
Joined: 31. March 2004 22:26

Postby jakimo72 » 26. February 2005 19:12

Bitte korregiert mich, aber soweit ich weiss
funktioniert mail() unter Linux oder BSD mit Hilfe
der lokalen Sendmail-Funktion.
Aber unter Windows wird SMTP OHNE Autentifizierung
benutzt.
Heutzutage sollte, hoffendlich, kaum noch ein SMTP-Server
ohne Authentifikation existieren!

Also:
Nicht die einfache mail()-Funktion benutzen. Aus Alternative
bietet sich Mail.php aus der PEAR-Suite an.
http://pear.php.net/manual/en/package.mail.mail.php
ist meistens bereits installiert.

Code: Select all

<?php
include('Mail.php');

$recipients = 'joe@example.com';

$headers['From']    = 'richard@example.com';
$headers['To']      = 'joe@example.com';
$headers['Subject'] = 'Test message';

$body = 'Test message';

$params['host'] = SMTP_HOST;
$params['auth'] = true;
$params['username'] = SMTP_USERNAME;
$params['password'] = SMTP_PASSWORD;

// Create the mail object using the Mail::factory method
$mail_object =& Mail::factory('smtp', $params);

$status = $mail_object->send($recipients, $headers, $body);
if (PEAR::isError($status))
  echo "Fehler beim E-Mail-Versand.";
?>
User avatar
jakimo72
 
Posts: 151
Joined: 07. February 2005 13:25
Location: Hamburg-Barmbek

Danke

Postby razzle-dazzle » 02. March 2005 09:38

Danke für die Bemühungen, jetzt muesste ichs hinkriegen, thanx.
razzle-dazzle
 
Posts: 15
Joined: 13. February 2005 15:51


Return to PHP

Who is online

Users browsing this forum: No registered users and 56 guests