Emailing several recipients

Posted on 2003-12-05
Last Modified: 2010-05-01
My app generates a string as follows:
EmailList = "John <>;
                  Paul <>;
                  Mary <>"

It then calls the default email browser as follows:

in a module:

Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
    (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
    ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) _    As Long

in my procedure:

    WriteEmail = ShellExecute(frmFriendsDirectory.hwnd, "open", "Mailto:", EmailList, "", 1)

This works fine if EmailList has only one address. If it has multiple addresses as above, only the first one is entered.

I have also tried leaving it blank, as follows:

    WriteEmail = ShellExecute(frmFriendsDirectory.hwnd, "open", "Mailto:", "", "", 1)

and then using

SendKeys EmailList, True

this doesn't work either. The closest I get is if I put it on the clipboard as follows:

    Clipboard.SetText EmailList

and then click "Paste" on the browser. In Outlook Express, the keyboard command for Paste is CTRL + V. I also tried Sendkeys "^V" to send that. No luck.

Any suggestions ?

Question by:gron
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
LVL 16

Accepted Solution

Richie_Simonetti earned 125 total points
ID: 9882673
Put each entri separated by commas, not as parameter but inside lpFile.
I mean, composse all lpFile parameter like:


Author Comment

ID: 9883265

This appears to work only if I use the format:


But if I use the format:

"Mailto:Mary <>,John <>, Steve <>"

it only registers the first one. Is there a format where I can enter the name and address both ?
LVL 16

Expert Comment

ID: 9883381
If you have that list in your address book, you could use name only.
I think you cannot use both with mailto.
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 16

Expert Comment

ID: 9883390
Also, if you really want to do in a strong way, cahnge your approcah and use this exelent/free component:

Expert Comment

ID: 9883540
Have you played around with CDO or CDONTS?

There is a component I am currently using with exchange srvr. Its cheap and only uses about 3-5 lines of code. 

There are several options with it.

Author Comment

ID: 9887916
I have opted for the first suggestion with email addresses only.
I am still with Vb5, so some of the other options are not available to me.
LVL 16

Expert Comment

ID: 9889365
what do you mean with other options?

Author Comment

ID: 9891726
I meant your other suggestion: 

I looked at that, and it is in Vb6. Also, it is far more complex and featured than I require.

Also the suggestion from vwdan2001.
LVL 16

Expert Comment

ID: 9894770
No problem, code could be used in VB5 too!

Featured Post

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question