Label emails in Gmail based on content compared to date sent? - gmail

I need to automatically flag emails as older than 24 hours, but with respect to the time they were first received by the sender. Here's the breakdown:
- Sender receives email from an unrelated address (i.e., not the address I'm working in)
- The reply-to for their email is my email address, so when they reply it comes to me
- I need to compare the timestamp from their original email (which is only included in the message content as far as I can tell, given the above) to the time at which they send it to me and determine if that is greater than 24 hours
Is there any way to do this?

Related

Fetch discord’s message containing specific words

How do i find messageID of the latest message from a specific user containing certain word
i.e
if 2 people sends same message but if i provide 1st person’s userID then it will bypass 2nd users message and get the messageID of 1st users'
I dont know if this is possible haven’t done anything yet!

How to block an email which did not sent a direct message to you?

I'm sorry I am not sure the proper wording to explain this issue.
I have constantly been receiving emails such as the one I attached (at the bottom). Altough I am able to block emails from "Order_Shipment", several email addresses remain sending messages to PennyV1#aol.com as well as PennyYA#aol.com, which is redirected to me. I could not find a way to block these two emails. I get several emails daily through them, and I would like it to stop.
Things I tried:
1 - Searched in the google settings, and couldn't find anywhere how to specifically block an email by typing the address.
2 - The three vertical dots on the left allows me to block the specific email from Order_Shipment, this does not solve the problem as the real problem is blokcing PennyV1 and PennyYA.
3 - Sent an email to PennyV1#aol.com as well as PennyYA#aol.com in the hope they would sent me an email back so I can block them. My message got bounced back saying these emails don't exist.
I do not know how my email entered this email grouplist
You could try blocking their domain:
Like clicking "Block Quora Digest" in my case.
Option two would be two create a filter: https://support.google.com/mail/answer/6579?hl=en#zippy=%2Ccreate-a-filter

Setting up Gmail Push Notification for a specific email having attachments

I am trying to set up Gmail Push Notification to create a watch request for any new email received in the INBOX. So far, this is fine. However, I am trying to create a watch request as described here :
https://developers.google.com/gmail/api/guides/push#getting_gmail_mailbox_updates
I would like to set up a watch request for any email received from a specific email(info#abc.com) address having a subject line "[Important]" and having a PDF attachment.
Any idea if such a watch request can be set up?
Currently, I am reading all the emails from INBOX using imaplib received in the last 24 hours and manually search for emails having the subject line and attachment. However, I believe, this solution is not ideal.
Issue:
The only filter you can apply to Gmail Push Notifications is which label/s to retrieve notifications from, as can be seen here. Because of this, the filtering of messages depending on (1) who sent the message, (2) the email subject and (3) whether the email has a certain PDF attachment cannot be done at this stage, but after receiving the notifications. Luckily, though, there is no need to look for these messages manually, you can code your application to do that for you.
Workflow:
- Step #1. Set notifications for all INBOX and retrieve startHistoryId: As was said before, you have to receive notifications for all INBOX, since there is no more specific filter available. A call to Users: watch, providing INBOX in the labelIds field and the topic you created in topicName, will effectively configure the notifications. The response to watch has this shape:
{
historyId: 1234567890
expiration: 1431990098200
}
Where historyId refers to the mailbox’s current state. Let’s store it somewhere, and call it startHistoryId.
- Step #2. Get INBOX changes: After completing step 1, whenever there is a change in your INBOX, your application will receive a notification message describing the change. Whenever a notification is received, you want to get information about the specific changes made to the INBOX, and to achieve that, you should call history.list().
That is to say, your application should call history.list() every time a notification is received. Now, you want to get changes since last time, and that’s why you should provide the historyId retrieved in step 1 as the parameter startHistoryId. If you want to only retrieve new messages (and not deletions, or label edition/removal), you can set historyTypes to messageAdded. The request could be like this:
{
userId: “your-email-address”,
historyTypes: “messageAdded”,
startHistoryId: “your-start-history-id”
}
As a response, you’ll get something like this:
{
"history": [
{
"id": unsigned long,
"messages": [
users.messages Resource
],
"messagesAdded": [
{
"message": users.messages Resource
}
]
}
],
"nextPageToken": string,
"historyId": unsigned long
}
Here, you should retrieve historyId, which will be used as startHistoryId the next time history.list() is called, and messagesAdded, which contains the IDs of the new messages you want to look for (only ID and threadId seem to be populated).
- Step 3. Filtering messages: Now you have the list of message IDs that have changed since last time (messagesAdded), and you want to know which of them match your criteria. To know that, you’ll have to iterate through all IDs in messagesAdded and call Users.messages: get for each ID. This will return the corresponding message resource. For each message, you’ll have to check whether the criteria are met:
Sender email: inside the resource, access the headers (message[“payload”][“headers”]), and loop through them, looking for the one whose name is From. You have to check whether the corresponding value is the email you’re looking for.
Subject: as in step (a), access the headers and look for the header whose name is Subject. The corresponding value is the email subject. Check whether it starts with [Important].
Attachment: you’ll have to look for the email attachments in message[“payload”][“parts”]. The process is a bit more complicated, but see, for example, this related question.
Reference:
Gmail API: Push Notifications

How does it send slight different emails to multiple recipients, though having them in common 'to' section?

So I was trying mixmax - the chrome extension and got to know it tracks email open event even though the same mail is sent to multiple recipients and it is able to identify receivers properly. I checked and found that it adds different pixel URLs for all receivers, mail looks same (that's not my concern) but in 'to' or 'cc' all the recipients are visible at receiver side - that's the question!
From receiver end that 'multiple recipient' thing is visible, then how does it send different emails but not separately?
from the sender, this link is passed -
https://track.mixmax.com/api/track/v2/8FgRRNFKbgELrNBzp/ISbvNmLslWYtdGQ0kTO3oWbhNnI/!!!EMAIL_ADDR_ENC!!!/!!!RECIPIENT_NAME_ENC!!!?sc=!!!IS_SENDER_COPY!!!
but from receiver these links are visible that gets modified for 2 receivers-
https://track.mixmax.com/api/track/v2/8FgRRNFKbgELrNBzp/ISbvNmLslWYtdGQ0kTO3oWbhNnI/ISbvNmLslWYtdGQzEjYjJnYjJnI/IyMxAiYjJnI?sc=false
https://track.mixmax.com/api/track/v2/8FgRRNFKbgELrNBzp/ISbvNmLslWYtdGQ0kTO3oWbhNnI/i02bj5CbpFWbnBUOxAjMl1Wa052bzVGbhNnI/?sc=false

When does Message ID get populated in Lotus Notes?

I'm trying to use the Message ID property on a mailbox item to determine whether it's a journaled or non-journaled item.
When I say non-journaled I mean, calendar events, contacts, drafts.
Is this the right thing to do? Is the Message ID assigned when the item is sent?
The Messsage ID is assigned to the $MessageID item by the router when the message is submitted to be sent. A calendar event will not contain a $MessageId, but a calendar invitation or calendar notice will, because they are processed by the mail system.
However, the presence of a $MessageId item does not necessarily mean the message was mailed to or by the specific mailbox that you are looking at, because a message can easily be copied and pasted between mailboxes.
And it's also true that the absence of a $MessageID does not necessarily mean it wasn't mailed, either. I am almost certain that I've seen cases where messages in a user's Sent folder, and which were actually sent, didn't have the $MessageID. I can't recall the circumstances for that, though. (It's pretty easy for a knowledgeable user to remove the $MessageID item from a message by running a simple agent, so that's an obvious reason why you can't count on the $MessageId being there, but that's not the case I'm thinking of.)(

Resources