Amazon SES PHPMail или пакет SDK


Я зарегистрировался в сервисе Amazon SES с настройкой лимита электронной почты и вышел из песочницы. Я перепробовал много функций PHPMailer, и все они возвращают меня как ошибку: Время ожидания соединения (110). Возможно ли отправлять почту с PHPMailer?

Я видел на сайте Amazon SES эту ссылку.

<?php

// Replace path_to_sdk_inclusion with the path to the SDK as described in 
// http://docs.aws.amazon.com/aws-sdk-php/v2/guide/quick-start.html
define('REQUIRED_FILE','path_to_sdk_inclusion'); 

// Replace [email protected] with your "From" address. 
// This address must be verified with Amazon SES.
define('SENDER', '[email protected]');           

// Replace [email protected] with a "To" address. If your account 
// is still in the sandbox, this address must be verified.
define('RECIPIENT', '[email protected]');    

// Replace us-west-2 with the AWS region you're using for Amazon SES.
define('REGION','us-west-2'); 

define('SUBJECT','Amazon SES test (AWS SDK for PHP)');
define('BODY','This email was sent with Amazon SES using the AWS SDK for PHP.');

require REQUIRED_FILE;

use Aws\Ses\SesClient;

$client = SesClient::factory(array(
    'version'=> 'latest',     
    'region' => REGION
));

$request = array();
$request['Source'] = SENDER;
$request['Destination']['ToAddresses'] = array(RECIPIENT);
$request['Message']['Subject']['Data'] = SUBJECT;
$request['Message']['Body']['Text']['Data'] = BODY;

try {
     $result = $client->sendEmail($request);
     $messageId = $result->get('MessageId');
     echo("Email sent! Message ID: $messageId"."\n");

} catch (Exception $e) {
     echo("The email was not sent. Error message: ");
     echo($e->getMessage()."\n");
}

?>

Я скопировал все коды, поместил свою переменную вместо показанной в демонстрационном скрипте. Теперь я получаю ошибку: вы должны использовать ключ и СЕКРЕТНЫЙ ключ, чтобы использовать этот скрипт... Куда я не могу положить свой КЛЮЧ и СЕКРЕТНЫЙ КЛЮЧ в сценарии? Нет никаких объяснений, как это сделать.

Есть ли другой способ отправки электронной почты через сервис Amazon SES? Спасибо!

Author: StefGuev, 2016-09-09

2 answers

Насколько я знаю, PHP Mailer не работал с AWS SES по API, вы должны использовать SES SMTP с PHP Mailer.

Правильные порты - 25, 465 или 587.

 1
Author: Reza Mousavi, 2016-09-09 18:41:49

Так просто. Я должен добавить ключ и секрет в:

$client = SesClient::factory(array(
    'version'=> 'latest',     
    'region' => REGION,
     'credentials' => array(
        'key'    => 'XXXXXXXXXXXXXXXX',
        'secret' => 'XXXXXXXXXXXXXXXX',
    )
));

И установите XXXXXXXXXXXXXXXX полный доступ к api в учетных данных безопасности amazon

 1
Author: StefGuev, 2016-09-12 12:51:45