如何使用 AWS SDK for PHP 通过 SES 以专用 IP 发送电子邮件?
How to use AWS SDK for PHP to send email by SES with dedicated IP?
我的 aws/aws-sdk-php 版本是 2.7.27。我们发送的电子邮件被标记为垃圾邮件。我发现我的 AWS 账户在专用 IP 页面中有 8 个专用 IP。但是我的电子邮件的发件人 IP 不是任何专用 IP,它是 amazon SES 的共享 IP。在SES的开发者文档中,我发现他们说我可以制作一个配置集来指定使用哪个IP池进行发送。正如文档所说,我添加了一个名为 'ConfigurationSetName' 的参数,但它不起作用,我的电子邮件仍在通过共享 IP 发送。我的代码是这样的:
$sendingParams = array(
'Source' => $fromEmail,
'Destination' => array(
'ToAddresses' => is_array($email) ? $email : array($email),
//'CcAddresses' => is_array($ccEmail) ? $ccEmail : array($ccEmail),
//'BccAddresses' => is_array($bccEmail) ? $bccEmail : array($bccEmail),
),
'Message' => array(
// Subject is required
'Subject' => array(
// Data is required
'Data' => $subject,
'Charset' => 'utf-8',
),
// Body is required
'Body' => array(
'Html' => array(
// Data is required
'Data' => $content,
'Charset' => 'utf-8',
),
),
),
'ReplyToAddresses' => array($fromEmail),
'ReturnPath' => $returnPath,
'ConfigurationSetName' => 'system',
);
if (!empty($ccEmail)) {
$sendingParams['Destination']['CcAddresses'] = is_array($ccEmail) ? $ccEmail : array($ccEmail);
}
if (!empty($bccEmail)) {
$sendingParams['Destination']['BccAddresses'] = is_array($bccEmail) ? $bccEmail : array($bccEmail);
}
$result = $this->sdkClient->sendEmail($sendingParams);
我的代码有什么问题?我应该更改 SDK 的版本吗?
我找到问题了。我的专用 IP 正在预热,在它们完全预热之前我无法使用它们。
我的 aws/aws-sdk-php 版本是 2.7.27。我们发送的电子邮件被标记为垃圾邮件。我发现我的 AWS 账户在专用 IP 页面中有 8 个专用 IP。但是我的电子邮件的发件人 IP 不是任何专用 IP,它是 amazon SES 的共享 IP。在SES的开发者文档中,我发现他们说我可以制作一个配置集来指定使用哪个IP池进行发送。正如文档所说,我添加了一个名为 'ConfigurationSetName' 的参数,但它不起作用,我的电子邮件仍在通过共享 IP 发送。我的代码是这样的:
$sendingParams = array(
'Source' => $fromEmail,
'Destination' => array(
'ToAddresses' => is_array($email) ? $email : array($email),
//'CcAddresses' => is_array($ccEmail) ? $ccEmail : array($ccEmail),
//'BccAddresses' => is_array($bccEmail) ? $bccEmail : array($bccEmail),
),
'Message' => array(
// Subject is required
'Subject' => array(
// Data is required
'Data' => $subject,
'Charset' => 'utf-8',
),
// Body is required
'Body' => array(
'Html' => array(
// Data is required
'Data' => $content,
'Charset' => 'utf-8',
),
),
),
'ReplyToAddresses' => array($fromEmail),
'ReturnPath' => $returnPath,
'ConfigurationSetName' => 'system',
);
if (!empty($ccEmail)) {
$sendingParams['Destination']['CcAddresses'] = is_array($ccEmail) ? $ccEmail : array($ccEmail);
}
if (!empty($bccEmail)) {
$sendingParams['Destination']['BccAddresses'] = is_array($bccEmail) ? $bccEmail : array($bccEmail);
}
$result = $this->sdkClient->sendEmail($sendingParams);
我的代码有什么问题?我应该更改 SDK 的版本吗?
我找到问题了。我的专用 IP 正在预热,在它们完全预热之前我无法使用它们。