AWS Autogenerated Email - amazon-web-services

I hired out the development of an app/database project and received something that works, but not as I requested.
When a user downloads the app and creates an account, an AWS autogenerated email goes out with a temporary password and a prompt to change that password.
The problem is that the email contains two other company names! The developers must have used a template and forgot to change the text. I need some guidance on finding the AWS service that sends the email so I can change the outgoing message. Would this be a SES function? Lambda? I'm at a loss.
I've asked the developers for pointers to the right AWS services but they won't acknowledge my emails. It's on me to fix this and I don't know where to start.

Related

AWS SES Not Delivering

I am currently using AWS SES to send emails to my users. However, it appears that my users who use outlook / Microsoft's Business Email System are not receiving my emails. SES also tells me that I have no bounces too.
The user's email has {name}.onmicrosoft.com on it.
How can I go about resolving this?
EDIT: Found out that the key phrase "password" is a root cause for the email being blocked and not showing up at all. Not sure how to combat this as I am sending a password reset email.
Thanks

How to setup an email address for sending only?

My main goal is to setup an email address for my server to use for sending emails only.
I did some research, and it looked like Amazon Simple Email Server and/or Amazon Workmail could provide me with what I needed. I've gotten as far as setting up SES and Workmail so that I can set my server to be able to send emails. However, I saw that once the Workmail inbox is full (50GB), the account would be unable to send emails. Given that this is going to be used by the server and not a human, I didn't want the inbox to get filled with auto replies, spam, or failed to send messages, and then be unable to send emails. So, I went looking for a way to either:
A) prevent emails from being received and stored in the inbox
B) a rule I could setup to delete anything that didn't match the company domain
C) be able to read the inbox and delete email messages using the AWS CLI, and I'd setup my own script to manage how and what was deleted when
So far I haven't had any luck.
Again, I'm not particular how I achieve the goal, but I do preferably need to find a way to have an email address for a server to use exclusively for sending messages. I worry that if I leave it to employees to remember to login and clear the inbox, someone will forget, and then the server will stop sending emails.
Any direction or advice would be greatly appreciated.
I'm not well versed in email protocols; could I setup the address to return a bounce back always, and that would prevent it from receiving emails into it's inbox?
How are you generating these emails? If you are generating them programmatically (via an app/script), you may not need to set up a server. If you just route the outgoing mail through your app to SNS, the emails will be valid, however, there will be no "inbox" for incoming mail and they will just be dumped. This way you don't have to actually worry about an inbox getting full as it will just drop anything coming in.
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html
In order to receive emails though SNS, you have to go through the setup linked above, but if you do not set this up, then emails will just bounce. At least, that is how I have been doing it.

AWS SES verified emails

Trying to understand something thats not clear from AWS SES emails.
I have a simple emailer on my website that I have setup using nodemailer.
It has 3 fields
Name: name of user filling out form
email: email address of user filling out email.
Description: description filled out by user.
I'm seeing in AWS docs that I need to verify on their console the users email.
You can only send mail from verified email addresses and domains.
Note: This restriction applies even when your account isn't in the
sandbox.
This could be any number of different user email address how would I be able to verify them all I wouldn't know them.
What am I not getting here. I have verified the To: email which will always be the same as its coming to my domain email.
You'll want to send from an email address under your control (SES enforces this on a technical level, but spam filters tend to de facto enforce this everywhere due to things like SPF records) with a Reply-To header of the email address submitting the form.

How can I use a single gmail address in a MTA (Mail Transfer Application)?

I would like to allow users to send automated emails from a dedicated email address (automated_alerts#my-domain.com).
However, in the scripts, I don't want to give users access to the credentials.json so that they can modify the scope. I don't want to use a service that I need to pay for such as Amazon SES.
I have looked into resources at the following links below, but I want users to simply specify an html body, any attachments, and the recipients and then forward this on to the MTA. If a user leaves the company, the automated emails should not fail when the user's email gets closed out. The script would just need to get moved to a different server's cron or whatever.
Is there an easy way to do this? I am happy to use Django also, but would prefer to avoid using SES and having to pay to send internal company emails:
https://docs.djangoproject.com/en/2.0/topics/email/
https://github.com/django-ses/django-ses
https://developers.google.com/gmail/api/auth/scopes

Receiving emails with sendgrid and cloudmailin

I have the same concept as mentioned in this question(generating a unique random email address for each user in rails app. When the user sends an email that that randomly generated email address, we process the body and store in db.
I followed the following steps:
Deployed my app in Heroku
Created a sendgrid account and configured the username and password to heroku(to get the sendgrid addon).
added griddler gem and followed the steps mentioned in griddler.
Configured the parse webhook in sendgrid with my host and url.
Here comes the main problem:
I registered to coludmailin and it generated the single email address. I don't really understand how to receive uniq emails to my rails application now. I tried white labeling the cloudmailin.net in sendgrid but it doesn't work(may be am wrong here).
Googled a lot but didn't understand how to proceed from here. Can someone please help me in solving this issue. Appreciate if I get a good step-by-step reference
There are two options to do this with CloudMailin.
Option 1:
On the free plan you can use a + in order to separate the email address given to you on CloudMailin and still create a unique email address that each customer can respond to. For example:
If you CloudMailin email address is example1234#cloudmailin.net you can use example1234+unique_id_54321#cloudmailin.net. CloudMailin calls unique_id_54321 the disposable part of this email address. This way you can send an email out and state the sender of that email is example1234+unique_id_54321#cloudmailin.net and then tell one user from another.
Option 2 (the better option):
However, the best way to do this is to use CloudMailin's custom domains. You can then receive anything#yourdomain.com.
With custom domains enabled you set CloudMailin up to be your MX server. Then any email coming into yourdomain.com goes direct to CloudMailin (you can use app.yourdomain.com to avoid conflicts with your regular email if needed).
You can then send email out with the sender as user-12345#yourdomain.com, task-12345#yourdomain.com or any other unique identifier. When you receive the email from CloudMailin the envelope will show that the email was sent to user-12345#yourdomain.com and you can then use this to resolve who the user was.