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
  • 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.
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

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

ScreenConnect 6.0 Free Trial

Check out the updates in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI that improves session organization and overall user experience. See the enhancements for yourself!

Question has a verified solution.

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

Suggested Solutions

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
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…

777 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