PHP code example of go-redrock / swiftmailer

1. Go to this page and download the library: Download go-redrock/swiftmailer library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

go-redrock / swiftmailer example snippets


$transport = new Swift_SmtpTransport('smtp.example.com', 587, 'tls');
$transport->setUsername('[email protected]');
$transport->setPassword('secret');

$mailer = new Swift_Mailer($transport);

$message = (new Swift_Message('Hello'))
    ->setFrom(['[email protected]' => 'Sender'])
    ->setTo(['[email protected]'])
    ->setBody('<h1>Hello!</h1>', 'text/html');

$mailer->send($message);

$transport = new Swift_Transport_Api_SendgridTransport('your-sendgrid-api-key');
$mailer = new Swift_Mailer($transport);
$mailer->send($message);

$factory = new Swift_Transport_DsnTransportFactory();

// Single transport
$transport = $factory->fromDsnString('sendgrid://API_KEY@default');

// Failover between two providers
$transport = $factory->fromDsnString('failover(sendgrid://KEY@default postmark://KEY@default)');

// Round-robin load balancing
$transport = $factory->fromDsnString('roundrobin(sendgrid://KEY@default postmark://KEY@default)');

// Retry with exponential backoff
$transport = $factory->fromDsnString('retry(sendgrid://KEY@default)');

$mailer = new Swift_Mailer($transport);

$inner = new Swift_Transport_Api_SendgridTransport('SG.your-key');
$transport = new Swift_RetryTransport($inner, maxRetries: 3, baseDelay: 1000);

// Or via DSN
$transport = $factory->fromDsnString('retry(sendgrid://KEY@default)');

$message->getHeaders()->addTextHeader('X-Mailer-Tag', 'welcome-email');
$message->getHeaders()->addTextHeader('X-Mailer-Metadata-user_id', '12345');

$signer = new Swift_Signers_DKIMSigner($privateKey, 'example.com', 'selector');
$signer->setHashAlgorithm('ed25519-sha256');
// Oversigning of From/To/Subject/Date/Cc/Reply-To/Message-ID is on by default
$message->attachSigner($signer);

$envelope = new Swift_Envelope('[email protected]', ['[email protected]']);
$mailer->send($message, $failedRecipients, $envelope);