• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 260
  • Last Modified:

Emailing several recipients

My app generates a string as follows:
EmailList = "John <john@aol.com>;
                  Paul <paul@xyz.com>;
                  Mary <mary@abc.com>"

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 ?

  • 5
  • 3
1 Solution
Richie_SimonettiIT OperationsCommented:
Put each entri separated by commas, not as parameter but inside lpFile.
I mean, composse all lpFile parameter like:

gronAuthor Commented:

This appears to work only if I use the format:


But if I use the format:

"Mailto:Mary <mary@abc.com>,John <john@aol.com>, Steve <steve@xyz.ca>"

it only registers the first one. Is there a format where I can enter the name and address both ?
Richie_SimonettiIT OperationsCommented:
If you have that list in your address book, you could use name only.
I think you cannot use both with mailto.
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Richie_SimonettiIT OperationsCommented:
Also, if you really want to do in a strong way, cahnge your approcah and use this exelent/free component:
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. http://www.dimac.net 

There are several options with it.
gronAuthor Commented:
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.
Richie_SimonettiIT OperationsCommented:
what do you mean with other options?
gronAuthor Commented:
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.
Richie_SimonettiIT OperationsCommented:
No problem, code could be used in VB5 too!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now