The only way I know of to do what you're attempting would be if CC_User's email address was set using a custom setting. If you go that route, I'd also recommend adding an if
statement to allow you to turn the CC address
on and off using a boolean setting. This of course assumes CC_User
remains the same. If not, you'd need to set this up to handle several different custom settings email addresses. You'd want to do something like the following:
CustSttng_CC__c CCUser = CustSttng_CC__c.getValues('CCUser1');
CustSttng_CCBool__c CCBool = CustSttng_CCBool__c.getValues('BCC1');
if(BCC1.SendCC__c == true){
string[] ccAddresses = new string[] {string.valueOf(CCUser1.Email__c)};
}
To set the replyTo to [email protected], you may want to set up an inbound mail service that's been configured by UserB to help facilitate that, but that could just be a matter of preference. The setReplyTo method is one of the Base Email Class methods and isn't specific to the Single Email Message Class.
In general, using your own Mail handler class would probably be good idea for what you're trying to accomplish. You could easily build it as a method that exists inside your inbound mail handler class.
Edit
SF isn't going to allow you to continue to send email to an address that either doesn't exist or that gives the appearance of sending email to an address without sending it. What you'll want to do for CCUser is create dummy email account someplace so CC_User will appear on your outbound email (I presume that's your purpose).
Send the email to an unattended inbound email handler account where only email from your outbound email address is accepted. Set it up so email from any other address, such as one of your recipients, receives an auto-reply of some kind stating the address isn't monitored.