Hi Steve,
For robust e-mail tracking, you might be best off using either Total Access
E-mailer from FMS (
http://www.fmsinc.com/products/Emailer/index.asp) or
Fairlogic WorldCast (
http://www.fairlogic.com/worldcast/). Those are two that
I am aware of--there may be other software products as well. Both of these
products allow one to send HTML formatted messages, and include a transaction
log so that you can see which messages were not delivered correctly. I'm
fairly certain that both products send individual e-mail messages out to each
recipient.
I put together an Access only sample that might serve your needs okay, but
it is certainly not as robust as the above two solutions. You can download a
zipped copy here:
http://home.comcast.net/~tutorme2/samples/ContactEmailDemo.zip
It sends a text only message using the DoCmd.SendObject method, with a MAPI
compliant e-mail program, such as Outlook or Outlook Express. The e-mail
addresses of the people that you are sending to are entered on the Bcc (blind
copy) line. You will need to either hard-code a valid "To:" address, or add a
text box control, so that this can be entered by the user. However, a couple
of caveats:
1.) A new e-mail message opens in edit mode. If the user clicks on the "X"
in the upper right corner, to close the message without sending it, I don't
see any way offhand of stopping the update statement that updates the EMail
Information table, at least when I tested using Outlook Express. (I did not
test this code using Outlook).
2.) If one or more messages failed to deliver, due to bad e-mail addresses,
the code will still add a record for this person to the EMail Information
table.
3.) This should work "okay" (but certainly not great), as long as you do not
exceed whatever number of e-mail addresses that your ISP might flag as spam.
For some ISP's this number of e-mail addresses is in the 40~50 range. An
workaround would be to send in batches of 40 or 50 until the entire recordset
was processed, or you could perhaps fire off individual messages to each
recipient (in which case you would not use the current hard-coded "To" e-mail
address).
4.) Currently, the only criteria is Email address is not null. One could,
with some extra coding, create a multiselect list box on the form, to allow a
user to pick who they wanted to send the message to.
Tom Wickerath
Microsoft Access MVP
https://mvp.support.microsoft.com/profile/Tom
http://www.access.qbuilt.com/html/expert_contributors.html