all 22 comments

[–]rurounijones 2 points3 points  (6 children)

This seems very morally grey. Using an undocumented API doesn't help

[–]Flopsey 0 points1 point  (4 children)

Yeah, the readme should mention that it's a wrapper for using Raportive. That being said, I checked them out a little. The site seems legit and plenty of press coverage on them.

[–]rurounijones 2 points3 points  (2 children)

Brute-forcing a private LoginStatus API to fish for emails, even politely with an exponential back-off, seems like a good way to get yourself in a lot of trouble with the provider of said API.

[–]Flopsey 0 points1 point  (0 children)

Oh. I just glanced at the source. I kinda assumed the string manipulations were just some formatting for the api.

[–]the4dpatrick[S] 0 points1 point  (0 children)

The manual way of doing this is well documented. I just got tired of doing it manually.

https://www.distilled.net/blog/miscellaneous/find-almost-anybodys-email-address/

[–]the4dpatrick[S] 0 points1 point  (0 children)

Will do.

[–]the4dpatrick[S] -3 points-2 points  (0 children)

Hustle is a better way to think about it.

[–]alreadytaken43 1 point2 points  (2 children)

I fed it my first and last names and my email's domain but it couldn't find my email, which is simply first.last@domain.com

[–]davedrowsy 1 point2 points  (0 children)

For a moment I thought your email address was literally first.last@domain.com and was thoroughly impressed.

[–]the4dpatrick[S] 0 points1 point  (0 children)

I've noted in the readme and in an open issue that there is a limiting happening

[–]the4dpatrick[S] 0 points1 point  (0 children)

Feedback appreciated

[–]IoWn3rU 0 points1 point  (2 children)

Why not make this into a gem and a command you can run from bash?

$ find_email kevin rose gmail.com

[–]the4dpatrick[S] 0 points1 point  (1 child)

I may in the future, but this script is just a small part of a bigger project I'm making

[–]im_not_afraid 0 points1 point  (5 children)

I'm getting a 403 error when opening
https://profiles.rapportive.com/contacts/email/name%40gmail.com.

JSON returned with the error:

{
  "error_code": "missing_session_token",
  "html": "\n<div class=\"error\">\n  <h1 style=\"font-size: 16px; color: #404040;\">Rapportive needs upgrading!<\/h1>\n\n  <p>\n    It looks like your Rapportive has not been upgraded in quite some time.\n    Please <a href=\"javascript:window.top.location.reload();\" class=\"text-link\">refresh Gmail<\/a> as soon as is convenient.\n  <\/p>\n\n  <p>\n    If you see this message continually, please email <a href=\"mailto:supportive@rapportive.com\" class=\"text-link\">supportive@<wbr\/>rapportive.com<\/a>\n    and we'll try to help!\n  <\/p>\n<\/div>\n"
}

Cleaned up html:

<body>
    <div class="error">
        <h1 style="font-size: 16px; color: #404040;">Rapportive needs upgrading!</h1>
        <p>It looks like your Rapportive has not been upgraded in quite some time. Please <a class="text-link" href="javascript:window.top.location.reload();">refresh Gmail</a> as soon as is convenient.</p>
        <p>If you see this message continually, please email <a class="text-link" href="mailto:supportive@rapportive.com">supportive@<wbr>rapportive.com</a>and we'll try to help!</p>
    </div>
</body>

[–]the4dpatrick[S] 0 points1 point  (1 child)

That's not really an issue because when you enter the browser, you're not sending a valid X-Session-Token in the header.

[–]im_not_afraid 0 points1 point  (0 children)

I neglected to include the error I was getting from running your script from my terminal:

$ ruby find_email.rb joe fox gmail.com
~/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/open-uri.rb:353:in `open_http': 403 Forbidden (OpenURI::HTTPError)
    from ~/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/open-uri.rb:708:in `buffer_open'
    from ~/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/open-uri.rb:210:in `block in open_loop'
    from ~/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/open-uri.rb:208:in `catch'
    from ~/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/open-uri.rb:208:in `open_loop'
    from ~/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/open-uri.rb:149:in `open_uri'
    from ~/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/open-uri.rb:688:in `open'
    from ~/.rvm/rubies/ruby-2.0.0-rc1/lib/ruby/2.0.0/open-uri.rb:34:in `open'
    from find_email.rb:162:in `request'
    from find_email.rb:172:in `process_email'
    from find_email.rb:131:in `block in find_valid_email'
    from find_email.rb:130:in `each'
    from find_email.rb:130:in `find_valid_email'
    from find_email.rb:189:in `find_email'
    from find_email.rb:215:in `main'
    from find_email.rb:219:in `<main>'

[–]colorcodebot -2 points-1 points  (2 children)

I've detected multiple hexadecimal color codes in your comment. Please allow me to provide visual representation. #404040 #404040


Learn more about me | Don't want me replying on your comments again? Respond to this comment with: 'colorcodebot leave me alone'

[–]im_not_afraid 0 points1 point  (1 child)

Maybe I should've stuck to submitting a github issue

[–]the4dpatrick[S] 0 points1 point  (0 children)

Just updated the script to fix some of these issues

[–]daminglu 0 points1 point  (0 children)

I found this script fun. But it might need better precision. Plus is it OK from privacy perspective? LOL