Data Broadcasts
* When copying Data Broadcast record make sure that Send attribute is set to never. Otherwise the module trigger will update Scheduled Next Run Date attribute and send a copy of the broadcast.
* The CAN-SPAM Act: A Compliance Guide for Business.
The CAN-SPAM Act, a law that sets the rules for commercial email, establishes requirements for commercial messages, gives recipients the right to have you stop emailing them, and spells out tough penalties for violations.
Despite its name, the CAN-SPAM Act doesn’t apply just to bulk email. It covers all commercial messages, which the law defines as “any electronic mail message the primary purpose of which is the commercial advertisement or promotion of a commercial product or service,” including email that promotes content on commercial websites. The law makes no exception for business-to-business email. That means all email – for example, a message to former customers announcing a new product line – must comply with the law.
Each separate email in violation of the CAN-SPAM Act is subject to penalties of up to $16,000, so non-compliance can be costly. But following the law isn’t complicated. Here’s a rundown of CAN-SPAM’s main requirements:
- Don’t use false or misleading header information. Your “From,” “To,” “Reply-To,” and routing information – including the originating domain name and email address – must be accurate and identify the person or business who initiated the message.
- Don’t use deceptive subject lines. The subject line must accurately reflect the content of the message.
- Identify the message as an ad. The law gives you a lot of leeway in how to do this, but you must disclose clearly and conspicuously that your message is an advertisement.
- Tell recipients where you’re located. Your message must include your valid physical postal address. This can be your current street address, a post office box you’ve registered with the U.S. Postal Service, or a private mailbox you’ve registered with a commercial mail receiving agency established under Postal Service regulations.
- Tell recipients how to opt out of receiving future email from you. Your message must include a clear and conspicuous explanation of how the recipient can opt out of getting email from you in the future. Craft the notice in a way that’s easy for an ordinary person to recognize, read, and understand. Creative use of type size, color, and location can improve clarity. Give a return email address or another easy Internet-based way to allow people to communicate their choice to you. You may create a menu to allow a recipient to opt out of certain types of messages, but you must include the option to stop all commercial messages from you. Make sure your spam filter doesn’t block these opt-out requests.
- Honor opt-out requests promptly. Any opt-out mechanism you offer must be able to process opt-out requests for at least 30 days after you send your message. You must honor a recipient’s opt-out request within 10 business days. You can’t charge a fee, require the recipient to give you any personally identifying information beyond an email address, or make the recipient take any step other than sending a reply email or visiting a single page on an Internet website as a condition for honoring an opt-out request. Once people have told you they don’t want to receive more messages from you, you can’t sell or transfer their email addresses, even in the form of a mailing list. The only exception is that you may transfer the addresses to a company you’ve hired to help you comply with the CAN-SPAM Act.
- Monitor what others are doing on your behalf. The law makes clear that even if you hire another company to handle your email marketing, you can’t contract away your legal responsibility to comply with the law. Both the company whose product is promoted in the message and the company that actually sends the message may be held legally responsible.
* Those rules and regulations always change. For more information and latest version of the document please visit http://www.ftc.gov and seach for CAN-SPAM Act.
Soft bounces are when an email address is temporarily unavailable. Maybe the recipient’s server was down, or just too busy. You generally don’t have to do anything—Data Broadcast retries delivering a reasonable, non-server-annoying amount of times, and if it still gets rejected, we keep that email address on your list for the next campaign. It’s only if an email address soft bounces 5 campaigns in a row that we clean it off your list for good.
Hard bounces mean an email address was non-deliverable. It’s gone. Deleted. Doesn’t exist anymore, never existed in the first place, whatever. Lost cause. These get removed from your list by Data Broadcast immediately. That’s because if you try resending to these emails, you could get blocked by that server (they track who keeps sending emails to bad addresses).
Hard bounces are recorded immediately in the broadcast messages table as true bounce backs. Soft bounces are recorded in the broadcast messages table as bounce backs after five failures to send.
RecipientInfo
This script displays the values for current user.
[cp:literal:scripting key='RecipientInfo' attributeSystemName='DisplayName' /]
| Property |
Description |
| attributeSystemName |
The id of the item in the Configuration/Properties collections. It's also supports following attributes:UserName,UserId,IntegrationId,DisplayName. |
MessageInfo
This script returns values of the current message.
[cp:literal:scripting key='MessageInfo' attributeSystemName='FromAddress' /]
| Property |
Description |
| attributeSystemName |
The id of the item in the broadcast record. Example: FromAddress, FromName, DataId or MessageId, Created or CreateDate, BroadcastId, ScheduledLastRunDate and all the Properties which are all the properties, configuration and attributes if source has those. |
CurrentDate
The Current Date cp script uses the creates the current date/time in the correct Time Zone using specified formats.
[cp:literal:scripting key='CurrentDate' Format='MM-dd-yyyy'/]
| Property |
Description |
| Format |
These are the formats that will format the current date. You can combined different abbreviations together to form unique Date Formats.
| Format Value |
Example |
| MM/dd/yyyy |
04/17/2012 |
| MM-dd-yyyy |
04/17/2012 |
| MM/dd/yyyy hh:mm:ss tt |
04/17/2012 01:59:06 PM |
| MM-dd-yyyy hh:mm:ss tt |
04-17-2012 01:59:06 PM |
| hh:mm:ss tt |
02:05:15 PM |
| ddd |
Tue |
| dddd |
Tuesday |
| MMM |
Apr |
| MMMM |
April |
| yy |
12 |
| yyyy |
2012 |
|
| AddDays |
This optional attribute can be a positive or negative number and will add or subtract that many days from the current date. |
Reference Examples for Commonly Used Scripts in Broadcast are:
[cp:literal:scripting key='RecipientInfo' attributeSystemName='ContactTitle' /]
[cp:literal:scripting key='RecipientInfo' attributeSystemName='ContactFirstName' /]
[cp:literal:scripting key='RecipientInfo' attributeSystemName='ContactMiddleName' /]
[cp:literal:scripting key='RecipientInfo' attributeSystemName='ContactSuffix' /]
[cp:literal:scripting key='RecipientInfo' attributeSystemName='ContactAddress' /]
[cp:literal:scripting key='RecipientInfo' attributeSystemName='ContactCity' /]
[cp:literal:scripting key='RecipientInfo' attributeSystemName='ContactState' /]
[cp:literal:scripting key='RecipientInfo' attributeSystemName='ContactHomePhone' /]
[cp:literal:scripting key='RecipientInfo' attributeSystemName='ContactCellPhone' /]
[cp:literal:scripting key='RecipientInfo' attributeSystemName='ContactOfficePhone' /]
[cp:literal:scripting key='RecipientInfo' attributeSystemName='ContactCompany' /]
[cp:literal:scripting key='RecipientInfo' attributeSystemName='ContactCompanyPosition' /]
Example of HTML Used for Unsubscribe links (instead of the unsubscribe images) to paste into the bottom of Email table.
<table id="Table1">
<tbody>
<tr>
<td colspan="2">If you no longer wish to receive our e-mail(s), please click one of the buttons below.</td>
</tr>
<tr>
<td><a href="[cp:scripting key='MessageInfo' attributeSystemName='RootUrl' /]/Modules/DataBroadcast/Subscriptions.aspx?mid=[cp:scripting key='MessageInfo' attributeSystemName='DataId' /]"> Unsubscribe from this Broadcast </a></td>
<td><a href="[cp:scripting key='MessageInfo' attributeSystemName='RootUrl' /]/Modules/DataBroadcast/Subscriptions.aspx?mid=[cp:scripting key='MessageInfo' attributeSystemName='DataId' /]&bid=[cp:scripting key='MessageInfo' attributeSystemName='BroadcastId' /]"> Completely Unsubscribe from all Broadcasts</a></td>
</tr>
<tr>
<td colspan="2"><a href="[cp:scripting key='MessageInfo' attributeSystemName='RootUrl' /]/Modules/DataBroadcast/ViewMessage.aspx?mid=[cp:scripting key='MessageInfo' attributeSystemName='DataId' /]">Trouble viewing? Click to open in browser.</a></td>
</tr>
</tbody>
</table>
Q&A
How Email Email Broadcast tracks open emails.
When email is sent the small image is embed with unique Id of the broadcast into the email body.
When someone reads his mail, with images enabled, the email-client will send a request to to load the image, passing that unique Id as a parameter.
Our handler on the server will check the id parameter and record that emails was opened.
How Email Email Broadcast tracks clicks.
Every link in the broadcast will be replaces with reference to click.aspx and unique Id of the broadcast. When link is clicked click.aspx will parse those parameters and record the click in cpsys_ClicksLog table.
Email validation status codes
When completed, email validation snapshots bring one or more validation entries along with their email validation statuses. Verifalia defines several different statuses, where every value signals a successful validation or a particular issue.
All new unknown statuses will be threaten as undetermined results, for future compatibility.
Generic status codes
Syntax status codes
UnmatchedQuotedPair
A quoted pair within a quoted word is not closed properly.
UnexpectedQuotedPairSequence
An unexpected quoted pair sequence has been found within a quoted word.
InvalidWordBoundaryStart
A new word boundary start has been detected at an invalid position.
InvalidCharacterInSequence
An invalid character has been detected in the provided sequence.
UnbalancedCommentParenthesis
The number of parenthesis used to open comments is not equal to the one used to close them.
DoubleDotSequence
An invalid sequence of two adjacent dots has been found.
InvalidLocalPartLength
The local part of the e-mail address has an invalid length.
InvalidFoldingWhiteSpaceSequence
An invalid folding white space (FWS) sequence has been found.
AtSignNotFound
The at sign symbol (@), used to separate the local part from the domain part of the address, has not been found.
InvalidEmptyQuotedWord
An invalid quoted word with no content has been found.
InvalidAddressLength
The email address has an invalid total length.
DomainPartCompliancyFailure
The domain part of the email address is not compliant with the IETF standards.
DNS status codes
SMTP status codes
SmtpConnectionTimeout
A timeout has occured while connecting to the mail exchanger which serves the e-mail address domain.
SmtpConnectionFailure
A socket connection error occured while connecting to the mail exchanger which serves the e-mail address domain.
Mailbox status codes
MailboxDoesNotExist
The mailbox for the e-mail address does not exist.
MailboxConnectionFailure
A connection error occurred while validating the mailbox for the e-mail address.
LocalSenderAddressRejected
The external mail exchanger rejected to accept messages from Verifalia.
MailboxValidationTimeout
A timeout occured while verifying the existence of the mailbox.
MailboxTemporarilyUnavailable
The requested mailbox is temporarily unavailable (perhaps it is over quota). Please note that Verifalia validates email addresses in multiple passes and every temporary condition is checked for up to 20 minutes before having this status applied.