diff options
author | the_systech <the_systech@users.sourceforge.net> | 2002-01-28 21:56:56 +0000 |
---|---|---|
committer | the_systech <the_systech@users.sourceforge.net> | 2002-01-28 21:56:56 +0000 |
commit | 8b836794bee23119f93806cf75057969c4485268 (patch) | |
tree | 595d666227223d361ae7c00e6b9f1d6dd7400a8d /phpBB | |
parent | 9819d4f7777465aa9b12daf5b591592e8dc91915 (diff) | |
download | forums-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.php | 33 |
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"); |