How to confirm the subscription of Amazon SNS without having the endpoint token?

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.