sending sentences in url - html

This is an odd question but hopefully someone has an idea of how to work around it
I'm working with a 3rd party product that sends out txt-based emails on the triggering of certain events. I can customize the text of the emails and I have access to certain dynamic properties that I can embed that will be included when the email is generated. So for example assume that I have a dynamic property called %%full-name%%, when it sends the email it would substitute in 'John Smith' in the body of the email.
Now, I need to also embed a url in the email that uses that dynamic property, something like this:
http://mysite.com?fullname=%%full-name%%
but what will happen is that the 3rd party product has no idea I am embedding a link so it doesn't know to escape it for the space between John and Smith so I get this:
http://mysite.com?fullname=John Smith
where the clickable part of the link shows up as just the bolded part in most mail clients.
So my question is, is there a way to wrap that dynamic property such that it will render the link properly despite the spaces? Since its a 3rd party API I'm working with I have zero control over the actual values being passed into the dynamic properties so my options are limited

You should ask the third party vendor this questions. They may have some way of designating that you want a URL encoded dynamic variable in the email.

If you surround the link in quotes ("") or greater/less than (<>), most email clients "like outlook" will know that it represents one link and won't cut it off at the space.
"http://mysite.com?fullname=%%full-name%%"
<http://mysite.com?fullname=%%full-name%%>
You will run into issues if the variable contains other special characters (like: + % & " >).
edit *
Have you tried using HTML
http://mysite.com?fullname=%%full-name%%

If you control the data that is available, you could always maintain another property that is url-safe:
Hi, %%full-name%%, visit this link to set your preferences:
http://mysite.com?fullname=%%full-name-url%%"

Related

SSRS - embed URL and formatting characters in parameter

I'm making a form letter in SSRS 2012 that will be delivered by email. I had it working fine but now the powers that be have requested a much more dynamic aspect to it based on the individual recipient... Different paragraphs now need to be included/excluded based on the target.
With that, I pulled the body of the email out of SSRS and am now assembling it in SQL Server and passing it over to SSRS as a parameter (so that I don't wind up making a dozen SSRS reports to handle the need).
I have that part working too now, but hit a snag... There were a few bullet points as well as URL's that could look nicer. I'd like to force an indention before the bullet points and replace www.mysite.com with something prettier like "Click Here". On the SSRS side of the fence, I currently just have a single text box (and ideally would keep it that way) which contains an expression that references my "EmailBody" parameter.
So far, I have not found the right combination of words to send to Google to see if this is possible, so I figured I'd go straight to the pros here. I did try formatting the output in a similar manner to what an expression would look like ( ="This is the body of my email" ) and it just passed that straight on through to the final output.
Any ideas would be appreciated!
Jason
In case it helps anyone else, I figured out the secret.
Change your text box in SSRS to expect HTML by right-clicking on the placeholder (<< EXP >>) inside the text box, selecting Placeholder Properties, and change the Markup Type to "HTML - Interpret HTML tags as styles".
After that, go back to the SQL Server side of the fence and change the text you are sending as a parameter to HTML with whatever styling properties you desire.
Sounds like you're on the right track with the HTML markup. I also wanted to suggest that you can use a data-driven subscription. Have the query generate the HTML you want. Then have that populate the body of the email. That way there's no need for any attachments. This has come in handy when I wanted to display a small table of data for viewing on a mobile device rather than having to open an Excel attachment.

Capture subject line from Outlook email into mailto link in signature

I am helping someone working in operations to set up an email signature which includes a link to escalate to a higher official in case of any displeasure. While I can use a mailto: to link to the official's email id, I want to also capture the subject of the email to capture details like Service Ticket number and any other title that is in the email subject.
What I mean to say in a nutshell is - when a user clicks on the link, he would get a new Outlook compose mail window with the same subject. Using simple mailto: with manually changing subject line wont help. Looking for some tips here - am open to look at dynamic options like VB code or something but it has to be via Outlook.
Include a placeholder in the signature's link (e.q. mailto:somebody#domain.demo?subject=xyzq), when Application.ItemSend event fires, look at the MailItem.HTMLBody property and replace the placeholder (xyzq above) with the value of the MailItem.Subject property. You might need to encode spaces and special characters.
The mailto: command doesn't allows to specify any custom information for Outlook. Read more about the mailto scheme in RFC2368.
If you are new to VBA, I'd recommend starting from the Getting Started with VBA in Outlook 2010 article which explains the basics.

What is the most successful/appropriate way to hide a string in an HTML e-mail?

I need to hide a 30 character string inside the HTML of an e-mail so when a user replies, their reply can be linked on our server to that 30 character string. We don't want to add the string to the subject or body of the e-mail where it's visible to the user. We also don't want to hide the text which would result in accidental selecting of the 30 character string.
The problem:
Many e-mail clients (like gmail) reduce HTML e-mail content to just the basic tags, making it difficult to find a tag that can hold an arbitrary string. This means we can't create an arbitrary tag, only use standard tags.
Our best solution:
Hide the string in the "title" tag of a table in the e-mail, like this -
<table title="30_character_string">
The solution above works in most cases. Most e-mail clients don't strip out the title tag, making it a viable option.
Why we're stuck: This isn't the best solution because sometimes e-mail clients get very restrictive and eliminate even the title attribute.
Can you help? What is the most successful way to hide an arbitrary string in the body of an HTML e-mail? Is there a better solution for this sort of linking?
If you put the value in markup, plain text replies won't work. Consider a "smallprint" section on the bottom of your email below your signature.
Dear User,
Email content
Regards,
Logo and such
ReplyIdentifer-xxxxxxxx.
If you don't care for that, add a div to the bottom of the email (again below the sig). ANd again, it will be on the bottom of the email where the user will rarely even care to look.
<style>.hide{display:none;}</style>
<div style="display:none" class="hide">ReplyIdentifer-xxxxxxxx.</div>
In this case, you only see it if the email client removes css AND style tags.
Checking some HTML emails I've received & Gmail seems to allow a <head> tag within the e-mail HTML. You could include the info in a <meta> tag within the head of the email.
What type of account are you reading mail in to? If it's also Gmail, you could make use of their ability to allow abritary strings in your emails address after a plus symbol. Override the reply-to header that you set on your out-going mail to youraddress+uniqueID#gmail.com
EDIT: Staying along the lines of e-mail headers though (which feels like it should be the right way to do this), if you make sure to generate a unique Message ID header for each copy of the mail going out, the In-Reply-To header that you get back should be unique to that recipient and that message. Gmail respects the Message ID header & provides the appropriate reply header in response, as should most (all?) mainstream clients/services

URLENCODE Variable in Salesforce Vertical Response Email

This is a rather simple question, but I cannot find documentation about it from Salesforce.
I am setting up an HTML Newsletter from Salesforce Vertical Response, and I need to put a link in the body of the email that goes to another site which takes the user's email address as a query string. I am doing this so that when the user clicks the link from the HTML email, they will automatically be signed up for a different blog mailing list.
The link will look like this www.mywebsite.com/blog/subscribe?email=your_email#email.com.
I can easily accomplish this by using the {EMAIL_ADDRESS} variable, such that the link looks like this:
Subsribe
This workds, but when the user gets the email and clicks the link, the '#' symbol gets stripped from the URL. Now I'm trying to figure out how to get around this. I saw some documentation on the URLENCODE() function for SalesForce, but when I try to use it in the HTML email editor in SalesForce, like URLENCODE({EMAIL_ADDRESS})it doesn't execute it, and instead interprets it literally as text. Can anyone help me? is it even possible to use functions from within the SalesForce HTML email editor?
Thanks
I havent used VerticalResponse, but if it leans on salesforce communication templates then you can always create an email template as Visualforce page. Then you can apply Encode functions to merge fields.
I'm glad you were able to find a workaround. If you ever go back to dealing with the URL, it's a good idea to disable our click-tracking when working with merge fields. This can be accomplished by adding nr_ before the http. Example: Subsribe - If you ever try that and it doesn't work, or if you have any other questions, please let us know via one of our Support channels:
support#verticalresponse.com
866-683-7842 x1
We also have live chat available: http://help.verticalresponse.com/
Regards,
Keith Gluck
VerticalResponse Customer Support

Use Mailto with a large set of emails

On a page I have, there is a piece of code that creates a mailto link for the members of a team. It just iterates through the list of members and dynamically creates the link
My problem is that when the number of members grows, it eventually stops the mailto link from working. I believe there is a character limit on this function, with the actually character limit depending on browser maybe.
I'm wondering is there any elegant solution or alternative to this?
Sending the email from the server side is not really an option, users still want to use their own desktop email app.
The easiest solution would be have the mailto send to a single email address that then auto forwards the message to all required individual emails.