aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorthe_systech <the_systech@users.sourceforge.net>2002-01-28 21:56:56 +0000
committerthe_systech <the_systech@users.sourceforge.net>2002-01-28 21:56:56 +0000
commit8b836794bee23119f93806cf75057969c4485268 (patch)
tree595d666227223d361ae7c00e6b9f1d6dd7400a8d /phpBB
parent9819d4f7777465aa9b12daf5b591592e8dc91915 (diff)
downloadforums-8b836794bee23119f93806cf75057969c4485268.tar
forums-8b836794bee23119f93806cf75057969c4485268.tar.gz
forums-8b836794bee23119f93806cf75057969c4485268.tar.bz2
forums-8b836794bee23119f93806cf75057969c4485268.tar.xz
forums-8b836794bee23119f93806cf75057969c4485268.zip
This should fix bug #500134 and adds some additional error checking on smtp email sends...
git-svn-id: file:///svn/phpbb/trunk@2008 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/includes/smtp.php33
1 files changed, 27 insertions, 6 deletions
diff --git a/phpBB/includes/smtp.php b/phpBB/includes/smtp.php
index 0e2cbf9e63..42b2db9250 100644
--- a/phpBB/includes/smtp.php
+++ b/phpBB/includes/smtp.php
@@ -149,22 +149,43 @@ function smtpmail($mail_to, $subject, $message, $headers = "")
@reset( $mail_to_array );
while( list( , $mail_to_address ) = each( $mail_to_array ))
{
- fputs( $socket, "RCPT TO: $mail_to_address\r\n" );
- server_parse( $socket, "250" );
+ //
+ // Add an additional bit of error checking to the To field.
+ //
+ $mail_to_address = trim($mail_to_address);
+ if ( preg_match('/.+\@.+/', $mail_to_address) )
+ {
+ fputs( $socket, "RCPT TO: $mail_to_address\r\n" );
+ server_parse( $socket, "250" );
+ }
$to_header .= "<$mail_to_address>, ";
}
// Ok now do the CC and BCC fields...
@reset( $bcc );
while( list( , $bcc_address ) = each( $bcc ))
{
- fputs( $socket, "RCPT TO: $bcc_address\r\n" );
- server_parse( $socket, "250" );
+ //
+ // Add an additional bit of error checking to bcc header...
+ //
+ $bcc_address = trim( $bcc_address );
+ if ( preg_match('/.+\@.+/', $bcc_address) )
+ {
+ fputs( $socket, "RCPT TO: $bcc_address\r\n" );
+ server_parse( $socket, "250" );
+ }
}
@reset( $cc );
while( list( , $cc_address ) = each( $cc ))
{
- fputs($socket, "RCPT TO: $cc_address\r\n");
- server_parse($socket, "250");
+ //
+ // Add an additional bit of error checking to cc header
+ //
+ $cc_address = trim( $cc_address );
+ if ( preg_match('/.+\@.+/', $cc_address) )
+ {
+ fputs($socket, "RCPT TO: $cc_address\r\n");
+ server_parse($socket, "250");
+ }
}
// Ok now we tell the server we are ready to start sending data
fputs($socket, "DATA\r\n");