I'm fairly confident the SPF record is syntactically correct, and that there's only ten DNS lookups. However, I'm still receiving the "too many DNS lookups" error.
Below is the SPF record that I've included.
v=spf1 include:spf.microsoftonline.com include:spf.protection.outlook.com include:spf.mandrillapp.com ~all
All three include other records, and I've included all of them below:
2 Initial TXT and SPF Lookup
1 include:spf.microsoftonline.com
1 include:spf.protection.outlook.com
1 include:spf.mandrillapp.com
1 include:spfa.microsoftonline.com
1 include:spf.frontbridge.com
1 include:_spf-ssg-a.microsoft.com
1 include:spfa.protection.outlook.com
1 include:spfb.protection.outlook.com
----------------------------------------
10 Records
Am I miscounting? Is there a way to consolidate?
You are not counting the contribution of the PTR directives:
ptr:protection.outlook.com
ptr:messaging.microsoft.com
ptr:o365filtering.com
That said, I'm not sure why you're including spf.microsoftonline.com. If you're using Office365 it should only be necessary to include spf.protection.outlook.com. See this link - https://technet.microsoft.com/en-us/library/dn789058%28v=exchg.150%29.aspx
Related
I trying doing the manual sanitization, however I am getting a type mismatch error in performing the calculations.
I also need help in sanitizing the data and getting the insight as per the below instructions:
The column sellerproductcount gives you the count of products in the
form '1-16 of over 100,000 results' , and you can parse out the product count 100,000.
sellerratings - this columns gives you the % and count of positive ratings (e.g. 88% positive
in the last 12 months (118 ratings) ) if parsed correctly
sellerdetails - you can use this text to parse out phone numbers, and email IDs of
merchants, where available, so our team can reach out to them.
businessaddress - this will give you the business locations of the sellers. You can parse them
to identify if a seller is registered in the US , Germany (DE), or China (CN).
Hero Product 1 #ratings and Hero Product 2 #ratings - these 2 columns give you the number of
ratings of the 2 'hero products' or bestselling products of this seller.
I have attached the dataset for the same.
https://docs.google.com/spreadsheets/d/1PSqRCnmFgq7v7RzZaCXXoV0Edp_vM7QO/edit?usp=sharing&ouid=115547990006782902200&rtpof=true&sd=true
Most of this type of data prep can be done with string & RegEx functions like REGEX_MATCH(). Here are a few examples based on the data you shared:
Seller Product Count
INT(REGEXP_EXTRACT([Sellerproductcount], '(\d*,?\d*) results'))
1-16 of over 6,000 results >> 6000
Seller Rating (Percentage)
INT(REGEXP_EXTRACT([Sellerratings], '(\d*)% positive'))
92% positive in the last 12 months (181 ratings) >> 92
Seller Rating (Count)
INT(REGEXP_EXTRACT([Sellerratings], '(\d*) (?:total )?ratings'))
92% positive in the last 12 months (181 ratings) >> 181
Business Country Code
RIGHT([Businessaddress],2)
AM Treptower Park28-30Berlin12435DE >> DE
These examples all have very straightforward patterns that are present in all rows so they can be done pretty easily with one simple calculation. However, something like sellerdetails which is unstructured, inconsistent, and sometimes incomplete will be a bit more of a challenge. You will need to use a couple of different calculations and techniques combined together to find what you are looking for, as well as some manual data prep. Here's an example of how you can pull out email but it won't work for everything:
Email
REGEXP_EXTRACT([Sellerdetails], '([a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+#[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*)')
Good luck with your data cleaning, I suggest using sites like https://regex101.com/ and https://regexr.com/ to learn more about and help test regular expressions.
Hello Stack Overflow community,
I am trying to send an email from Tableau, but I can't figure it out how to split the body of the email into multiple rows.
I have three fields: , and .
The email must be structured in this way:
with $ in total revenue in the last 7 days
with $ in total revenue in the last 7 days
with $ in total revenue in the last 7 days
I've created the following URL action : mailto:XYZ?Business&body= with total <SUM(Revenue)> revenue in the last 7 days
When selecting multiple sellers at the same time, I get this:
"Seller A-Seller B-Seller C - with total $15 946-$3 412-$31 505 PD-PD-PA revenue in the last 7 days".
Do you know how (if possible) to split that text in multiple lines?
And if so, how can I send the email automatically, without having to manually click on the seller's name?
Sorry for the silly question, I am relatively new to Tableau.
Many thanks!
It used to be possible to send a formatted email from Tableau. However, I believe this was made not possible as a security precaution back in 2020.
I haven't tried in later versions of Tableau to know if it's possible again.
I just signed up for SendGrid and I need to add these (top image) SendGrid CNAME records to my Google domain. The issue is that it doesn't tell me what to put into the first field ("#"). If I leave it blank I get an error (see bottom image). Please help.
PS: Adding www as per the Google Domains Help page gives me a naming conflict as there is already an A record with www.
You need to add the CNAME records with the domain you are trying to authenticate removed from the host name. For example, if you are trying to authenticate the domain abc.com, SendGrid will show three CNAME records with host names: emXXXX.abc.com, s1._domainkey.abc.com and s2._domainkey.abc.com. In Google Domains you will need to add three custom resource records of type CNAME with names: emXXXX, s1._domainkey and s2._domainkey. For each of these you must add the value SendGrid provides as the data of the CNAME record. It can take a while for the information to propagate, so verification won't work straight away. Retry after a few hours.
Made this mistake myself with Google domains and realized it few days later (I was waiting for upto 48 hours for CNAME update to propagate as informed by message after you save CNAME record).
Anyway, assuming your google domain is xyz.com and you want to add a CNAME record where someprefix.xyz.com should redirect to somesite.com.
WRONG way of doing this:
----------------------------------------------------------------------
| someprefix.xyz.com | CNAME | 1 | somesite.com | ❌
----------------------------------------------------------------------
RIGHT way of doing this:
--------------------------------------------------------------
| someprefix | CNAME | 1 | somesite.com | ✅
--------------------------------------------------------------
It took me a few days to figure out the issue. It's quite misleading based on what SendGrid shows you. Anyway, the solution is simple. When you copy from SendGrid, make sure you delete the name of your domain when you paste it in Google Domains field. For example:
Your domain is ABC.COM
From SendGrid you will have:
------------------------------------------------------------------------------
| url444.ABC.COM (COPY) | u2225555.cf555.sendgrid.net (COPY) |
------------------------------------------------------------------------------
When you go to Google Domains to add a record, you will type: url444
and then you select CNAME from the dropdown menu, leave the default value for TTL to 1, and in the next field you will put whatever SendGrid provided with no deletion. So, in Google you should have:
------------------------------------------------------------------------------
| url444.ABC | CNAME | 1 | u2225555.cf555.sendgrid.net |
------------------------------------------------------------------------------
Mr.Hunt is correct. The reason for this is because when adding a CNAME record through the domains.google.com platform, it automatically appends your domain name to the end of the host name field, so if you choose the copy option from the SendGrid Domain Authentication page, it will add your domain name in twice. So in short just remove your domain name when pasting into the host name field.
I am trying to determine the total amount of messages sent from my G Suite account. I am streaming my logs to BigQuery.
Messages may appear in the logs multiple times so I can count the distinct message headers.
SELECT
count (DISTINCT message_info.rfc2822_message_id) as MessageIDCount
FROM `my data set`
This would count total inbound and outbound, so if I only want outbound I can add WHEN message_info.message_set.type = 8.
But the Sending Limits for gmail https://support.google.com/a/answer/2956491#sendinglimitsforrelay
The sending limits are not just total messages sent it counts based on the number of recipients.
I am interested in running a query that will provide total number of messages sent where if I sent an email to 2 people it would count as 2, If I sent to 10 it would count as 10, etc.
Essentially I want to determine how close I was to hitting sending limits for a given day.
Any Suggestions?
Below is for BigQuery Standard SQL
#standardSQL
SELECT
DATE(TIMESTAMP_MICROS(event_info.timestamp_usec)) day,
COUNT(address) AS total_recipients
FROM `project.dataset.gmail_log`,
UNNEST(message_info.destination) AS destination
WHERE EXISTS (SELECT 1 FROM UNNEST(message_info.message_set) WHERE type = 8)
GROUP BY day
it will return daily total number of recipients in below format
Row day total_recipients
1 2019-01-10 100
2 2019-01-11 100
3 2019-01-12 100
4 2019-01-13 100
5 2019-01-14 100
I am facing some difficulties while developing a report. The problem is that I am getting a number of values in the Details section and I want only to display the record which it is having the maximum event number for each group (one record to be shown for each group).
My report structure is:
GH1:{Deal_NO} 1 -- Suppressed
Details:{Deal_NO} {Amount} {Event_no} {Comments}
1 1000 222 Rate
1 2345 655 Principal
1 444 111 Sell
GF1: {Deal_NO} -- Suppressed
So, my result should be:
1 2345 655 Principal
So, please instruct me on how to do that.
I tried to define in the Group Selection under Select Expert:
{Event.Event_no}=maximum({Event.Event_no},{Deal_No}), but some deals were disappeared.
You can't use that logic with record or group selection. Instead, use the logic you have but use it to suppress the Details Section. So,
//Suppress Details if the current record is not the record with the
// maximum amount for the group
{Event.Event_no}<>maximum({Event.Event_no},{Deal_NO})
Now, when you run the report every record will be suppressed except for the one with the maximum amount per group.