|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
verify if a given email address is existHi,
I wrote an application with VS2005 to send mail, while the application works fine. I am trying to find a way to reduce email address bounce backs, is there a .Net (or command line) method via which I could verify if a given email address is exist. To clarify, I am trying to validate beyond the domain, I would like to validate if the mailbox is present at a SMTP server, so that I can ping the gmail SMTP server to see if mailbox***@gmail.com does not exist in their server so that my application will not sent the email. Any pointers would be greatly appreciated.. btw, I looked into Telnet's VRFY but apparently is not supported under windows??? Thanks in advanced, Raf On 2007-11-05 18:34:37 -0800, RGF <Raf.Figue***@gmail.com> said:
> Hi, I would be very surprised if you could do this, given that verifying an > I wrote an application with VS2005 to send mail, while the application > works fine. I am trying to find a way to reduce email address bounce > backs, is there a .Net (or command line) method via which I could > verify if a given email address is exist. > > To clarify, I am trying to validate beyond the domain, I would like to > validate if the mailbox is present at a SMTP server, so that I can > ping the gmail SMTP server to see if mailbox***@gmail.com does not > exist in their server so that my application will not sent the email. email account at an SMTP server without a valid password would be a significant security risk. You mention gmail.com, but if you're looking for a more general solution you should also understand that not all email addresses correspond to a same-named SMTP account on the same domain. Email aliases, forwarding, and other factors can result in the email address being completely unrelated to the email account actually used to receive a message sent to the address. Basically, you should just deal with the bounces. If you're writing any sort of responsible mail client, you won't be having enough bounces for them to be a problem. There's not really any practical way to do what you want anyway. Pete It's not really possible to do what you ask. Not with any kind of
certainty. I found this on the website for a product that claims to be able to validate e-mail addresses as much as possible without actually sending the e-mail. -- Show quoteA Word about Email Validation Email validation is a tricky process. aspNetMX has made this process incredibly simple and powerful. The only correct way to verify an email address exists is to send a mailbox an email and see if you receive a bounce back email or NDR (Non-Deliverable Receipt). aspNetMX goes as far as possible in attempting to validate email addresses WITHOUT sending an actual email. There are a couple of issues to be aware of when validating email addresses at the MXValidateLevel.Mailbox level. Positive Validation when a Mailbox doesn't exist Some mail servers always return a positive response that a mailbox exists, and it is only until an email is sent to a mailbox, that the server responds with a negative response saying a mailbox does not exist. Microsoft's exchange server is notorious for doing this. However, we have optimized aspNetMX to help with this situation, and return faster results against these known servers. MXValidateLevel.Mailbox can be a Time Intensive Process To better explain what happens under the covers when an email addresses is tested to Mailbox level, the following steps occur: 1. The email addresses is syntactically checked. 2. If the email address is valid, a DNS Lookup for MX Records is made. This involves network calls to DNS Servers to see if MX Records exist. If the binary MX Records exist, and are returned to aspNetMX, aspNetMX turns the records into a usable form. 3. If the MX Records return the names of the Mail Servers, and not the IP addresses of the mail servers, another DNS call is made to lookup the actual IP addresses. 4. Once the IP addresses have been determined, another network call is made, this time to the email address's SMTP server. If the mail server is not responding, and there are fail over MX Records, aspNetMX will resolve each of the additional MX Records to IP addresses and then attempt to make a successful SMTP connection. 5. Once a SMTP session has been established, standard SMTP commands are issued against the mail sever to determine if a mailbox exists for the email address. To protect against email harvesting, some mail servers will always return a positive response, saying a mailbox exists, when in fact, it doesn't. Also, a DNS Server or SMTP server may be down at the very instance you are attempting to validate an email address. Thus aspNetMX could accidentally mark that email address as not valid, when in fact it is. It's recommended that you test failed email addresses a couple of times, at different times, to verify they are in fact bad. aspNetMX has been highly optimized, unfortunately, most of the time-intensive issues that affect email validation are outside of the control of aspNetMX. These include the across-the-internet or across-the-network DNS lookups, and the across-the-internet SMTP calls. Depending upon your network speed, and the remote SMTP server, the whole process may be completed in a few milliseconds, however, we've seen it take as long as 60 seconds. To help with this, aspNetMX utilizes a number of built-in higher-performance techniques. Check out aspNetMX's High Performance Features. -- Andrew Faust andrew[at]andrewfaust.com http://www.andrewfaust.com "RGF" <Raf.Figue***@gmail.com> wrote in message news:1194316477.563607.97930@22g2000hsm.googlegroups.com... > Hi, > I wrote an application with VS2005 to send mail, while the application > works fine. I am trying to find a way to reduce email address bounce > backs, is there a .Net (or command line) method via which I could > verify if a given email address is exist. > > To clarify, I am trying to validate beyond the domain, I would like to > validate if the mailbox is present at a SMTP server, so that I can > ping the gmail SMTP server to see if mailbox***@gmail.com does not > exist in their server so that my application will not sent the email. > > Any pointers would be greatly appreciated.. > > btw, I looked into Telnet's VRFY but apparently is not supported under > windows??? > > Thanks in advanced, > Raf > Hi,
Actually you can do this, just send EHLO/HELO,MAIL FROM: and then RCPT TO: This is probably 90% ccurate, because most servers reject invalid addresses before reahing data command. Though SMTP rfc allows rcpt to: to eat alll addresses and reject them on DATA command. Show quote "RGF" <Raf.Figue***@gmail.com> wrote in message news:1194316477.563607.97930@22g2000hsm.googlegroups.com... > Hi, > I wrote an application with VS2005 to send mail, while the application > works fine. I am trying to find a way to reduce email address bounce > backs, is there a .Net (or command line) method via which I could > verify if a given email address is exist. > > To clarify, I am trying to validate beyond the domain, I would like to > validate if the mailbox is present at a SMTP server, so that I can > ping the gmail SMTP server to see if mailbox***@gmail.com does not > exist in their server so that my application will not sent the email. > > Any pointers would be greatly appreciated.. > > btw, I looked into Telnet's VRFY but apparently is not supported under > windows??? > > Thanks in advanced, > Raf > On 2007-11-05 22:54:42 -0800, "ivar" <i***@lumisoft.ee> said: I see from the replies that I completely misunderstood the question. > Actually you can do this, > > just send EHLO/HELO,MAIL FROM: and then RCPT TO: > > This is probably 90% ccurate, because most servers reject invalid > addresses before reahing data command. > Though SMTP rfc allows rcpt to: to eat alll addresses and reject them > on DATA command. At least, having read the other two replies, now that I read the original post it means to me something completely different from what I thought it meant before. :) (For some reason I thought you were going to try to actually check for a valid login account on the SMTP server, rather than just asking the SMTP server if the email address is valid...maybe too much client-centric coding lately or something). I'll mention that many SMTP servers I've seen reject any traffic from other servers running on a dynamic IP address, but assuming you have a legitimate email server application, I'm guessing it would be running on a regular hosted static IP address. I do find myself wondering why, if you actually do have email to send, why you don't just go ahead and try to send it. It seems like unless you have some huge number of invalid email addresses (and if you do, the application seems suspicious to me), the overall bandwidth would be _higher_ doing this "ping, then send" process, since you'd waste more bandwidth doing the pings than the occasional bounce would cost. The whole thing seems kind of "spammy" to me. But since someone else has apparently already implemented this sort of thing, maybe there's a legitimate use for something like this after all. That's all rhetorical, by the way. There's not actually any need for you to justify your goal. :) Pete |
|||||||||||||||||||||||