WordPress.org

Make WordPress Core

Ticket #17228: 17228.diff

File 17228.diff, 1.8 KB (added by ryan, 7 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