AWS SES, sending mail with an unverified 'from' - amazon-web-services

I'm trying to create a discussion list sender using SES. The 'receive' part is fine, but when I send, I want to preserve the user's "from" address. Aside from some subject rewriting, here's what I'm doing to the headers; VERIFIED_FROM is my mailing list alias. This is py3.6, but it shouldn't matter.
msg['Reply-To'] = VERIFIED_FROM_EMAIL
msg['Return-Path'] = VERIFIED_FROM_EMAIL
When I call sendRawEmail, I get an error like this, brackets for scrubbed entries:
[ERROR] [timestamp] [request id] Client error while forwarding email for <[VERIFIED_FROM_EMAIL]> to <[all emails on list]>: An error occurred (MessageRejected) when calling the SendRawEmail operation: Email address is not verified. The following identities failed the check in region US-WEST-2: ["user who sent the message" user#domain.com]
I can't put all users on the verified list. I could set the 'from' to my list address, but then I lose the identity of the sender.
I'm sure this has been done with SES- but how?

The reply-to field and the return-path field are fields that require a validated email address. [1]
With each email you relay, you can create a unique email address for people to reply to (e.g. abcdef123#yourdomain.com) which you can then relay back to the same threads using the Message-ID and In-Reply-To headers.
You can also modify what the name looks like for the message using the Name <email#yourdomain.com> header too.
[1] https://forums.aws.amazon.com/message.jspa?messageID=221703

Related

Google people API i cant get the email addresses

gapi.client.people.people.connections.list({
'resourceName': 'people/me',
'pageSize': 120,
'personFields': 'names,phoneNumbers,emailAddresses'
})
[i already specify emailAddresses as one of my personfields but i dont see email address in the response as shown below.this is the response in console.
Maybe check if your scopes allow you access to email addresses and if that contact actually has an email address. I believe the API doesn't even add a field if it's empty, rather than populating a field with an empty value.
The required scope for these fields are:
https://www.googleapis.com/auth/user.phonenumbers.read https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email

How to change reply_to email address in Vtiger 6.4 for all the outgoing mails via Mail Manager?

When any user sends any email via Mail Manager, the default reply_to email address is set as the Help_desk_emailid by Vtiger. I want to change that reply_to email address and want to use some custom dynamic email address for all the outgoing emails via Mail manager only; not for any other outgoing emails such as events, reminders etc.
It would be really helpful even if i need to do that directly in the code in core files.
All the emails through Mail Manager are sent via different module and not using /modules/Emails/mail.php
All the emails are sent from /modules/Emails/models/Record.php via send() function.
So to change the reply_to email address we need to modify below line in send() function:
$replyTo = $currentUserModel->get('email1');
You can change reply to email address in /modules/Emails/mail.php
if(isUserInitiated()) {
$replyToEmail = $from_email;
} else {
$replyToEmail = $from_email_field;
}
Just change the logic of getting from email address or else you can add static email address.

How I can parse email to get original recipient of an email?

I had email source with me and want parse original recipient of email.
Lets say "user1#test.com" is receiving a email, but in "To" list user1#test.com, user2#test.com & user3#test.com are mentioned. I want to get only user1 from email source.
In initial analysis, email from mdeamon server contains "X-MDaemon-Deliver-To:" tag. Similarly email from Devcot mail server contains "Delivered-To:". But not getting generic parsing logic to get original email recipient.
How I can parse email to get original recipient of an email?
The best way to get this information is probably to parse the Received headers to see who the message was delivered for. In other words, look for a Received header that has a for token followed by x#x.com (where x#x.com will be the recipient).

Find email address in a bounced back email

I am trying to get the email addresses for which my mails bounced and the only way I could find was to read the bounced Email using javamail and try finding the Email addresses Contained in the Message. I am able to read the Emails and now My challenge is finding the Emails therein.
Here is My method:
public String findEmailInString(String message) {
String email = "";
Pattern pat = Pattern.compile("^[_a-z0-9-]+(\\.[_a-z0-9-]+)*#[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,4})$");
Matcher match = pat.matcher(message);
while (match.matches()) {
email = match.group();
}
return email;
}
EDIT My messages are in this Format:
"
This is an informative message sent by mail.simbatech.biz.
The server was not able to deliver your email message
Subject: GAtungo
Date: Fri, 14 Nov 2014 15:52:58 +0300
to the following addresses:
<gatungowanungai#simbatech.biz> (mail.simbatech.biz: Mailbox does not exist)"
This Method is returning null despite the fact that there are email addresses in the message body. Is there a better way to achieve this?
I know that this doesn't answer the question directly but the normal practice here isn't to attempt to parse the bounce message at all.
Instead when you send your emails out you set a different Return-Path header for each email that you send. You can then uniquely identify which user this message is from.
This technique is called VERP.

Redirect users to their specified email accounts with receiver and message fields pre-filled

I have an email address "myaddress#gmail.com". I have created a django form that has a text field and a button. I want to redirect anyone who types a message in the text box to their respective emails so that they can send the message they typed to "my address". This means that as they log in to their email accounts, their message boxes should already be filled with the message they typed and the receiver field should already have "myaddress#gmail.com". The problem is how to redirect the users to their email accounts and prefill the specified fields.
Can anyone help me please?
If the user has set a default email program, most of them will be triggered on mailto:. I know gmail works with mailto: as well, and its possible that other web email services might. All desktop email clients - again only if it is set as the default email program will work on mailto:
The format is:
mailto:[emailaddress]?header=value&header1=value1....&headerN=valueN
Here is an example that sets the subject of the email automatically:
Email me