Live data from Hacker News

Mining my mailbox for top email service providers

obem.be

71–80 of 110 posts

Re: Mining my mailbox for top email service providers

#71
post #27
post #23

I must admit that I was a bit shocked when I realized that the author had used javascript for this task. At first I assumed that he was scripting some webmail interface but then I saw that he was using 'emailjs-imap-client'. I understand that people use what they're familiar with and there seems to be a vibrant ecosystem for JS outside of the browser but it'll never not be weird seeing it take over what would once ha…

Modern JavaScript/TypeScript is fine. Especially when compared to Perl, of all languages.

unless you want any sort of 'system' interfacing like process execution control, etc.

Re: Mining my mailbox for top email service providers

#72
post #21

Earlier quoted context omitted.

This is a brilliant idea, if only it were updated for the latest gmail UI

https://www.inboxsdk.com/ lets you pretty easily manipulate the Gmail UI if you want to have a crack at it.

We (Streak) made the InboxSDK. Great for projects like this because we autoupdate so you can write the extension against our high level api and not have to worry about gmail changes going forward.

Let me know if we can help.

Re: Mining my mailbox for top email service providers

#73
I'm wondering the legality of this...

The emails in your mailbox aren't yours to do with as you please - they're all still owned by their original sender, who has given you an implicit license to read them, and store them for later re-reading.

You don't really have rights to datamine, aggregate, train AI on, post stats about, etc. the data in those emails. Its a violation of the rights of the original sender to do it without permission.

Re: Mining my mailbox for top email service providers

#74

[Nitpick] Instead of this: ;(async function () { try { // All your code } catch (e) { console.log(e) } })() Just do this: ;(async function () { // All your code })().catch(console.error) Overuse of try/catch is probably the #1 mistake I see when people use async/await.

Either way, I find the syntax of both to be extremely ugly. Arguably this may simply be me not getting JavaScript.

Starting a line with ; is just plain weird and the last bit })() seems like German, where all the stuff that you technically not need to understand the sentence is at the end.

Maybe someone can explain with JavaScript developers love anonymous functions so much. Why not just name your function and make the whole thing a bit more readable.

Re: Mining my mailbox for top email service providers

#75
post #58

Earlier quoted context omitted.

It always annoys me when some general purpose utility or script is written in JavaScript because I refuse to install node on my computer.

I'm curious, why do you refuse to install node on your computer?

Maybe he hates bloat?

Re: Mining my mailbox for top email service providers

#76
post #18

Earlier quoted context omitted.

> So it'd be very interesting to see what % of emails for each provider landed in Inbox vs Promotions/Spam/Junk folder. Are those percentages really a good measure of deliverability? I mean, a significant portion of “one million dollars for you” scams in my Gmail spam folder are from @gmail.com addresses; that doesn’t say anything about gmail.com to gmail.com deliverability.

Gmail is somewhat a special case because email services are kinda forced to accept inbound Gmail, even though it's quite a large source of scams and phishing attempts today. But for others, they'll still readily get blacklisted for a little while here and there. I was thinking about spam as I read the post too, since this is a problem I get to deal with almost daily. Marketo has a terrible signal-to-noise ratio and i…

>Gmail is somewhat a special case.. forced to accept inbound Gmail

Unless I misunderstood, the person you replied to literally says he has emails from @gmail.com throwing in his Gmail spam filter. So not sure why you mention Gmail is special here (regardless if it's true or not).

Re: Mining my mailbox for top email service providers

#77

Earlier quoted context omitted.

It would be more readable in almost any other widespread language, and I'm saying that as someone who does a lot of JS.

The biggest problem I have with JS in term of readability is IIFE. I know what it does, but it just looks ugly when you have hundreds of them in a program. The "semicolon in front" is even worse, needless to say. There gotta be a better way to design syntax for an async language.. right?

Wait, why do you need IIFE in post-ES6 JS? Just use let/const.

Re: Mining my mailbox for top email service providers

#78

It's interesting that this is missing a lot of major enterprise marketing email providers. The author clearly isn't subscribing to things like Best Buy's weekly deal email, or Target cart reminders.

It's missing basically every major email marketing provider. * Salesforce * IBM * Contact Contact * Campaign Monitor * HubSpot * ActiveCampaign etc etc

It can be quite hard to detect. A lot of this services will not have an easily recognizable marker.

It can be for various reasons:

* They can use these services themselves

* They can support full customization of domains, including for the "message-id" and the "received" headers.

I'm working as SRE in a fairly large marketing provider (not sure in term of %, but we provide services for quite a few large brands sending several millions emails per day), and we do this full customization by default. There are other way to recognize us (other headers in the email or the pattern for the tracked url for example), but the one described in the article will not work.

It would also be interesting to be able to detect which MTA is used by these service providers. Is it an in-house one or an off the shelf one? The two off the shelf ones I know for mass sending are Momentum and PowerMTA which are both owned by Sparkpost but they might be others.

Re: Mining my mailbox for top email service providers

#79

Earlier quoted context omitted.

The biggest problem I have with JS in term of readability is IIFE. I know what it does, but it just looks ugly when you have hundreds of them in a program. The "semicolon in front" is even worse, needless to say. There gotta be a better way to design syntax for an async language.. right?

Wait, why do you need IIFE in post-ES6 JS? Just use let/const.

Well, OP's example is using it, but I think it's for top level async/await (not a JS dev here)?

Re: Mining my mailbox for top email service providers

#80

[Nitpick] Instead of this: ;(async function () { try { // All your code } catch (e) { console.log(e) } })() Just do this: ;(async function () { // All your code })().catch(console.error) Overuse of try/catch is probably the #1 mistake I see when people use async/await.

Either way, I find the syntax of both to be extremely ugly. Arguably this may simply be me not getting JavaScript. Starting a line with ; is just plain weird and the last bit })() seems like German, where all the stuff that you technically not need to understand the sentence is at the end. Maybe someone can explain with JavaScript developers love anonymous functions so much. Why not just name your function and make t…

Not all JavaScript devs.

Love the language, hate the popularity of anonymous functions and non-descriptive variable names.

My production code as a sample. http://designbymobi.us/wp-content/uploads/2020/02/rabbitmq-c...

Post reply on HN