WordPress.org

Make WordPress Core

Ticket #17228: 17228.diff

File 17228.diff, 1.8 KB (added by ryan, 4 years ago)
  • wp-includes/pluggable.php

     
    281281        if ( !is_object( $phpmailer ) || !is_a( $phpmailer, 'PHPMailer' ) ) { 
    282282                require_once ABSPATH . WPINC . '/class-phpmailer.php'; 
    283283                require_once ABSPATH . WPINC . '/class-smtp.php'; 
    284                 $phpmailer = new PHPMailer(); 
     284                $phpmailer = new PHPMailer( true ); 
    285285        } 
    286286 
    287287        // Headers 
     
    400400                $to = explode( ',', $to ); 
    401401 
    402402        foreach ( (array) $to as $recipient ) { 
    403                 $phpmailer->AddAddress( trim( $recipient ) ); 
     403                try { 
     404                        $phpmailer->AddAddress( trim( $recipient ) ); 
     405                } catch ( phpmailerException $e ) { 
     406                        return false; 
     407                } 
    404408        } 
    405409 
    406410        // Set mail's subject and body 
     
    410414        // Add any CC and BCC recipients 
    411415        if ( !empty( $cc ) ) { 
    412416                foreach ( (array) $cc as $recipient ) { 
    413                         $phpmailer->AddCc( trim($recipient) ); 
     417                        try { 
     418                                $phpmailer->AddCc( trim($recipient) ); 
     419                        } catch ( phpmailerException $e ) { 
     420                                return false; 
     421                        } 
    414422                } 
    415423        } 
    416424 
    417425        if ( !empty( $bcc ) ) { 
    418426                foreach ( (array) $bcc as $recipient) { 
    419                         $phpmailer->AddBcc( trim($recipient) ); 
     427                        try { 
     428                                $phpmailer->AddBcc( trim($recipient) ); 
     429                        } catch ( phpmailerException $e ) { 
     430                                return false; 
     431                        } 
    420432                } 
    421433        } 
    422434 
     
    455467 
    456468        if ( !empty( $attachments ) ) { 
    457469                foreach ( $attachments as $attachment ) { 
    458                         $phpmailer->AddAttachment($attachment); 
     470                        try { 
     471                                $phpmailer->AddAttachment($attachment); 
     472                        } catch ( phpmailerException $e ) { 
     473                                return false; 
     474                        } 
    459475                } 
    460476        } 
    461477 
    462478        do_action_ref_array( 'phpmailer_init', array( &$phpmailer ) ); 
    463479 
    464480        // Send! 
    465         $result = @$phpmailer->Send(); 
     481        try { 
     482                $phpmailer->Send(); 
     483        } catch ( phpmailerException $e ) { 
     484                return false; 
     485        } 
    466486 
    467         return $result; 
     487        return true; 
    468488} 
    469489endif; 
    470490