projects
/
squirrelmail.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Invalid initialization of To: header (#1772893).
[squirrelmail.git]
/
class
/
deliver
/
Deliver_SMTP.class.php
diff --git
a/class/deliver/Deliver_SMTP.class.php
b/class/deliver/Deliver_SMTP.class.php
index e565ca8442c5d1abab95e4f3cf80776af102a40d..5ac04372047de524ff5a7872807e8230ec9b613b 100644
(file)
--- a/
class/deliver/Deliver_SMTP.class.php
+++ b/
class/deliver/Deliver_SMTP.class.php
@@
-5,7
+5,7
@@
*
* SMTP delivery backend for the Deliver class.
*
*
* SMTP delivery backend for the Deliver class.
*
- * @copyright © 1999-200
6
The SquirrelMail Project Team
+ * @copyright © 1999-200
7
The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
@@
-140,8
+140,8
@@
class Deliver_SMTP extends Deliver {
// Read ehlo response
$tmp = $this->parse_ehlo_response($stream);
if ($this->errorCheck($tmp,$stream)) {
// 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)) {
fputs($stream, "HELO $helohost\r\n");
$tmp = fgets($stream,1024);
if ($this->errorCheck($tmp,$stream)) {
@@
-294,7
+294,7
@@
class Deliver_SMTP extends Deliver {
}
/* Ok, who is sending the message? */
}
/* Ok, who is sending the message? */
- $fromaddress = (
$from->mailbox
&& $from->host) ?
+ $fromaddress = (
strlen($from->mailbox)
&& $from->host) ?
$from->mailbox.'@'.$from->host : '';
fputs($stream, 'MAIL FROM:<'.$fromaddress.">\r\n");
$tmp = fgets($stream, 1024);
$from->mailbox.'@'.$from->host : '';
fputs($stream, 'MAIL FROM:<'.$fromaddress.">\r\n");
$tmp = fgets($stream, 1024);
@@
-305,7
+305,7
@@
class Deliver_SMTP extends Deliver {
/* send who the recipients are */
for ($i = 0, $cnt = count($to); $i < $cnt; $i++) {
if (!$to[$i]->host) $to[$i]->host = $domain;
/* send who the recipients are */
for ($i = 0, $cnt = count($to); $i < $cnt; $i++) {
if (!$to[$i]->host) $to[$i]->host = $domain;
- if (
$to[$i]->mailbox
) {
+ if (
strlen($to[$i]->mailbox)
) {
fputs($stream, 'RCPT TO:<'.$to[$i]->mailbox.'@'.$to[$i]->host.">\r\n");
$tmp = fgets($stream, 1024);
if ($this->errorCheck($tmp, $stream)) {
fputs($stream, 'RCPT TO:<'.$to[$i]->mailbox.'@'.$to[$i]->host.">\r\n");
$tmp = fgets($stream, 1024);
if ($this->errorCheck($tmp, $stream)) {
@@
-316,7
+316,7
@@
class Deliver_SMTP extends Deliver {
for ($i = 0, $cnt = count($cc); $i < $cnt; $i++) {
if (!$cc[$i]->host) $cc[$i]->host = $domain;
for ($i = 0, $cnt = count($cc); $i < $cnt; $i++) {
if (!$cc[$i]->host) $cc[$i]->host = $domain;
- if (
$cc[$i]->mailbox
) {
+ if (
strlen($cc[$i]->mailbox)
) {
fputs($stream, 'RCPT TO:<'.$cc[$i]->mailbox.'@'.$cc[$i]->host.">\r\n");
$tmp = fgets($stream, 1024);
if ($this->errorCheck($tmp, $stream)) {
fputs($stream, 'RCPT TO:<'.$cc[$i]->mailbox.'@'.$cc[$i]->host.">\r\n");
$tmp = fgets($stream, 1024);
if ($this->errorCheck($tmp, $stream)) {
@@
-327,7
+327,7
@@
class Deliver_SMTP extends Deliver {
for ($i = 0, $cnt = count($bcc); $i < $cnt; $i++) {
if (!$bcc[$i]->host) $bcc[$i]->host = $domain;
for ($i = 0, $cnt = count($bcc); $i < $cnt; $i++) {
if (!$bcc[$i]->host) $bcc[$i]->host = $domain;
- if (
$bcc[$i]->mailbox
) {
+ if (
strlen($bcc[$i]->mailbox)
) {
fputs($stream, 'RCPT TO:<'.$bcc[$i]->mailbox.'@'.$bcc[$i]->host.">\r\n");
$tmp = fgets($stream, 1024);
if ($this->errorCheck($tmp, $stream)) {
fputs($stream, 'RCPT TO:<'.$bcc[$i]->mailbox.'@'.$bcc[$i]->host.">\r\n");
$tmp = fgets($stream, 1024);
if ($this->errorCheck($tmp, $stream)) {
@@
-430,28
+430,30
@@
class Deliver_SMTP extends Deliver {
if (!$pop_server) {
$pop_server = 'localhost';
}
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");
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') {
} 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') {
}
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') {
}
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);
}
}
fputs($popConnection, "QUIT\r\n"); /* log off */
fclose($popConnection);
}
+ return true;
}
/**
}
/**
@@
-514,5
+516,3
@@
class Deliver_SMTP extends Deliver {
return $ret;
}
}
return $ret;
}
}
-
-?>