Link to home
Start Free TrialLog in
Avatar of Clive Beaton
Clive BeatonFlag for Australia

asked on

How do I create a Bcc list using CDO

I have tried using the solution to the earlier question but I get a compiler error: Method or data member not found.   Can anyone help.
I would also like some advice on what to put in the recipient, as I don't really want one.
Code snippet attached
Thanks in advance.
Private Sub SendEmail(pRecipient)
    Dim myserver As clsAESeMailServer
    Dim mymsg As clsAESeMailMsg
    
    Set myserver = New clsAESeMailServer
    Set mymsg = New clsAESeMailMsg
    
    myserver.ServerAddress = Me!From.Column(0)
    myserver.AccountName = Me!From.Column(1)
    myserver.Password = Me!From.Column(2)
    
    Set mymsg.MailServer = myserver
    mymsg.From = Me!From.Column(1)
    mymsg.Recipient = pRecipient
    mymsg.Subject = CStr(Me!Subject)
    mymsg.BCC = CreateBCCList
    mymsg.Send
    
End Sub

Open in new window

Avatar of lherrou
lherrou
Flag of Ukraine image

CRB1609,

First of all, I presume you are storing your BCC recipients to CreateBCCList somewhere else in your code? Are you making sure your recipients are separated by semi-colons, and not by a combination of commas and spaces (which is the usual convention on, say, websites, etc)?

The only other thing I can think of is that it should be mymsg.Bcc = CreateBCCList - in other words, the cc part is lower case.

Cheers,
LHerrou





your string should look like this:
user@place.com;anotheruser@somewhere.com;user3@myemail.org
 
NOT like this:
user@place.com, anotheruser@somewhere.com, user3@myemail.org

Open in new window

Avatar of Clive Beaton

ASKER

The problem is that I don't get anywhere near constructing the string.  The code won't compile as it doesn't like lower case BCC and it converts to upper case automatically.
Can you show us that part of your code?
Yes, it's a code snippet attached to the original question, shown above.
I don't see anything in there where you are creating your "CreateBCCList" list, though, the one that contains the email addresses you are BCCing to.
CreateBCCList is a function that creates and passes a string of the email address to be put in the Bcc field.  I didn't include it, as the problem is the code in the snippet doesn't compile.  It gives an error: 'Method or data member not found' and hightlights BCC in the line 'mymsg.BCC = CreateBCCList

Right, but I am wondering if that's the part that's failing, but the compiler doesn't know it until it hits that line and has an uninitialized variable.
Thanks.
I just tried that.  It doesn't get to the line.   The error appers with .BCC highlighted and the code stopped at the top of the sub on the line: Private Sub Private Sub SendEmail(pRecipient)
ASKER CERTIFIED SOLUTION
Avatar of lherrou
lherrou
Flag of Ukraine image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial

CRB1609,

Are you using aesmike's sample posted here?
http://www.experts-exchange.com/Microsoft/Development/MS_Access/Q_23178018.html#20942816

Also, are you using Access VBA or Visual Basic?

clsAESeMailMsg is a class that he has written himself. You can find it by searching the project for the string "clsAESeMailMsg".

<'Method or data member not found'>
You are getting this error message because the class that Mike has written (clsAESeMailMsg) does not contain BCC as an option.

This is another way to use CDO that I posted in a seperate thread:

Call the function like this-
CDOSendEmail "MyFromAddress@MyEmail.com", "to@to.net", "bcc@bcc.net", "Interesting subject", "Totally Brilliant Message"


Function CDOSendEmail(varFrom As Variant, strTo As String, strBCC As String, strSubj As String, strMess As String)
    Dim strDefaultFrom  As String
    Dim objMess As Object
    Set objMess = CreateObject("CDO.Message")
      
    ' This is your default FROM address, and to be used if varFrom is Null or Empty
    strDefaultFrom = "DefaultAddress@MyEmail.com"
    
    ' Subject
    objMess.Subject = strSubj
    
    ' Message
    objMess.textbody = strMess
    
    ' Determine if varFrom is Null/Empty and use default address,
    ' otherwise use the From address passed through the function call
    objMess.From = IIf(Nz(varFrom, "") = "", strDefaultFrom, varFrom)
    
    ' To
    objMess.To = strTo
    
    ' BCC
    objMess.bcc = strBCC
    ' This is a simple example... you can do a lot more
    
    ' Send it
    objMess.send
    
    ' Clear the object variable
    Set objMess = Nothing
    
End Function
 

Open in new window

lherou.  Thanks for trying.  Much appreciated.

Mbizsetup.  Yes, I'm using aesmike's sample with Access VBA.  I'll try your code and get back to you.  Thank you very much.
mbizup
It compiled and ran through the code but didn't seem to do anything.  Is the code completely self contained?  Should I somehow specify the server, username, and password, etc.?
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks, guys.  It got beyond me but I appreciate the effort you put in.