*
* SMTP delivery backend for the Deliver class.
*
- * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @copyright © 1999-2007 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
$content_type->type1 == 'report' &&
isset($content_type->properties['report-type']) &&
$content_type->properties['report-type']=='disposition-notification') {
+ // reinitialize the from object because otherwise the from header somehow
+ // is affected. This $from var is used for smtp command MAIL FROM which
+ // is not the same as what we put in the rfc822 header.
+ $from = new AddressStructure();
$from->host = '';
$from->mailbox = '';
}
// Read ehlo response
$tmp = $this->parse_ehlo_response($stream);
if ($this->errorCheck($tmp,$stream)) {
- // fall back to HELO if EHLO is not supported
- if ($this->dlv_ret_nr == '500') {
+ // fall back to HELO if EHLO is not supported (error 5xx)
+ if ($this->dlv_ret_nr{0} == '5') {
fputs($stream, "HELO $helohost\r\n");
$tmp = fgets($stream,1024);
if ($this->errorCheck($tmp,$stream)) {
* Implementing SMTP STARTTLS (rfc2487) in php 5.1.0+
* http://www.php.net/stream-socket-enable-crypto
*/
- if ($use_smtp_tls == 2) {
+ if ($use_smtp_tls === 2) {
if (function_exists('stream_socket_enable_crypto')) {
// don't try starting tls, when client thinks that it is already active
if ($this->tls_enabled) {
if (!$pop_server) {
$pop_server = 'localhost';
}
- $popConnection = fsockopen($pop_server, $pop_port, $err_no, $err_str);
+ $popConnection = @fsockopen($pop_server, $pop_port, $err_no, $err_str);
if (!$popConnection) {
error_log("Error connecting to POP Server ($pop_server:$pop_port)"
. " $err_no : $err_str");
+ return false;
} else {
$tmp = fgets($popConnection, 1024); /* banner */
if (substr($tmp, 0, 3) != '+OK') {
- return(0);
+ return false;
}
fputs($popConnection, "USER $user\r\n");
$tmp = fgets($popConnection, 1024);
if (substr($tmp, 0, 3) != '+OK') {
- return(0);
+ return false;
}
fputs($popConnection, 'PASS ' . $pass . "\r\n");
$tmp = fgets($popConnection, 1024);
if (substr($tmp, 0, 3) != '+OK') {
- return(0);
+ return false;
}
fputs($popConnection, "QUIT\r\n"); /* log off */
fclose($popConnection);
}
+ return true;
}
/**
return $ret;
}
}
-
-?>
\ No newline at end of file