473,378 Members | 1,390 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

How to validate email-addresses?

Hi all,

I have a client with several shoe-shops.
Customers can leave their email-address if they want to be notified when there is a sale.
Input is validated with instr()
I am checking for @ and . (required) and also checking for spaces (not allowed).
But: A LOT (5-10%) of the addresses still are wrong; (provider doesn't exist) or email-address not valid (anymore).
When sending bulk-mail its a nasty problem to get the false addresses out of the 'mergetable'.

How are others dealing with this?
I guess I could use some kind of a 'provider'-table?
"jo*****@hotmail.com" is OK
"jo*****@hotnail.com" is wrong

Thanks,
Arno R
Nov 13 '05 #1
24 7070

"Arno R" <ar***********@tiscali.nl> schreef in bericht news:42*********************@dreader2.news.tiscali .nl...
Hi all,

I have a client with several shoe-shops.
Customers can leave their email-address if they want to be notified when there is a sale.
Input is validated with instr()
I am checking for @ and . (required) and also checking for spaces (not allowed).
But: A LOT (5-10%) of the addresses still are wrong; (provider doesn't exist) or email-address not valid (anymore).
When sending bulk-mail its a nasty problem to get the false addresses out of the 'mergetable'.

How are others dealing with this?
I guess I could use some kind of a 'provider'-table?
"jo*****@hotmail.com" is OK
"jo*****@hotnail.com" is wrong

Sorry for possible confusion ...
Where I say 'provider' I mean 'domain' of course.
The main problem is the string after the @

Arno R
Nov 13 '05 #2
I think the answer for this problem lies in some code which is outside the
topic of this discussion, but you might try some PHP code:

http://www.sitepoint.com/article/use...il-address-php

Linda

"Arno R" <ar***********@tiscali.nl> wrote in message
news:42*********************@dreader2.news.tiscali .nl...

"Arno R" <ar***********@tiscali.nl> schreef in bericht
news:42*********************@dreader2.news.tiscali .nl...
Hi all,

I have a client with several shoe-shops.
Customers can leave their email-address if they want to be notified when
there is a sale.
Input is validated with instr()
I am checking for @ and . (required) and also checking for spaces (not
allowed).
But: A LOT (5-10%) of the addresses still are wrong; (provider doesn't
exist) or email-address not valid (anymore).
When sending bulk-mail its a nasty problem to get the false addresses out of
the 'mergetable'.

How are others dealing with this?
I guess I could use some kind of a 'provider'-table?
"jo*****@hotmail.com" is OK
"jo*****@hotnail.com" is wrong

Sorry for possible confusion ...
Where I say 'provider' I mean 'domain' of course.
The main problem is the string after the @

Arno R
Nov 13 '05 #3
"Linda Burnside" <linda@nospam_burnsidebiz.com> wrote in
news:%p****************@newssvr17.news.prodigy.com :
I think the answer for this problem lies in some code which is
outside the topic of this discussion, but you might try some PHP
code:

http://www.sitepoint.com/article/use...il-address-php


Is there a RegExp add-in somewhere for Access?

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #4
On Sat, 18 Jun 2005 22:50:40 +0200, "Arno R" <ar***********@tiscali.nl> wrote:

"Arno R" <ar***********@tiscali.nl> schreef in bericht news:42*********************@dreader2.news.tiscali .nl...
Hi all,

I have a client with several shoe-shops.
Customers can leave their email-address if they want to be notified when there is a sale.
Input is validated with instr()
I am checking for @ and . (required) and also checking for spaces (not allowed).
But: A LOT (5-10%) of the addresses still are wrong; (provider doesn't exist) or email-address not valid (anymore).
When sending bulk-mail its a nasty problem to get the false addresses out of the 'mergetable'.

How are others dealing with this?
I guess I could use some kind of a 'provider'-table?
"jo*****@hotmail.com" is OK
"jo*****@hotnail.com" is wrong

Sorry for possible confusion ...
Where I say 'provider' I mean 'domain' of course.
The main problem is the string after the @

Arno R

Once a week I send messages to new listings just to thank them for their
interest. Then I delete all the addresses that bounce back. They're not worth
worrying about.

Chuck
--

Nov 13 '05 #5
> Once a week I send messages to new listings just to thank them for their
interest. Then I delete all the addresses that bounce back. They're not worth
worrying about.


This is a good idea and would work for me personally.

In the shops however this is not going to work.
-- They would have to send the mail to new listings (I can automate that ....)
-- They would have to wait for 'bouncers' (send and receive mail again)
-- They would have to search for the 'bounced' entry's and delete the mail addresses.
The personnel is simply not skilled enough to handle this.

But maybe someone at the main office could check the new entry's this way once in a while.
Thanks.

Arno R
Nov 13 '05 #6

"Linda Burnside" <linda@nospam_burnsidebiz.com> schreef in bericht news:%p****************@newssvr17.news.prodigy.com ...
I think the answer for this problem lies in some code which is outside the
topic of this discussion, but you might try some PHP code:

http://www.sitepoint.com/article/use...il-address-php


Thanks Linda. This is helpful but this is Windows and this is Access ...

On the command prompt > nslookup tiscali.nl gives me the following:
Server:
Address: 192.168.123.1

Name: tiscali.nl
Address: 195.241.78.68

On the command prompt > nslookup tiscoli.nl gives me the following:
Server:
Address: 192.168.123.1

*** can't find tiscoli.nl: Non-existent domain

Any idea how to use and interpret the result of this system call 'nslookup' with Access?

Arno R
Nov 13 '05 #7
David W. Fenton wrote:
"Linda Burnside" <linda@nospam_burnsidebiz.com> wrote in
news:%p****************@newssvr17.news.prodigy.com :

I think the answer for this problem lies in some code which is
outside the topic of this discussion, but you might try some PHP
code:

http://www.sitepoint.com/article/use...il-address-php

Is there a RegExp add-in somewhere for Access?


If you have Windows 2000 or higher, then it's there, because it's part
of VBScript. Just reference the "Microsoft VBScript Regular Expressions
5.5" library. Otherwise, install VBSCript 5.6 from Microsoft.

Then...

public sub fx(find, findin)
Dim rx As New RegExp
Dim mx As Match
rx.IgnoreCase = True
rx.Global = True
rx.Pattern = find
rx.Execute (findin)
'this sets up a Matches collection
For Each mx In MatchCollection
Debug.Print "found " & mx.Value & "!"
Next mx
end sub

For better code than this, google on "VBScript" and "RegExp".

Basically, what you need to do is:
1) make sure the pattern of the address is correct (i.e., us**@domain.com)
2) if you need to, then get the Domain.com part, and verify that it's
"alive", i.e., "ping domain.com" or "nslookup domain.com"

I think there might be a way via SMTP to check if the account exists on
the server (if it does SMTP...), but probably not. This just *INVITES*
spammers.
Nov 13 '05 #8

There used to be a method with the mail protocal called "Verify". You
could, using the same methodology as sending mail, "dial up" a mail
server and ask the server if the address was valid.

Sadly, for legitimate users of this method, the Spammers realized that
they could use this method to send out their ... stuff ... using real
mail addresses and thus make the whole process more "real" (regardless
of it being a rather weird form of "identity theft"). So mail servers
started turning this method off, in hopes of reducing the ammount of
spam.

Some servers still have the method in place, but mostly these days, you
just get back a message meaning "Invalid Command".

Most servers won't even bounce back invalid messages anymore, as the
spammers will know that the address is invalid. (Personally, this
seems silly to me, as it would reduce the server's stress from any
further messages from that spammer, but so be it.)

The only remaining way to determine if someone gets a message (and thus
the address being valid) is to send HTML mail, hope the user will
accept that, and send a link to picture. In that link is a bit of
identifying (but otherwise useless) code fragment. You can then take
the server logs (which will show that id, and compare it to the
database of what emails were sent out to determine what emails made it
to their destination, and which didn't.

This is not a 100% certain way since quite a number of people have HTML
email turned off (and they'll see the link with it's id rather then the
picture), or will have their HTML email settings set not to
automatically retrieve pictures (they also won't see the picture and
may or may not see the link depending upon what email program they are
using), or if they've chosen to reject all HTML email, they won't even
see the message.

Another way to do this is to use the same method banks and other "high
security " needs companies are going to. The email is just a
"reminder" that the content on your site has been updated. They have
to go to your site to retrieve that content (whatever the heck it is),
log in, and then they can get at your content. By tracking who's
logging in, you'll know (sort of) what emails are getting through,
except for those users who just go to your site when ever they feel
like it on regular basis regardless of what emails you've sent them.

Arno R wrote:
Once a week I send messages to new listings just to thank them for their
interest. Then I delete all the addresses that bounce back. They're not
worth worrying about.

This is a good idea and would work for me personally.
In the shops however this is not going to work.
-- They would have to send the mail to new listings (I can automate that ...)
-- They would have to wait for 'bouncers' (send and receive mail again)
-- They would have to search for the 'bounced' entry's and delete the mail
addresses.
The personnel is simply not skilled enough to handle this.
But maybe someone at the main office could check the new entry's this way once in a while.


Nov 13 '05 #9
On 19 Jun 2005 05:10:29 -0700, "Chuck Grimsby" <c.*******@worldnet.att.net>
wrote:
Big Snip
Most servers won't even bounce back invalid messages anymore, as the
spammers will know that the address is invalid. (Personally, this
seems silly to me, as it would reduce the server's stress from any
further messages from that spammer, but so be it.)

If the server doesn't bounce undeliverable mail, then maybe it's not important
to have those bad address in the database.

Is it possible to write code (not necessarily in Access) to examine incoming
mail for "undeliverable"?
If so, can the original send to address be stripped out of the message and put
into a file, .txt or .xls?
Then could such a file be used to update the database?

Long and drawn out, but possibly a program (C++ ?) could be written to
accomplish the task semi-automatically. I'll bet such a program would have
commercial possibilities.

Just a wizard prodder
Chuck
--

Nov 13 '05 #10
"Chuck Grimsby" <c.*******@worldnet.att.net> wrote in
news:11**********************@g43g2000cwa.googlegr oups.com:
The only remaining way to determine if someone gets a message (and
thus the address being valid) is to send HTML mail, hope the user
will accept that, and send a link to picture. In that link is a
bit of identifying (but otherwise useless) code fragment. You can
then take the server logs (which will show that id, and compare it
to the database of what emails were sent out to determine what
emails made it to their destination, and which didn't.
No, no, no and no!

HTML email is completely unnecessary.

I know of no email client that can't execute a plain-text URL, so
all you need to send is the URL.

Second, using "web bugs" doesn't work very well any longer because
most email clients block external images by default. Pegasus Mail
has done this for more than 5 years, and even Outlook does it since
the release of Outlook 2003 (Outlook is the least secure email
client you'll find anywhere).
This is not a 100% certain way since quite a number of people have
HTML email turned off (and they'll see the link with it's id
rather then the picture), or will have their HTML email settings
set not to automatically retrieve pictures (they also won't see
the picture and may or may not see the link depending upon what
email program they are using), or if they've chosen to reject all
HTML email, they won't even see the message.
HTML email should not be sent to anyone who hasn't explicitly
requested it.

And trying to use tricks in HTML to verify a user simply won't work
with the vast majority of end users -- you won't know anything for
certain except for the dumb people who are running old email
clients.

Just have a URL with a user ID in it that the user goes to in order
to verify their email address.

Indeed, these days you probably shouldn't be sending mass email
unless you've got a double opt-in, where the user requests the
subscription, you send them a URL to a web page where they go and
verify that, yes, they want to subscribe. Only then is their
subscription activated.

Today, you don't have to do that legally, but it's only a matter of
time, in my opinion, before any other kind of mass email will be
illegal. It is already the case that even legitimate list
subscriptions are often being rejected by overzealous spam filters.
Another way to do this is to use the same method banks and other
"high security " needs companies are going to. The email is just
a "reminder" that the content on your site has been updated. They
have to go to your site to retrieve that content (whatever the
heck it is), log in, and then they can get at your content. By
tracking who's logging in, you'll know (sort of) what emails are
getting through, except for those users who just go to your site
when ever they feel like it on regular basis regardless of what
emails you've sent them.


This is the only logical way to do it.

And it always *has* been the preferred method.

Keep in mind, though, that you want to make sure you do *not* encode
URLs at all. Don't do this:

<A href="http://MyLegitimateServer.com/UserName">Click here to
verify</a?

Just give them the raw URL. The reason is that some email clients
don't display the target URL plainly, and so, because of all the
phishing exploits that purposely obscure where the URLs actual
point, many users have become quite suspicious (and rightly so) of
URLs in email.

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #11
"Arno R" <ar***********@tiscali.nl> wrote in
news:42*********************@dreader2.news.tiscali .nl:
"Linda Burnside" <linda@nospam_burnsidebiz.com> schreef in bericht
news:%p****************@newssvr17.news.prodigy.com ...
I think the answer for this problem lies in some code which is
outside

the
topic of this discussion, but you might try some PHP code:

http://www.sitepoint.com/article/use...il-address-php


Thanks Linda. This is helpful but this is Windows and this is
Access ...

On the command prompt > nslookup tiscali.nl gives me
the following: Server:
Address: 192.168.123.1

Name: tiscali.nl
Address: 195.241.78.68

On the command prompt > nslookup tiscoli.nl gives me
the following: Server:
Address: 192.168.123.1

*** can't find tiscoli.nl: Non-existent domain

Any idea how to use and interpret the result of this system call
'nslookup' with Access?


With SHELL, write it to a text file by passing a commandline like:

nslookup [servername] >filename.txt

and then use VBA I/O functions to examine the results recorded in
filename.txt.

Keep in mind that there is an interaction here with the
workstation's HOSTS file that could give you spurious results. That
is, a host name could be mapped to an IP address that actually isn't
the correct one, and you could thus end up with results that are
erroneous.

Also, you have to be sure nslookup is allowed through a
workstation's software firewall.

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #12

"David W. Fenton" <dX********@bway.net.invalid> schreef in bericht news:Xn**********************************@24.168.1 28.78...
With SHELL, write it to a text file by passing a commandline like:

nslookup [servername] >filename.txt

and then use VBA I/O functions to examine the results recorded in
filename.txt.


Until now I can't get this to work ...
What am I doing wrong with this code here?

Dim lngRetVal As Long
Dim strCommand As String
strCommand = "nslookup tiscali.nl > c:\test\ns.txt"
lngRetVal = Shell(strCommand, vbHide)

Am I missing something?

Arno R
Nov 13 '05 #13
Chuck wrote:
On 19 Jun 2005 05:10:29 -0700, "Chuck Grimsby" <c.*******@worldnet.att.net>
wrote:
Big Snip
Most servers won't even bounce back invalid messages anymore, as the
spammers will know that the address is invalid. (Personally, this
seems silly to me, as it would reduce the server's stress from any
further messages from that spammer, but so be it.)
If the server doesn't bounce undeliverable mail, then maybe it's not
important to have those bad address in the database.
Is it possible to write code (not necessarily in Access) to examine incoming
mail for "undeliverable"?
If so, can the original send to address be stripped out of the message and
put into a file, .txt or .xls?
Then could such a file be used to update the database?
Long and drawn out, but possibly a program (C++ ?) could be written to
accomplish the task semi-automatically. I'll bet such a program would have
commercial possibilities.


No need for C++ or whatever for the return mail processing. Access can
do this on it's own, which is a good thing since that's what sending
out the email.

I'd need to have far more "intimate" knowledge of whatever mail client
is in use to give an accurate answer however. CDO is certainly one
option for a CDO compliant email client (outlook), but if whatever
client is in use isn't CDO compliant, the methodology could get more
complex.

Nov 13 '05 #14
"Arno R" <ar***********@tiscali.nl> wrote in
news:42*********************@dreader2.news.tiscali .nl:

"David W. Fenton" <dX********@bway.net.invalid> schreef in bericht
news:Xn**********************************@24.168.1 28.78...
With SHELL, write it to a text file by passing a commandline
like:

nslookup [servername] >filename.txt

and then use VBA I/O functions to examine the results recorded in
filename.txt.


Until now I can't get this to work ...
What am I doing wrong with this code here?

Dim lngRetVal As Long
Dim strCommand As String
strCommand = "nslookup tiscali.nl > c:\test\ns.txt"
lngRetVal = Shell(strCommand, vbHide)

Am I missing something?


I don't know. For one, Shell returns a DOUBLE, according to the A97
help file, but I don't think that's a problem, as you're not
attempting to use the value (which you've implicitly coerced to a
Long).

In general, I don't call these things directly, but put them in a
batch file, instead, like this:

nslookup %1 > %2

and then call this batch file with Shell:

Shell("LookupNS.bat tiscali.net c:\test\ns.txt")

My batch file looks like this:

@ECHO OFF
nslookup %1 > "%2"

And it seems to work just fine, whereas the original direct SHELL()
didn't.

I don't really know why one works and one doesn't.

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #15

"David W. Fenton" <dX********@bway.net.invalid> schreef in bericht news:Xn**********************************@24.168.1 28.86...
In general, I don't call these things directly, but put them in a
batch file, instead, like this:

nslookup %1 > %2

and then call this batch file with Shell:

Shell("LookupNS.bat tiscali.net c:\test\ns.txt")

My batch file looks like this:

@ECHO OFF
nslookup %1 > "%2"

And it seems to work just fine, whereas the original direct SHELL()
didn't.

I don't really know why one works and one doesn't.


Thanks David, it is working now.
I often had/have a kind of a 'struggle' with shell.
Also now, when I tried to read the file 'ns.txt' it was not there yet .....
I have to use the ShellWait - code to do the trick.

Q: Why do you use the double quotes here?
nslookup %1 > "%2"
They seem not to be needed, or ?

Arno R
Nov 13 '05 #16
"Arno R" <ar***********@tiscali.nl> wrote in
news:42*********************@dreader2.news.tiscali .nl:
"David W. Fenton" <dX********@bway.net.invalid> schreef in bericht
news:Xn**********************************@24.168.1 28.86...
In general, I don't call these things directly, but put them in a
batch file, instead, like this:

nslookup %1 > %2

and then call this batch file with Shell:

Shell("LookupNS.bat tiscali.net c:\test\ns.txt")

My batch file looks like this:

@ECHO OFF
nslookup %1 > "%2"

And it seems to work just fine, whereas the original direct
SHELL() didn't.

I don't really know why one works and one doesn't.
Thanks David, it is working now.
I often had/have a kind of a 'struggle' with shell.
Also now, when I tried to read the file 'ns.txt' it was not there
yet .... I have to use the ShellWait - code to do the trick.


Well, shell always seems something of a kludge to me -- not a
terribly good way to do things, but sometimes the simplest (or the
only) way to get a job done.

You could also write the batch file on the fly, which is something
I've done with FTP scripts in one of my clients' apps.
Q: Why do you use the double quotes here?
nslookup %1 > "%2"
They seem not to be needed, or ?


That way you can pass a path name with spaces in it. I would never
uses path or file names with spaces in them, but you don't know
where you'll be running your app -- your client may be putting your
application in a folder with a space in the path, so you'd better
handle that (and, of course, I'd always put a temp file like that in
the same folder as the front end).

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #17
David W. Fenton wrote:
"Arno R" <ar***********@tiscali.nl> wrote in
news:42*********************@dreader2.news.tiscali .nl:
"David W. Fenton" <dX********@bway.net.invalid> schreef in bericht
news:Xn**********************************@24.168.1 28.86...
In general, I don't call these things directly, but put them in a
batch file, instead, like this:

nslookup %1 > %2

and then call this batch file with Shell:

Shell("LookupNS.bat tiscali.net c:\test\ns.txt")

My batch file looks like this:

@ECHO OFF
nslookup %1 > "%2"

And it seems to work just fine, whereas the original direct
SHELL() didn't.

I don't really know why one works and one doesn't.
Thanks David, it is working now.
I often had/have a kind of a 'struggle' with shell.
Also now, when I tried to read the file 'ns.txt' it was not there
yet .... I have to use the ShellWait - code to do the trick.

Well, shell always seems something of a kludge to me -- not a
terribly good way to do things, but sometimes the simplest (or the
only) way to get a job done.


"Shell is a kludge", but using nslookup isn't?

Why not just use the GetHostByName API call?

Of course, neither will tell you that an email address is valid, only
that the server exists, or more accurately, exists in one of the DNS
databases out there. Whether or not the server is a mail server is
still questionable.

Nov 13 '05 #18
Chuck Grimsby wrote:

Of course, neither will tell you that an email address is valid, only
that the server exists, or more accurately, exists in one of the DNS
databases out there. Whether or not the server is a mail server is
still questionable.
Once upon a time you could finger an email address and get a report back
about it. I don't think a lot of mail servers support this any more.
Exchange doesn't seem to (I think fingerd was just a unix daemon
separate from the mail server anyway).
C:\Documents and Settings\trevor>finger trevor@sidious

[sidious]
Finger: connect::Connection refused


:-(

--
[OO=00=OO]
Nov 13 '05 #19

"Chuck Grimsby" <c.*******@worldnet.att.net> schreef in bericht news:11**********************@g14g2000cwa.googlegr oups.com...
"Shell is a kludge", but using nslookup isn't?

Why not just use the GetHostByName API call? Of course, neither will tell you that an email address is valid, only
that the server exists, or more accurately, exists in one of the DNS
databases out there. Whether or not the server is a mail server is
still questionable.


I Googled for this GetHostByName call (found it at mvps.org).
I also found a 'LookupIPAddress' function that was derived from similar code (it seems)

I tried all of it today and I ran some tests:
==>> Checking 130 domain-records:
-- Looping the recordset with nsLookup (including writing to a file and reading from the file) took 64 seconds.
-- Same loop with LookupIPAddress took 160 seconds ...
-- Same loop with fGetHostIPAddresses took 146 seconds ...

BUT, what is even more important: nsLookup validated far more domains!
The difference was 43 records that were validated with nsLookup and *not* by the other two functions.

The results from the other functions were *exactly* the same (similar code, so this is no surprise ...)
But why does nslookup find more domains? Is this nameserver more 'local' or what?

Any ideas?

Arno R
Nov 13 '05 #20
"Arno R" <ar***********@tiscali.nl> wrote in
news:42*********************@dreader2.news.tiscali .nl:

"Chuck Grimsby" <c.*******@worldnet.att.net> schreef in bericht
news:11**********************@g14g2000cwa.googlegr oups.com...
"Shell is a kludge", but using nslookup isn't?

Why not just use the GetHostByName API call?

Of course, neither will tell you that an email address is valid,
only that the server exists, or more accurately, exists in one of
the DNS databases out there. Whether or not the server is a mail
server is still questionable.


I Googled for this GetHostByName call (found it at mvps.org).
I also found a 'LookupIPAddress' function that was derived from
similar code (it seems)

I tried all of it today and I ran some tests:
==>> Checking 130 domain-records:
-- Looping the recordset with nsLookup (including writing to a
file and reading from the file) took 64 seconds. -- Same loop with
LookupIPAddress took 160 seconds ... -- Same loop with
fGetHostIPAddresses took 146 seconds ...

BUT, what is even more important: nsLookup validated far more
domains! The difference was 43 records that were validated with
nsLookup and *not* by the other two functions.

The results from the other functions were *exactly* the same
(similar code, so this is no surprise ...) But why does nslookup
find more domains? Is this nameserver more 'local' or what?

Any ideas?


Well, none of them is a proxy for validating an email address, but I
guess they could definitely be used for validating a domain.

However, again, I caution that you could get non-reliable results if
there's an entry in the local HOSTS file or if there is DNS
poisoning going on somewhere up the line.

Of course, if either of those is the case, you've got bigger
problems than just whatever you're doing to validate the email
address.

Personally, I don't think it's possible any longer to send email
from Access, except one at a time. Any mass emailing from a client
PC is going to get tagged as spam in too many cases to be a valid
action. A client of mine that had been email 1500 people 4 times a
year from the Access app I built for them for the last 3 or 4 years
has now moved to a web-based mass emailing service, CoolerMail.com,
and is having much better results. I really do think that's the wave
of the future.

Now, if those services published web interfaces that you could
program Access to use, then you could get back in the business of
sending email from Access. But until that's the case, I don't think
Access is usable for generating anything but single emails.

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #21
"David W. Fenton" <dX********@bway.net.invalid> wrote in message
Personally, I don't think it's possible any longer to send email
from Access, except one at a time. Any mass emailing from a client
PC is going to get tagged as spam in too many cases to be a valid
action. A client of mine that had been email 1500 people 4 times a
year from the Access app I built for them for the last 3 or 4 years
has now moved to a web-based mass emailing service, CoolerMail.com,
and is having much better results. I really do think that's the wave
of the future.

Now, if those services published web interfaces that you could
program Access to use, then you could get back in the business of
sending email from Access. But until that's the case, I don't think
Access is usable for generating anything but single emails.


That's an interesting view. I too have clients who email from within Access.
If it's a dead end then I may as well investigate alternatives now.

Are you saying that spam trap software identifies multiple emails sent from
the same machine (is the machine name/IP in the header?) and marks it as
spam? Where would that happen? Presumably on the first SMTP server that it
reaches.

What specific problems was your client having?

Presumably this has nothing to do with Access itself. The same would apply
to any mass (though legitimate) email sent from one machine. In which case
how is genuine mass email ever going to work?

Yours, Mike
Nov 13 '05 #22
"Mike MacSween" <mi***************************@btinternet.com> wrote
in news:42***********************@news.aaisp.net.uk:
"David W. Fenton" <dX********@bway.net.invalid> wrote in message
Personally, I don't think it's possible any longer to send email
from Access, except one at a time. Any mass emailing from a
client PC is going to get tagged as spam in too many cases to be
a valid action. A client of mine that had been email 1500 people
4 times a year from the Access app I built for them for the last
3 or 4 years has now moved to a web-based mass emailing service,
CoolerMail.com, and is having much better results. I really do
think that's the wave of the future.

Now, if those services published web interfaces that you could
program Access to use, then you could get back in the business of
sending email from Access. But until that's the case, I don't
think Access is usable for generating anything but single emails.
That's an interesting view. I too have clients who email from
within Access. If it's a dead end then I may as well investigate
alternatives now.

Are you saying that spam trap software identifies multiple emails
sent from the same machine (is the machine name/IP in the header?)
and marks it as spam? Where would that happen? Presumably on the
first SMTP server that it reaches.


Well, there are any number of things that can happen:

1. your ISP can throttle the number of messages you can send, on the
theory that only spammers send large numbers of messages (that's if
you're sending an individual message to each).

2. your ISP may refuse messages with large numbers of addresses in
the FROM or CC or BCC headers, on the theory that this is evidence
of intent to spam.

3. other ISPs may mark your message as spam for that reason.

4. if you're running the SMTP locally on your workstation, many ISPs
will mark it as spam because the RBLs that they subscribe to have
all dynamic IPs blacklisted.

5. if you have a dedicated IP address, but reverse DNS lookup
doesn't show an MX record for a mail server on that IP address, some
mail servers will reject that as spam.
What specific problems was your client having?
They had numbers 1-3 above, that we knew of, It could have been that
they encountered 4-5 as well, but probably not, as they were using
their ISP's SMTP server to send the mail, so their dynamic IP
shouldn't have been in the headers.
Presumably this has nothing to do with Access itself. The same
would apply to any mass (though legitimate) email sent from one
machine. In which case how is genuine mass email ever going to
work?


Mass emailing from a workstation is not going to work any longer.
That's the source of all the spam, zombified workstations acting as
SMTP servers churning out massive amounts of spam.

You need to send your mass emailings from a legitimate mail server,
with a reverse DNS that resolves with a valid MX record for the mail
server.

Another option is to use mailing list software to mass email. That
has certain other advantages, such as when using something like
Mailman you have a built-in Web interface for people to
subscribe/unsubscribe themselves from your mailing list. But, again,
it has to be running on a legitimate host, such as your ISP, or on
your own domain.

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #23
David W. Fenton" <dX********@bway.net.invalid> wrote in message
news:Xn**********************************@24.168.1 28.86...
1. your ISP can throttle the number of messages you can send, on the
theory that only spammers send large numbers of messages (that's if
you're sending an individual message to each).

2. your ISP may refuse messages with large numbers of addresses in
the FROM or CC or BCC headers, on the theory that this is evidence
of intent to spam.

3. other ISPs may mark your message as spam for that reason.

4. if you're running the SMTP locally on your workstation, many ISPs
will mark it as spam because the RBLs that they subscribe to have
all dynamic IPs blacklisted.

5. if you have a dedicated IP address, but reverse DNS lookup
doesn't show an MX record for a mail server on that IP address, some
mail servers will reject that as spam.
What specific problems was your client having?
They had numbers 1-3 above, that we knew of, It could have been that
they encountered 4-5 as well, but probably not, as they were using
their ISP's SMTP server to send the mail, so their dynamic IP
shouldn't have been in the headers.

Mass emailing from a workstation is not going to work any longer.


Rather a bold assertion, but I'll look into it.

I suppose the question here is the definition of 'mass emailing'. An ISP
that stops people sending a happy xmas email to 20 family members is going
to find themselves out of business pretty soon, surely?

At the moment a mass email for at least one of my clients consists of =< 40
emails. But with others it's easy to imagine in the future that number
getting up to >4000.

At the moment I'm entirely using the ISPs' SMTP servers, so problems 4,5
above shouldn't apply. Will authenticated SMTP not solve this problem, as it
becomes widespread?

Mike
Nov 13 '05 #24
"Mike MacSween" <mi***************************@btinternet.com> wrote
in news:42***********************@news.aaisp.net.uk:
David W. Fenton" <dX********@bway.net.invalid> wrote in message
news:Xn**********************************@24.168.1 28.86...
1. your ISP can throttle the number of messages you can send, on
the theory that only spammers send large numbers of messages
(that's if you're sending an individual message to each).

2. your ISP may refuse messages with large numbers of addresses
in the FROM or CC or BCC headers, on the theory that this is
evidence of intent to spam.

3. other ISPs may mark your message as spam for that reason.

4. if you're running the SMTP locally on your workstation, many
ISPs will mark it as spam because the RBLs that they subscribe to
have all dynamic IPs blacklisted.

5. if you have a dedicated IP address, but reverse DNS lookup
doesn't show an MX record for a mail server on that IP address,
some mail servers will reject that as spam.
What specific problems was your client having?
They had numbers 1-3 above, that we knew of, It could have been
that they encountered 4-5 as well, but probably not, as they were
using their ISP's SMTP server to send the mail, so their dynamic
IP shouldn't have been in the headers.

Mass emailing from a workstation is not going to work any longer.


Rather a bold assertion, but I'll look into it.

I suppose the question here is the definition of 'mass emailing'.
An ISP that stops people sending a happy xmas email to 20 family
members is going to find themselves out of business pretty soon,
surely?


That's not what *I* meant by mass emailing, but if an ISP defines it
that way, you have to deal with it, whether you think it's a stupid
definition or not.
At the moment a mass email for at least one of my clients consists
of =< 40 emails. But with others it's easy to imagine in the
future that number getting up to >4000.
Sending out 40 individually addressed emails is probably not going
to be a problem. Sending out a single email addressed to 40 people
probably will get rejected for some portion of the recipients.

Doing either to 4000 recipients is going to be a problem.
At the moment I'm entirely using the ISPs' SMTP servers, so
problems 4,5 above shouldn't apply. Will authenticated SMTP not
solve this problem, as it becomes widespread?


It depends on whether or not ISPs decide to throttle their SMTP
servers to prevent legitimate subscribers from sending mass emails.

I have been working with this set of issues with various of my
clients for several years now, and I've looked at all the
alternatives. The real way to do this is with a hosted mailing list.
That avoids all the problems I outlined while also adding a host of
useful management features.

--
David W. Fenton http://www.bway.net/~dfenton
dfenton at bway dot net http://www.bway.net/~dfassoc
Nov 13 '05 #25

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Techy | last post by:
I have two fields in my form so called : invoice and cash Now I want to validate this form on the client side with the help of javascript in such a way that if one of these fields is empy an...
3
by: Martin | last post by:
Hi, I am implemeting a form in asp.net. The form is quite large and the validation is reasonably complex, so I have decieded to implement my own validation rather than use any custon...
3
by: Mike Logan | last post by:
How do I validate messages? If my schema has a simpleType with facets like "minExclusive" and "maxLength" will the .Net framework validate the message before running the web service? This is what...
1
by: Joey | last post by:
Does anyone know how to validate only one certain control in server side code on postback? Instead of Page.Validate() and Page.IsValid, is there some functionality equivalent to...
11
by: jjbutera | last post by:
I know how to use the ErrorProvider in my winforms..or do I? I validate the values and set the ErrorProvider in the validating event. If not valid, I set e.Cancel = True. I clear the ErrorProvider...
11
by: TokyoJ | last post by:
I run a small camp in Alaska for kids and my director is asking for a web form. Could someone please have a look and offer some advice on where I'm making mistake(s)? I'm using the RegExp function...
26
by: webrod | last post by:
Hi, I have some php pages with a lot of HTML code. I am looking for a HTML validator tool (like TIDY). TIDY is not good enough with PHP tags (it removes a lot of php code). Do you have any...
1
by: SkipNRun | last post by:
I am a novice when comes to JavaScript, AJAX. I am working on a form, which will allow users to update their contact information. In order to make the form flexible, I need to use pull down list. ...
5
by: Ganesh | last post by:
Hi There, I need to validate email address with regular expression control, i tried something like this ^+*@*\.*$ but i need to validate even if it is blank, it should say invalid email,...
24
by: Mike Hofer | last post by:
Please forgive the cross-post to multiple forums. I did it intentionally, but I *think* it was appropriate given the nature of my question. I'm working on an open source code library to help...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.