Admin
6 months ago
Compatibility
6 months ago
Helpers
6 months ago
Providers
6 months ago
Queue
6 months ago
Reports
6 months ago
Tasks
6 months ago
UsageTracking
6 months ago
AbstractConnection.php
6 months ago
Conflicts.php
6 months ago
Connect.php
6 months ago
Connection.php
6 months ago
ConnectionInterface.php
6 months ago
ConnectionsManager.php
6 months ago
Core.php
6 months ago
DBRepair.php
6 months ago
Debug.php
6 months ago
Geo.php
6 months ago
MailCatcher.php
6 months ago
MailCatcherInterface.php
6 months ago
MailCatcherTrait.php
6 months ago
MailCatcherV6.php
6 months ago
Migration.php
6 months ago
MigrationAbstract.php
6 months ago
Migrations.php
6 months ago
OptimizedEmailSending.php
6 months ago
Options.php
6 months ago
Processor.php
6 months ago
SiteHealth.php
6 months ago
Upgrade.php
6 months ago
Uploads.php
6 months ago
WP.php
6 months ago
WPMailArgs.php
6 months ago
WPMailInitiator.php
6 months ago
MailCatcherV6.php
67 lines
| 1 | <?php |
| 2 | |
| 3 | namespace WPMailSMTP; |
| 4 | |
| 5 | use PHPMailer\PHPMailer\Exception; |
| 6 | |
| 7 | /** |
| 8 | * Class MailCatcher replaces the \PHPMailer\PHPMailer\PHPMailer introduced in WP 5.5 and |
| 9 | * modifies the email sending logic. Thus, we can use other mailers API to do what we need, or stop emails completely. |
| 10 | * |
| 11 | * @since 2.2.0 |
| 12 | */ |
| 13 | class MailCatcherV6 extends \PHPMailer\PHPMailer\PHPMailer implements MailCatcherInterface { |
| 14 | |
| 15 | use MailCatcherTrait; |
| 16 | |
| 17 | /** |
| 18 | * Callback Action function name. |
| 19 | * |
| 20 | * The function that handles the result of the send email action. |
| 21 | * It is called out by send() for each email sent. |
| 22 | * |
| 23 | * @since 2.2.0 |
| 24 | * |
| 25 | * @var string |
| 26 | */ |
| 27 | public $action_function = '\WPMailSMTP\Processor::send_callback'; |
| 28 | |
| 29 | /** |
| 30 | * Which validator to use by default when validating email addresses. |
| 31 | * We are using built-in WordPress function `is_email` to validate the email address. |
| 32 | * |
| 33 | * @see PHPMailer::validateAddress() |
| 34 | * |
| 35 | * @since 3.6.0 |
| 36 | * |
| 37 | * @var string|callable |
| 38 | */ |
| 39 | public static $validator = [ Processor::class, 'is_email_callback' ]; |
| 40 | |
| 41 | /** |
| 42 | * Get the PHPMailer line ending. |
| 43 | * |
| 44 | * @since 2.2.0 |
| 45 | * |
| 46 | * @return string |
| 47 | */ |
| 48 | public function get_line_ending() { |
| 49 | |
| 50 | return static::$LE; // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase |
| 51 | } |
| 52 | |
| 53 | /** |
| 54 | * Throw PHPMailer exception. |
| 55 | * |
| 56 | * @since 4.0.0 |
| 57 | * |
| 58 | * @param string $error Error message. |
| 59 | * |
| 60 | * @throws Exception PHPMailer exception. |
| 61 | */ |
| 62 | protected function throw_exception( $error ) { |
| 63 | |
| 64 | throw new Exception( $error ); |
| 65 | } |
| 66 | } |
| 67 |