[AccessD] Sending email from Access

Jim Dettman jimdettman at verizon.net
Tue Aug 23 15:29:12 CDT 2011


Darrell,

  Are you sure all users will have Outlook?

  Personally I'd keep it simple and go with Blat or vbSendMail.  Both are
.DLL based.  

  Blat doesn't need to be registered at all, but it's not as feature rich as
vbSendMail from what I remember.  However someone on the list (Dan?) posted
some great code to register the DLL for sendmail automatically.  I haven't
gotten around to trying it yet and don't know if it will work in a non-admin
situation.

  But with either, all you need to know is the IP address of a SMTP server
to send the mail and possibly an account and password depending on how the
server is configured.  That's about as simple as it gets for sending mail.

Jim.

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Darrell Burns
Sent: Tuesday, August 23, 2011 04:15 PM
To: 'Access Developers discussion and problem solving'
Subject: [AccessD] Sending email from Access

I'm developing an A2010 app that, among other things, needs to distribute
email notifications to a small list of recipients. The recipient list is
maintained in an Access table, so all I need to do is SEND. There are 3
obstacles I need to overcome:

1. There are about 100 workstations, running everything from XP/Office2003
to Windows7/Office2010, and I can't be messing with their administrative
options.
2. The eMails must be sent without operator intervention; i.e., no security
pop-ups (what Outlook refers to as the "object model guard").
3.  The app must be deployed as a runtime, preferably with no 3rd-party
attachments (like Redemption).

I've developed a partial solution that makes calls to the Outlook object
model. It gets around obstacle #1 by using late-binding so it won't be
dependent on a particular version:

Dim objOutlook As Object
Dim objMailItem As Object
Const olMailItem as integer = 0
Set objOutlook = CreateObject("Outlook.Application")
Set objMailItem = objOutlook.CreateItem(olMailItem)
objMailItem.Subject = strSubject
objMailItem.Body = strBody
objMailItem.Send

This solution works (as long as Outlook is already open); however, it
doesn't satisfy Obstacle #2 because the security warning does pop up. 

Anybody know of a way to get around the Outlook object model guard?

Thanx!

-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com




More information about the AccessD mailing list