0

PHP SDK を使用して AWS Ses サービスをセットアップしました。

$this->client = SesClient::factory([
    'key' => $params['key'],
    'secretKey' => $params['secret_key'],
    'region' => 'eu-west-1',
    'base_url' => 'https://email-smtp.eu-west-1.amazonaws.com',
]);

$this->client->sendEmail($this->params());

public function params() {
    array(
        'Source' => 'verified@gmail.com',
        'Destination' => array(
            'ToAddresses' => array('receiver@yahoo.com')
        ),
        'Message' => array(
            'Subject' => array(
                'Data' => 'SES Testing',
                'Charset' => 'UTF-8',
            ),
            // Body is required
            'Body' => array(
                'Text' => array(
                    'Data' => 'My plain text email',
                    'Charset' => 'UTF-8',
                ),
                'Html' => array(
                    'Data' => '<b>My HTML Email</b>',
                    'Charset' => 'UTF-8',
                ),
            ),
        ),
        'ReplyToAddresses' => array( 'replyTo@email.com' ),
        'ReturnPath' => 'bounce@email.com'
    );
}

メールを送信しようとすると、次のエラー メッセージが表示されます。

exception 'Guzzle\Http\Exception\CurlException' with message 
'[curl] 23: Failed writing body (0 != 86) [url] https://email-smtp.eu-west-1.amazonaws.com/' 
in C:\xampp\htdocs\myProject\protected\lib\vendor\guzzle\guzzle\src\Guzzle\Http\Curl\CurlMulti.php:338

誰でもそのエラーを修正する方法を知っていますか?

cUrl は SMTP をサポートしていますが、smtp://email-smtp.eu-west-1.amazonaws.comエラーをスローします[curl] 1: Protocol smtp not supported or disabled in libcurl [url] smtp://email-smtp.eu-west-1.amazonaws.com/ カール

4

3 に答える 3

0
  1. この段階で、「ユーザー ' arn :aws:iam::######:user/ebpush' は、リソース 'arn:aws:ses: で 'ses:SendEmail' を実行する権限がありません」というエラーが表示されますhttps://email.{$region}.amazonaws.combase_url
    eu-west-1:447362101282:identity/verified@gmail.com'
  2. IAMを追加>グループ>グループの作成> AmazonSESFullAccess
  3. IAM >ポリシー> AmazonSESFullAccess >アタッチ> ebPushに移動します

また

PHPMailer を使用して接続しemail-smtp.{region}.amazonaws.comます。ユーザー名は SES アクセス キー、パスワードは SES シークレット キーです。

于 2015-03-30T11:01:56.247 に答える
0

有効なエンドポイントを使用していません。

email-smtp.eu-west-1.amazonaws.comHTTPS ではなく、SMTP エンドポイントです。HTTPS エンドポイントはemail.eu-west-1.amazonaws.com.

http://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region

于 2015-03-29T19:20:34.870 に答える