エラー内容
Cognitoでユーザー登録をしたときに、メール送信が1日に送信できる上限を超えたという内容のエラーが発生した
LimitExceededException: Exceeded daily email limit for the operation or the account. If a higher limit is required, please configure your user pool to use your own Amazon SES configuration for sending email.
前提
- AdminCreateUser APIを使用している
- user_verifiedをtrueにして登録しているので認証メールは飛ばないようになっている
- 何もメール送信したくない
わかったこと
- AdminCreateUser API を使用してユーザーを手動で作成すると、招待メールがデフォルトで送信されてしまう
- それがカウントされて、1日の上限に引っかかっていた
- 上限は1日50件
対応
オプションを追加して、招待メールも送信されないようにしたら、エラーがなくなった
const {
CognitoIdentityProviderClient,
AdminCreateUserCommand
} = require('@aws-sdk/client-cognito-identity-provider');
const cognitoIdentityProviderClient = new CognitoIdentityProviderClient({});
const params = {
UserPoolId: userPoolId,
Username: username,
UserAttributes: attributes,
MessageAction: 'SUPPRESS' // これを追加。メール送信されなくなる
};
await cognitoIdentityProviderClient.send(new AdminCreateUserCommand(params));