maetrus
14.05.2008, 11:24
Folgendes Szenario:
try {
$mail = new Zend_Mail ( );
$mail->setBodyText ( 'Irgend ein Text' );
$mail->setFrom ( $emailAdresse, $name );
$mail->addTo ( $emailAdresse, $name);
$mail->setSubject ($betreff);
$mail->send ();
} catch ( Exception $e ) {
var_dump($e);
die();
}
Auf meinem Webserver (online) läuft alles einwandfrei - weil da keine Warnung ausgegeben werden. Lokal auf meinem XAMPP Server bekomme ich aber folgende Warnung:
Warning: mail() [function.mail (http://localhost/reknova/login/function.mail)]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\...\library\Zend\Mail\Transport\Sendmail.php on line 91
Ich dachte das hätte ich mittels dem try & catch Block abgefangen. Es wird zwar in der Datei Sendmail.php auch eine Exception geworfen, aber ich weiß nicht wieso ich die nicht fangen kann.
(Betreffender Ausschnitt aus der Sendmail.php
if ($this->parameters === null) {
$result = mail(
$this->recipients,
$this->_mail->getSubject(),
$this->body,
$this->header);
} else {
$result = mail(
$this->recipients,
$this->_mail->getSubject(),
$this->body,
$this->header,
$this->parameters);
}
if (!$result) {
require_once 'Zend/Mail/Transport/Exception.php';
throw new Zend_Mail_Transport_Exception('Unable to send mail');
}
Wie fang ich nun diese Warnung mittels exceptions?
try {
$mail = new Zend_Mail ( );
$mail->setBodyText ( 'Irgend ein Text' );
$mail->setFrom ( $emailAdresse, $name );
$mail->addTo ( $emailAdresse, $name);
$mail->setSubject ($betreff);
$mail->send ();
} catch ( Exception $e ) {
var_dump($e);
die();
}
Auf meinem Webserver (online) läuft alles einwandfrei - weil da keine Warnung ausgegeben werden. Lokal auf meinem XAMPP Server bekomme ich aber folgende Warnung:
Warning: mail() [function.mail (http://localhost/reknova/login/function.mail)]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\...\library\Zend\Mail\Transport\Sendmail.php on line 91
Ich dachte das hätte ich mittels dem try & catch Block abgefangen. Es wird zwar in der Datei Sendmail.php auch eine Exception geworfen, aber ich weiß nicht wieso ich die nicht fangen kann.
(Betreffender Ausschnitt aus der Sendmail.php
if ($this->parameters === null) {
$result = mail(
$this->recipients,
$this->_mail->getSubject(),
$this->body,
$this->header);
} else {
$result = mail(
$this->recipients,
$this->_mail->getSubject(),
$this->body,
$this->header,
$this->parameters);
}
if (!$result) {
require_once 'Zend/Mail/Transport/Exception.php';
throw new Zend_Mail_Transport_Exception('Unable to send mail');
}
Wie fang ich nun diese Warnung mittels exceptions?