In my JAVA application, I'm using Amazon SNS to send emails to customer; Once I subscribe one customer(email id) into my SNS Topic; It is asking the customer to confirm the subscription to receive the emails;
Is there any way to confirm the subscription in our application itself(without cusstomer's help)?
No, it is not possible.
The entire point of the confirmation step is to force the end user to confirm the subscription so that SNS cannot be used as a spamming mechanism. If SNS allowed the application developer to confirm subscriptions without access to the endpoint token, then you could confirm anyone's email address.
Note however, that SNS could technically implement a feature which would allow the email owner to confirm subscriptions for your account, so that if your application will be subscribing and unsubscribing an email address from lots of topics, they wouldn't have to confirm each one. Sadly, that feature currently doesn't exist.
One other possibility which would actually give you what you need is if SNS allowed you to send emails from your SES account and use your SES trust level. Again, this feature doesn't exist currently.
Until the SNS team delivers a feature which allows this use case, if you need to deliver to customers, you could allow SNS to do the fanout for you to HTTP or SQS queues, then deliver emails from those notification using SES.
来源:https://stackoverflow.com/questions/18201594/how-to-confirm-the-subscription-of-amazon-sns-without-having-the-endpoint-token