如何正确建立亚马逊SES
问题描述:
我试图建立我的亚马逊SES与PHP和我导致了已经在这里所做的这一发现github上:https://github.com/daniel-zahariev/php-aws-ses如何正确建立亚马逊SES
我有困难就前往工作,我不确定我做错了什么。有经验的人能给我一些关于进一步做什么的见解吗?它说它正在发送电子邮件,但是当我检查我的收件箱时,什么都没有发生。以下是我的代码:
require_once('src/SimpleEmailService.php');
require_once('src/SimpleEmailServiceMessage.php');
require_once('src/SimpleEmailServiceRequest.php');
$ses = new SimpleEmailService('myaccessid', 'myaccesskey');
$m = new SimpleEmailServiceMessage();
$m->addTo('[email protected]');
$m->setFrom('Name <[email protected]>');
$m->setSubject('You have got Email!');
$m->setMessageFromString('Your message');
$ses->sendEmail($m);
答
如果您不愿意使用任何创建的类,只是直接使用SDK即可,这里是一个工作代码;
// Include AWS SDK for PHP
$path = $_SERVER['DOCUMENT_ROOT'];
$path .= "/php/awssdk/aws-autoloader.php";
require($path);
// Instantiate an SES instance
$client = SesClient::factory(array(
'key' => 'your key',
'secret' => 'your secret',
'region' => 'your region'
));
//Now that you have the client ready, you can build the message
$msg = array();
$msg['Source'] = "verified email";
//ToAddresses must be an array
$msg['Destination']['ToAddresses'][] = "verified email";
$msg['Message']['Subject']['Data'] = "Your Subject";
$msg['Message']['Subject']['Charset'] = "UTF-8";
$msg['Message']['Body']['Html']['Data'] ="Your message";
$msg['Message']['Body']['Html']['Charset'] = "UTF-8";
$result = $client->sendEmail($msg);
if($result) {
echo "Email Sent";
}
您是否验证了您的发件人电子邮件地址? http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html – BestPractices
你好,这是正确的。我验证了发件人的地址。虽然我没有验证我的DKIM,也不确定是否真的需要它发送电子邮件。 – chronotrigga
我也尝试将addTo发送到验证的电子邮件,但我仍然没有收到电子邮件。 – chronotrigga