Я пытаюсь настроить Amazon SES с PHP. Я проверил Интернет и документацию по AWS PHP SDK, но я вижу только устаревшие сценарии о том, как включить реальную библиотеку и отправить электронную почту. У кого-нибудь есть рабочий скрипт для использования Amazon SES с PHP?
Это самое близкое, что я нашел для тестирования скрипта, но он не работает:
require 'src/aws.phar';
use Aws\Common\Enum\Region;
use Aws\Ses\SesClient;
try {
$ses = SesClient::factory(array(
'key' => 'AKIAJ4ERVU6XXXXXXX',
'secret' => 'kMgagzJmB4Xjw7UD+Md0KNgW+CTE2jCXXXXX/',
'region' => Region::US_EAST_1
));
$ses->verifyEmailIdentity( array(
'EmailAddress' => '[email protected]'
));
}
catch( Exception $e )
{
echo $e->getMessage();
}
Во-первых, вы захотите отключить / удалить и сгенерировать новые пары ключей, чтобы вам не пришлось сталкиваться с плохой ситуацией, поскольку есть скребки / боты и люди, которые могут неправильно использовать ваши пары ключей доступа.
Что касается вашего первоначального вопроса, вы не описали, что не сработало для вас. В любом случае, поскольку вы хотели рабочую версию, проверьте исходный код этого: https://github.com/daniel-zahariev/php-aws-ses что даст вам достаточно идей, чтобы заставить вас работать.
Это рабочий код, который я получил для вас, дайте мне знать, если это поможет
<?php
require 'aws.phar';
use Aws\Ses\SesClient;
$client = SesClient::factory(array('region'=>'us-east-1','version'=>
'latest','credentials' => array('key' => 'xxxxx','secret' => 'xxxxxx',)));
$msg = array();
$msg['Source'] = $message['from'];
$msg['Destination']['ToAddresses'][] = $to_address;
$msg['ReplyToAddresses'][] = $from;
$msg['Message']['Subject']['Data'] = $subject;
$msg['Message']['Subject']['Charset'] = "UTF-8";
$msg['Message']['Body']['Html']['Data'] = $body;
$msg['Message']['Body']['Html']['Charset'] = "UTF-8";
try{
$result = $client->sendEmail($msg);
$logmsg = "Passed ".from." - ".to_address;
} catch (Exception $e) {
$logmsg = "Failed ".$message['from']." - ".$to_address;
error_log('Failed Email '.from." - ".$to_address);
}