From 8b836794bee23119f93806cf75057969c4485268 Mon Sep 17 00:00:00 2001 From: the_systech Date: Mon, 28 Jan 2002 21:56:56 +0000 Subject: 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 --- phpBB/includes/smtp.php | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) (limited to 'phpBB') 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"); -- cgit v1.2.1