can not send mail from Access macro

  • Thread starter Thread starter MarySue
  • Start date Start date
M

MarySue

After doing some upgrade my Access macro won't send
reports via email automatically...a message comes up
asking for permission to send the email...which defeats
the purpose of the Access macro.

Thanks in advance for your help.
MarySue
 
The security dialogs that pop up when an application tries to access certain Outlook properties and methods are designed to inhibit the spread of viruses via Outlook; see http://www.slipstick.com/outlook/esecup.htm#autosec. They cannot be simply turned on or off with a user option or registry setting.

However, Outlook 2003 does not show security prompts on three specific types of applications:

-- VBScript code in published, non-oneoff Outlook forms

-- Outlook VBA code that uses the intrinsic Application object

-- Outlook COM add-ins properly constructed to derive all objects from the Application object passed by the OnConnection event

In earlier versions of Outlook, standalone users can use a free tool called Express ClickYes (http://www.express-soft.com/mailmate/clickyes.html) to click the security dialog buttons automatically. Beware that this means if a virus tries to send mail using Outlook or gain access to your address book, it will succeed.

If you're the administrator in an Exchange Server environment, you can reduce the impact of the security prompts with administrative tools. See http://www.slipstick.com/outlook/esecup/admin.htm

If it's an application you wrote yourself and either your application needs to support versions besides Outlook 2003 or your application runs extenal to Outlook, you have these options for modifying your program to avoid the security prompts (roughly in order of preference):

-- Use Extended MAPI (see http://www.slipstick.com/dev/mapi.htm) and C++ or Delphi; this is the most secure method and the only one that Microsoft recommends. However, it applies only to COM add-ins and external programs; you cannot use Extended MAPI in Outlook forms or VBA.

-- Use Redemption (http://www.dimastr.com/redemption/), a third-party COM library that wraps around Extended MAPI but parallels the Outlook Object Model, providing many methods that the Outlook model does not support

-- Use SendKeys to "click" the buttons on the security dialogs that your application may trigger. See http://www.slipstick.com/outlook/esecup.htm#autosec for a link to sample code.

-- Program the free Express ClickYes (http://www.express-soft.com/mailmate/clickyes.html) tool to start suspended and turn it on only when your program needs to have the buttons clicked automatically.
The security dialogs that pop up when an application tries to access certain Outlook properties and methods are designed to inhibit the spread of viruses via Outlook; see http://www.slipstick.com/outlook/esecup.htm#autosec. They cannot be simply turned on or off with a user option or registry setting.

However, Outlook 2003 does not show security prompts on three specific types of applications:

-- VBScript code in published, non-oneoff Outlook forms

-- Outlook VBA code that uses the intrinsic Application object

-- Outlook COM add-ins properly constructed to derive all objects from the Application object passed by the OnConnection event

In earlier versions of Outlook, standalone users can use a free tool called Express ClickYes (http://www.express-soft.com/mailmate/clickyes.html) to click the security dialog buttons automatically. Beware that this means if a virus tries to send mail using Outlook or gain access to your address book, it will succeed.

If you're the administrator in an Exchange Server environment, you can reduce the impact of the security prompts with administrative tools. See http://www.slipstick.com/outlook/esecup/admin.htm

If it's an application you wrote yourself and either your application needs to support versions besides Outlook 2003 or your application runs extenal to Outlook, you have these options for modifying your program to avoid the security prompts (roughly in order of preference):

-- Use Extended MAPI (see http://www.slipstick.com/dev/mapi.htm) and C++ or Delphi; this is the most secure method and the only one that Microsoft recommends. However, it applies only to COM add-ins and external programs; you cannot use Extended MAPI in Outlook forms or VBA.

-- Use Redemption (http://www.dimastr.com/redemption/), a third-party COM library that wraps around Extended MAPI but parallels the Outlook Object Model, providing many methods that the Outlook model does not support

-- Use SendKeys to "click" the buttons on the security dialogs that your application may trigger. See http://www.slipstick.com/outlook/esecup.htm#autosec for a link to sample code.

-- Program the free Express ClickYes (http://www.express-soft.com/mailmate/clickyes.html) tool to start suspended and turn it on only when your program needs to have the buttons clicked automatically.

--
Sue Mosher, Outlook MVP
Outlook and Exchange solutions at http://www.slipstick.com
Author of
Microsoft Outlook Programming: Jumpstart
for Administrators, Power Users, and Developers
 
That's really great that a third party can come up with an
application to FIX a problem with Microsoft's software.
How about Microsoft fixes their own software for a change?
Just give the user an option to ALLOW applications to
access our address books. Security is always good, but at
least give the end user the abilty to disable it. As it
stands now, VBA email automation is completely useless as
mentioned in the original thread. How hard is it to make a
patch that simply disables this security measure? Better
yet, just tell us the registry setting so we can fix it
ourselves.


-----Original Message-----
The security dialogs that pop up when an application
tries to access certain Outlook properties and methods are
designed to inhibit the spread of viruses via Outlook; see
http://www.slipstick.com/outlook/esecup.htm#autosec. They
cannot be simply turned on or off with a user option or
registry setting.
However, Outlook 2003 does not show security prompts on
three specific types of applications:
-- VBScript code in published, non-oneoff Outlook forms

-- Outlook VBA code that uses the intrinsic Application object

-- Outlook COM add-ins properly constructed to derive
all objects from the Application object passed by the
OnConnection event
In earlier versions of Outlook, standalone users can use
a free tool called Express ClickYes (http://www.express-
soft.com/mailmate/clickyes.html) to click the security
dialog buttons automatically. Beware that this means if a
virus tries to send mail using Outlook or gain access to
your address book, it will succeed.
If you're the administrator in an Exchange Server
environment, you can reduce the impact of the security
prompts with administrative tools. See
http://www.slipstick.com/outlook/esecup/admin.htm
If it's an application you wrote yourself and either your
application needs to support versions besides Outlook 2003
or your application runs extenal to Outlook, you have
these options for modifying your program to avoid the
security prompts (roughly in order of preference):
-- Use Extended MAPI (see
http://www.slipstick.com/dev/mapi.htm) and C++ or Delphi;
this is the most secure method and the only one that
Microsoft recommends. However, it applies only to COM add-
ins and external programs; you cannot use Extended MAPI in
Outlook forms or VBA.
-- Use Redemption
(http://www.dimastr.com/redemption/), a third-party COM
library that wraps around Extended MAPI but parallels the
Outlook Object Model, providing many methods that the
Outlook model does not support
-- Use SendKeys to "click" the buttons on the
security dialogs that your application may trigger. See
http://www.slipstick.com/outlook/esecup.htm#autosec for a
link to sample code.
-- Program the free Express ClickYes
(http://www.express-soft.com/mailmate/clickyes.html) tool
to start suspended and turn it on only when your program
needs to have the buttons clicked automatically.
The security dialogs that pop up when an application
tries to access certain Outlook properties and methods are
designed to inhibit the spread of viruses via Outlook; see
http://www.slipstick.com/outlook/esecup.htm#autosec. They
cannot be simply turned on or off with a user option or
registry setting.
However, Outlook 2003 does not show security prompts on
three specific types of applications:
-- VBScript code in published, non-oneoff Outlook forms

-- Outlook VBA code that uses the intrinsic Application object

-- Outlook COM add-ins properly constructed to derive
all objects from the Application object passed by the
OnConnection event
In earlier versions of Outlook, standalone users can use
a free tool called Express ClickYes (http://www.express-
soft.com/mailmate/clickyes.html) to click the security
dialog buttons automatically. Beware that this means if a
virus tries to send mail using Outlook or gain access to
your address book, it will succeed.
If you're the administrator in an Exchange Server
environment, you can reduce the impact of the security
prompts with administrative tools. See
http://www.slipstick.com/outlook/esecup/admin.htm
If it's an application you wrote yourself and either your
application needs to support versions besides Outlook 2003
or your application runs extenal to Outlook, you have
these options for modifying your program to avoid the
security prompts (roughly in order of preference):
-- Use Extended MAPI (see
http://www.slipstick.com/dev/mapi.htm) and C++ or Delphi;
this is the most secure method and the only one that
Microsoft recommends. However, it applies only to COM add-
ins and external programs; you cannot use Extended MAPI in
Outlook forms or VBA.
-- Use Redemption
(http://www.dimastr.com/redemption/), a third-party COM
library that wraps around Extended MAPI but parallels the
Outlook Object Model, providing many methods that the
Outlook model does not support
-- Use SendKeys to "click" the buttons on the
security dialogs that your application may trigger. See
http://www.slipstick.com/outlook/esecup.htm#autosec for a
link to sample code.
-- Program the free Express ClickYes
(http://www.express-soft.com/mailmate/clickyes.html) tool
to start suspended and turn it on only when your program
needs to have the buttons clicked automatically.
 
Outlook 2003 will allow properly constructed code in published forms, VBA, and Outlook COM add-ins to run without security prompts.
--
Sue Mosher, Outlook MVP
Outlook and Exchange solutions at http://www.slipstick.com
Author of
Microsoft Outlook Programming: Jumpstart
for Administrators, Power Users, and Developers
 
Again that's great, but our company paid lots of money for
Outlook 2000. Where's the "fix" for that.


-----Original Message-----
Outlook 2003 will allow properly constructed code in
published forms, VBA, and Outlook COM add-ins to run
without security prompts.
 
Dear Sue,
I can't get rid of the security promts under Outlook 2003. The same
OL2K3 build works on a clean machine but not with my machine. My test
add-in is the easiest you can think of (see below). Most likely the
problem is the history of my machine: Got a new XP machine w/ Office
2002. Then I transferred the settings from my previous XP machine with
Outlook 2000 using the transfer wizard. Then I upgraded to Outlook
2003. In the meantime I completely uninstalled office several times,
deleting the registry entries HKLM\...\Office and HKCU\...\Office,
deleting all profiles and the LocalSettings stuff and reinstalling it.
Didn't help. The security prompt appears. There must be some other
setting from earlier times.
Additionally the address autocomplete also refuses to work. Any idea?

My test Add-in is:

Implements IDTExtensibility2

Private Sub IDTExtensibility2_OnAddInsUpdate(custom() As Variant)

End Sub

Private Sub IDTExtensibility2_OnBeginShutdown(custom() As Variant)

End Sub

Private Sub IDTExtensibility2_OnConnection(ByVal Application As
Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode,
ByVal AddInInst As Object, custom() As Variant)
'access the user's email
MsgBox Application.Session.CurrentUser.Address '<== causes the
security prompt
End Sub

Private Sub IDTExtensibility2_OnDisconnection(ByVal RemoveMode As
AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)

End Sub

Private Sub IDTExtensibility2_OnStartupComplete(custom() As Variant)

End Sub
 
Are any other applications running that might be accessing Outlook, such as PDA sync? If so, they may be loading Outlook without UI, in which case, your COM addin won't load (or shouldn't). For testing, try to disable any such applications.

Also try this code instead of what you have:

Set objNS = Application.GetNamespace("MAPI")
Set objCU = objNS.CU
MsgBox objCU.Address

--
Sue Mosher, Outlook MVP
Outlook and Exchange solutions at http://www.slipstick.com
Author of
Microsoft Outlook Programming: Jumpstart
for Administrators, Power Users, and Developers
 
Thanks for answering, Sue. Your code version causes the popup as well.
There is no PDA sync or similar running. However, on my previous where
I transferred the settings from using the transfer wizard, had an
Active Sync installed. Anyway, recently I gave order to re-install the
whole PC. And I will definitely not use the transfer wizard this time.
This should help. Strange, isn't it?.
--
Klemens

Sue Mosher said:
Are any other applications running that might be accessing Outlook, such
as PDA sync? If so, they may be loading Outlook without UI, in which
case, your COM addin won't load (or shouldn't). For testing, try to
disable any such applications.

Also try this code instead of what you have:

Set objNS = Application.GetNamespace("MAPI")
Set objCU = objNS.CU
MsgBox objCU.Address

--
Sue Mosher, Outlook MVP
Outlook and Exchange solutions at http://www.slipstick.com
Author of
Microsoft Outlook Programming: Jumpstart
for Administrators, Power Users, and Developers

[]
 
Is the registry entry present that tells Outlook to look for security settings on an Exchange Server? That would cause Outlook not to trust any addins except those trusted by the security form.

Klemens Schmid said:
Thanks for answering, Sue. Your code version causes the popup as well.
There is no PDA sync or similar running. However, on my previous where
I transferred the settings from using the transfer wizard, had an
Active Sync installed. Anyway, recently I gave order to re-install the
whole PC. And I will definitely not use the transfer wizard this time.
This should help. Strange, isn't it?.
--
Klemens

Sue Mosher said:
Are any other applications running that might be accessing Outlook, such
as PDA sync? If so, they may be loading Outlook without UI, in which
case, your COM addin won't load (or shouldn't). For testing, try to
disable any such applications.

Also try this code instead of what you have:

Set objNS = Application.GetNamespace("MAPI")
Set objCU = objNS.CU
MsgBox objCU.Address

--
Sue Mosher, Outlook MVP
Outlook and Exchange solutions at http://www.slipstick.com
Author of
Microsoft Outlook Programming: Jumpstart
for Administrators, Power Users, and Developers

[]
 
You are the greatest! The registry entry _was_ present. However it was
HKLM\Software\Policies\Microsoft\Security and not
HKEY_CURRENT_USER\Software\Policies\Microsoft\Security key as written
at slipstick. When I get now get the AutoComplete to work I'm the
happiest...
Regards,
Klemens

Sue Mosher said:
Is the registry entry present that tells Outlook to look for security
settings on an Exchange Server? That would cause Outlook not to trust
any addins except those trusted by the security form.

Klemens Schmid said:
Thanks for answering, Sue. Your code version causes the popup as well.
There is no PDA sync or similar running. However, on my previous where
I transferred the settings from using the transfer wizard, had an
Active Sync installed. Anyway, recently I gave order to re-install the
whole PC. And I will definitely not use the transfer wizard this time.
This should help. Strange, isn't it?.
--
Klemens

"Sue Mosher [MVP]" <[email protected]> wrote in message
Are any other applications running that might be accessing Outlook, such
as PDA sync? If so, they may be loading Outlook without UI, in which
case, your COM addin won't load (or shouldn't). For testing, try to
disable any such applications.

Also try this code instead of what you have:

Set objNS = Application.GetNamespace("MAPI")
Set objCU = objNS.CU
MsgBox objCU.Address

--
Sue Mosher, Outlook MVP
Outlook and Exchange solutions at http://www.slipstick.com
Author of
Microsoft Outlook Programming: Jumpstart
for Administrators, Power Users, and Developers



Dear Sue,
I can't get rid of the security promts under Outlook 2003. The same
OL2K3 build works on a clean machine but not with my machine. My test
add-in is the easiest you can think of (see below). Most likely the
problem is the history of my machine: Got a new XP machine w/ Office
2002. Then I transferred the settings from my previous XP machine with
Outlook 2000 using the transfer wizard. Then I upgraded to Outlook
2003. In the meantime I completely uninstalled office several times,
deleting the registry entries HKLM\...\Office and HKCU\...\Office,
deleting all profiles and the LocalSettings stuff and reinstalling it.
Didn't help. The security prompt appears. There must be some other
setting from earlier times.
Additionally the address autocomplete also refuses to work. Any idea?

My test Add-in is:

Implements IDTExtensibility2

Private Sub IDTExtensibility2 OnAddInsUpdate(custom() As Variant)

End Sub

Private Sub IDTExtensibility2 OnBeginShutdown(custom() As Variant)

End Sub

Private Sub IDTExtensibility2 OnConnection(ByVal Application As
Object, ByVal ConnectMode As AddInDesignerObjects.ext ConnectMode,
ByVal AddInInst As Object, custom() As Variant)
'access the user's email
MsgBox Application.Session.CurrentUser.Address '<== causes the
security prompt
End Sub

Private Sub IDTExtensibility2 OnDisconnection(ByVal RemoveMode As
AddInDesignerObjects.ext DisconnectMode, custom() As Variant)

End Sub

Private Sub IDTExtensibility2 OnStartupComplete(custom() As Variant)

End Sub

[]
 
Back
Top