接入教程
1. 注册AWS账号并登录控制台
2. 在SES服务中验证发件人邮箱地址
3. 获取API访问密钥和密钥对
4. 选择SDK或直接调用REST API
5. 配置邮件内容和收件人列表
6. 发送邮件并查看发送报告
使用Python发送邮件
python
import boto3
from botocore.exceptions import ClientError
# 初始化客户端
client = boto3.client(
'ses',
region_name='us-east-1',
aws_access_key_id='YOUR_API_KEY',
aws_secret_access_key='YOUR_SECRET_KEY'
)
# 发送邮件
try:
response = client.send_email(
Source='sender@example.com',
Destination={
'ToAddresses': ['recipient@example.com']
},
Message={
'Subject': {'Data': 'Test Email'},
'Body': {'Text': {'Data': 'Hello from Amazon SES!'}}
}
)
print(f"Email sent! Message ID: {response['MessageId']}")
except ClientError as e:
print(f"Error: {e.response['Error']['Message']}")
使用PHP发送邮件
php
<?php
require 'vendor/autoload.php';
use Aws\Ses\SesClient;
use Aws\Exception\AwsException;
// 初始化客户端
$client = new SesClient([
'version' => 'latest',
'region' => 'us-east-1',
'credentials' => [
'key' => 'YOUR_API_KEY',
'secret' => 'YOUR_SECRET_KEY'
]
]);
// 发送邮件
try {
$result = $client->sendEmail([
'Source' => 'sender@example.com',
'Destination' => [
'ToAddresses' => ['recipient@example.com']
],
'Message' => [
'Subject' => ['Data' => 'Test Email'],
'Body' => ['Text' => ['Data' => 'Hello from Amazon SES!']]
]
]);
echo "Email sent! Message ID: " . $result['MessageId'] . "\n";
} catch (AwsException $e) {
echo "Error: " . $e->getAwsErrorMessage() . "\n";
}
?>
使用JavaScript发送邮件
javascript
const AWS = require('aws-sdk');
// 配置AWS
AWS.config.update({
region: 'us-east-1',
accessKeyId: 'YOUR_API_KEY',
secretAccessKey: 'YOUR_SECRET_KEY'
});
// 初始化SES客户端
const ses = new AWS.SES({apiVersion: '2010-12-01'});
// 发送邮件的参数
const params = {
Source: 'sender@example.com',
Destination: {
ToAddresses: ['recipient@example.com']
},
Message: {
Subject: { Data: 'Test Email' },
Body: { Text: { Data: 'Hello from Amazon SES!' } }
}
};
// 发送邮件
try {
const data = await ses.sendEmail(params).promise();
console.log(`Email sent! Message ID: ${data.MessageId}`);
} catch (err) {
console.error(`Error: ${err.message}`);
}
常见问题
如何获取Amazon SES的API密钥?
登录AWS控制台,进入IAM(身份和访问管理)服务,创建新的访问密钥。确保该密钥具有调用SES API的权限。
Amazon SES支持哪些类型的邮件?
Amazon SES支持发送交易邮件、营销邮件和通知邮件。交易邮件包括订单确认、密码重置等;营销邮件用于推广产品;通知邮件用于系统提醒。
如何提高邮件送达率?
建议验证发件人域名、维护健康的发件人声誉、监控发送指标(如退回率和投诉率),并遵循Amazon SES的最佳实践指南。
Aitishiku.com