Using the PHP Fuel SDK. I could have sworn that I saw somewhere that you can send HTML__BODY, HTML_Body, or something similar to replace the entire content of an Email with unlimited length – bypassing the 2k limit for account attributes and the 4k limit for DE fields. Am I crazy, or it this just another undocumented feature that is known by work of mouth?
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
More information about HTML Attributes can be found at: http://help.exacttarget.com/en/technical_library/web_service_guide/triggered_email_scenario_guide_for_developers/
They are used when passing in HTML which exceeds 2000 characters, specifically for triggered sends.
A profile attribute will need to be created with the HTML__ prefix before it can be used with a triggered send. Also, an email will need to be created which references this profile attribute using standard substitution syntax. For example, if you call your profile attribute HTML__Body, then the email will need to contain:
While it would be possible to pass the entire HTML for an email using this mechanism, I would recommend keeping as much content in the Email as possible then only passing over the pieces that are truly dynamic.
Another option would be to used a TriggeredSendDataExtension with a field that has the length removed. By default, it will put a length of 50 when creating a Text type field in the interface but that value can be removed to make the field accept larger values. When using a Data Extension field instead of a profile attribute, it isn’t necessary to prefix the name with HTML__.
I just wanted to note here that the above workaround involving a profile attribute might no longer be possible in Enterprise 2.0 accounts. When I tried setting up a profile attribute as discussed in an enterprise 2.0 account, there wasn’t an option to not set a max limit. The only workaround I have found so far is to follow @Mac’s suggestion of not using a profile attribute but rather to only use a DataExtension field that has no limit set. Make sure to delete any profile attributes of the same name to avoid getting the following error.
TriggeredSendSubscriberProcessingError,errorDescription=Error Code:10 - The subscriber is missing required attribute value for HTML__Body
As indicated by @Mac in the comments, you can do an unlimited-length variable replacement by using a data extension.
- Create a Data Extension using Standard Data Extension -> Creation Method: Create From Template -> TriggeredSendDataExtension.
- When you are on the Fields tab, create a Text property and remove the Length amount.
- Use this Data Extension when creating a Triggered Send in the interface or API.
- Be sure to include the property name in your Email and/or Template.
I was able to successfully send a 960k-character text block to that data extension property.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0