Regarding a VisualForce email template, I know it is possible to setWhatId(), setSubject() and range of other things in Messaging.SingleEmailMessage. But I just want to set my own parameter.

Let me expand on what I mean by my own parameter. I want to be able to use a parameter in a URL I use in img tag.

<img id="toplogo" src="{!$MyParameter}" height="20"/>

I am merging a custom object into the email. So I could always add a parameter to this custom object and merge that way. But is there anyway I can do it without going near my custom object?

  • What do you mean by wanting to set your own parameter, can you expand on your use case a bit? Do you mean the content of the mail, for that you can use setHtmlBody and setPlainTextBody. Jan 17, 2013 at 14:22
  • @Phil Hawton I have updated question.
    – dublintech
    Jan 17, 2013 at 14:40
  • so are you just trying to make this logo dynamic within your email template? Is there any logic to determine it? Jan 17, 2013 at 14:54
  • 1
    Have you tried Custom Label or (hierarchical) Custom Setting (like I've said in salesforce.stackexchange.com/a/7352/799)?
    – eyescream
    Jan 17, 2013 at 14:58
  • ^ just what I was about to suggest Jan 17, 2013 at 15:11

1 Answer 1


I don't totally understand what you are trying to do, but if you are trying to add a querystring parameter, that's pretty easy...

<img id="toplogo" src="http://myurl.com/image.png?myparam={!$myParameter}" height="20"/>

Just make sure that your parameter is URL encoded. If you are leveraging Visualforce Components in your Visualforce Email template, you could do that in your controller like so...

public class MyEmailController {
  public String getMyParameter() {
    EncodingUtil.urlEncode('parameter that needs encoding');

And the component...

<apex:component controller="MyEmailController" access="global">
  <img id="toplogo" src="http://myurl.com/image.png?myparam={!$myParameter}" height="20"/>

Here are the docs that might help

  • this was a good pointer to get me going. I have another question but will take that in separate thread.
    – dublintech
    Jan 18, 2013 at 12:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .