Dealing with bounced emails - node.js

Currently we are using AWS SES to send an authentication email to the user. (This email is not related to the usual login/register authentication, it's our own)
The email address is entered by the user and we are sending one and only one email per email address.
This leads to many bounced emails and AWS suspended our service (around 9000 sent emails and 15% bounce rate).
My question:
How to deal with this problem? Users will mistype their email all the time. There is no way to verify if an email is valid without sending an actual email, right? That means that all SMTP providers will suspend our ability to send emails sooner or later.
Using nodejs to send the email but that is not really relevant I think.

Check the bounces by adding a sns topic and subscribe to it to get more information when bounces emails. (It's not always because of faulty email)
Ask users to enter their email address twice
There are some services out there that you can pass email addresses to that will give you a classification as to how likely the address is to be a “good” address
Here is a document from AWS which describes your problem:
https://aws.amazon.com/blogs/messaging-and-targeting/what-do-i-do-if-my-registration-emails-themselves-have-high-bounce-rates/

Related

System-generated email for Azure Logic app

I would like to know whether there is a possibility for a Logic app with system assigned managed identity to create its own email address from which it would send an email to predefined users. Or maybe to use some kind of office 365 email for sending notifications that would not be managed directly by me but also would be maintained in that way so it could be used at any time.
The point is that currently, I have a perfectly working logic app that sends emails. But those emails are sent from an employee's email address that authorized Office 365 connection in the logic app. Since this is dependent on his or her email address if something happens to the email (employee changes jobs and email address needs to be decommissioned) logic app won't be executed and these emails which are critical for us to get will not be delivered.
Is there a way so the logic app would not be dependent on the email address of one person but instead of that on some kind of system-generated email address for sending emails?
There are several options. The most popular is the SendGrid service
https://docs.sendgrid.com/for-developers/partners/microsoft-azure-2021
There is a free option that includes 100 emails per day.

Allow customer to send me email

I'm bulding website where I want to allow future customers to send me an email. I'm using Node.js to handle sending and thought SendGrid would be good solution. There's actually problem, because SendGrid requires me to define sender and that's impossible because I'd like to customer fill form with his email, etc so I would get this data on my inbox. Is it even possible with SendGrid or maybe there's other tool that would fit me better?
Thanks in advance
what I have implemented in the past was a solution where the application sends an email to it self, and the email address of the user was added to the email header reply-to, this way whenever somebody with the access to the email client would press the Reply button, the user's mail would be the destination.
Example:
admin#yoursystem.com ---> Sends an email to ---> admin#yoursystem.com (with the user's message and his email address in the mail header reply-to).

Is there a way to add an identity to Amazon SES through a form in Javascript? [duplicate]

I am developing PHP application that, after sign-up, sends an activation mail to the registered email address using Amazon SES (Simple Email Service).
But SES is only sending emails to verified users.
How can I send the activation link to any non-verified email address, too?
While running in sandbox mode you can only send to verified users - once your account has been activated, you can send to anyone.
Getting out of the sandbox:
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html
By default you can only send to email addresses that have been verified in your SES account. As others have said, this is called "sandbox mode". This is to prevent spam.
To enable "production mode", where you can send emails to non-verified email addresses, you need to request this manually through a support ticket, which will also be examined manually by an AWS employee. This is all explained clearly in the same link that the top answer gave back in 2016 but I've also preserved the 7-step instructions (just in case the link changes or can't be opened for some reason):
In the account details modal, fill out the following account details.
For Enable production access, choose Yes or No. You can only move out of the sandbox by choosing Yes.
For Mail Type, choose the type of email that you plan to send. If more than one value applies, choose the option that applies to the
majority of the email that you plan to send.
For Website URL, enter the URL of your website. Providing this information helps us better understand the type of content that you
plan to send.
For Use case description, explain how you plan to use Amazon SES to send email. To help us process your request, you should answer the
following questions:
How do you plan to build or acquire your mailing list?
How do you plan to handle bounces and complaints?
How can recipients opt out of receiving email from you?
How did you choose the sending rate or sending quota that you specified in this request?
For Additional contact addresses, tell us where you want to receive communications about your account. This can be a
comma-separated list of up to 4 email addresses.
For Preferred contact language, choose whether you want to receive communications for this case in English or Japanese.
When you finish, choose Submit for review.
If you are successful, you will get an email from no-reply-aws#amazon.com saying:
Hello,
Thank you for submitting your request to increase your sending limits.
Your new sending quota is 50,000 messages per day. Your maximum send
rate is now 14 messages per second. We have also moved your account
out of the Amazon SES sandbox.
This takes effect immediately in the XXXX region. You can
view the current sending rate and sending quota for your account on
the Sending Statistics page of the Amazon SES console, or by using the
GetSendQuota API.
If unsuccessful, you will get an email saying the following:
Thank you for providing us with additional information about your
Amazon SES account in the Europe (London) region. We reviewed this
information, but we are still unable to grant your request.
We made this decision because we believe that your use case would
impact the deliverability of our service.
We cannot assist you further with this issue, and we will not respond
to additional messages on this subject.
The SES forum is full of frustrated people who got the second message (indicated an unsuccessful application to send emails to non-verified email addresses), but I can assure that that this morning I got the first message (indicating a successful application to exit the sandbox and enter production mode where I can send to non-verified email addresses).
The forums indicate that this can be very hit-or-miss, depending on which staff members reads your application (people have pointed out that they have had some accounts approved with barely any description, and other accounts not approved despite giving what they felt were sufficient details). Therefore I'd advise you to be thorough during this application.
These are the restrictions in SES sandbox :
You can only send mail to the Amazon SES mailbox simulator and to verified email addresses and domains.
You can only send mail from verified email addresses and domains.
You can send a maximum of 200 messages per 24-hour period.
Amazon SES can accept a maximum of one message from your account per second.
You have to move out of sandbox to send email to non-verified email address using AWS SES.
After you move out from sandbox mode, you need to handle complains and bounds about SES.
AWS asking us ,you are sending a mail to an unregistered mail adress.what if mail adress doesn't exist? .AWS needs notificate you about the sending status of mail which you sent.
There are three sending status : complaints,bounds(mandatory),deliver(optional)
So you can get a notification about the mail if it sent or not with the reason.
To handle complaints and bounds,you need to create SNS topics and need to relate them with the SES.now AWS can notificate you about the mail it is sent or failed or something else..
Here is the detailed description how to relate SNS and SES :
https://docs.aws.amazon.com/en_us/ses/latest/DeveloperGuide/configure-sns-notifications.html
NEW UPDATE:
You can now go to the SES account page and directly drop a request for production access.
https://ap-south-1.console.aws.amazon.com/ses/home#/account

Gmail randomly exposes gmail address

I have various email addresses set up under Gmail. I have checked 'Treat as Alias' and also checked 'Reply from the same address the message was sent to'. Despite this I find that Gmail will randomly expose my user#gmail.com address when sending mail, or when I reply to mail sent to one of my pseudonymous addresses.
Have other people had this problem?
Is there something else I need to do to get Gmail to secure my email addresses?
Is there another service I should consider that has better integrity with regard to this issue?

Sent mail from gmail not showing in cpanel sent mail

I have set up my cpanel email address in Gmail under Check mail from other accounts (using POP3) and also under Send mail as (Mail is sent through: mail.mydomain.com Secured connection on port 587 using TLS)
Looking at Roundcube, I can see the received mails in there, but no sent mails - even though Gmail is sending via my domain server.
Is there a way to be able to view received AND sent mails that go through Gmail ?
Unfortunately emails do not work like that. There is no security as to where an email can be sent from.
I can send an email to anyone in the world and make it look like it was sent from you, most SMTP servers don't verify this information (hence why Gmail can send email from your domain even without your credentials).
Also, although this should theoretically be possible since it's being sent through your domain's SMTP server, it would take a lot of data to be able to store ALL mail that passes through it as associate it with every account. That's why some web email clients only store sent items for around 30 days.
Good luck with finding a suitable solution. This is why many companies use an Exchange server since it provides complete tracking of sent and received emails and disallow the use of Gmail.

Resources