• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 256
  • 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.Clear
    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 ?

0
gron
Asked:
gron
  • 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:

"mailto:entry-1,entry-2,entry-n&subject=......"
0
 
gronAuthor Commented:
Richie:

This appears to work only if I use the format:

"Mailto:mary@abc.com,john@aol.com,steve@xyz.ca"

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 ?
0
 
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.
0
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!

 
Richie_SimonettiIT OperationsCommented:
Also, if you really want to do in a strong way, cahnge your approcah and use this exelent/free component:
http://www.freevbcode.com/ShowCode.Asp?ID=109
0
 
vwdan2001Commented:
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.
0
 
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.
Thanks.
0
 
Richie_SimonettiIT OperationsCommented:
what do you mean with other options?
0
 
gronAuthor Commented:
I meant your other suggestion:

http://www.freevbcode.com/ShowCode.Asp?ID=109 

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.
0
 
Richie_SimonettiIT OperationsCommented:
No problem, code could be used in VB5 too!
0

Featured Post

Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

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