11

The email author URL should look like below. Out of all the parameters I would always use "p3_lkid" and "retURL". Rest of the parameters are optional. Let's break this down: _ui/core/email/author/EmailAuthor?p3_lkid=001E000000CVCF7&retURL=%2F001E000000CVCF7&p2_lkid=003180000066S1e&p4=abc@cc.com&p5=abc@bcc.com;xyz@bcc.com&p6=Hello World&...


9

Using Messaging.SingleEmailMessage, you can use emailPriority method to set it. Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); // Set other values of mail Mail.emailPriority = 'Highest'; Added: AFAIK, This method is still not mentioned in documentation yet. Values accepted in emailPriority are: Highest Normal Lowest


5

This is fun question! I've tried to noodle this a few different ways and show examples of developer-friendly test cases. But I confess: there is the possibility it will be a frustrating job in real orgs: in Sandboxes, the Email Deliverability setting might mean NO emails can ever be sent the "breaking mutation" made in the test case may not reflect the ...


5

You can't send based on the recipient because you won't know what timezone the recipient will be in until they open the email. If the subscriber has their timezone stored as a profile attribute/data extension field then you might be able to create a query to build your audience and have an automation run every hour.


5

Send throttle doesn't spread the batch sends throughout the hour, it basically sends the 1st batch as soon as possible and waits for another hour to send 2nd batch and follows the rest. In your scenario, you had the total of 190K with a max limit of 50K in Send throttle option which makes 4 batches and sends as 50K at 4:30pm, 50K at 5:30pm, 50K at 6:30pm ...


5

Your entire test method is treated as a single transaction. Since you have the insert inside the for loop, you are executing sendMail 11 times in this single transaction, and thus you get the error. You need to create a list of P__c records and then insert the list outside the for loop.


5

Why not just use inline AMPscript to output the @ImageURL value? Removing the double-quotes to make the concat function work is likely the issue: <!--[if mso | IE]> <td style="vertical-align:middle;width:150px"> <![endif]--> <div class="mj-column-per-25 outlook-group-fix" style="font-size:0;text-align:center;direction:ltr;display:...


4

Remove this line email.setSubject(template.name); as error clearly says When a template is specified, the plain text body, html body, subject, charset, and "treatBodiesAsTemplate" may not be specified I also think you should uncomment this lines if you are using Template. //email.setTargetObjectId(targetid);


4

Yes, you can just add an EventDate column to your Send Log and have it default to Current Date. That's the easiest. You can also create an AMPScript variable in your email named EventDate and set the value manually. It'll get recorded automatically in the Send Log as long as the variable name matches the Send Log column name: %%[ var @EventDate set @...


4

I think you're email encoding settings are set to ISO-8859-1. This only supports latin languages (like English). If you change this to UTF-8 than you should have full support for Hindi and any other language. This article explains it very well: https://help.salesforce.com/articleView?id=000005102&type=1 If you'd like to change the setting these are the ...


4

There are 2 types of Send Logs Available in Marketing Cloud. Account Level Send Log (AKA Enterprise Send Log) - This is enabled for an account and all sends (even from child Business units) will be logged under Enterprise Send Log. BU Level Send Log - This can be enabled for a particular Business Uit (Child BU) and all the email sends from the child BU will ...


4

The reason is because the test.starttest and test.stoptest create a new apex context. Inside the context it will show 1. so try: Test.startTest(); update recordsToUpdate; System.assertEquals(1, Limits.getEmailInvocations()); // Will show 1 Test.stopTest(); System.assertEquals(1, Limits.getEmailInvocations()); // Will fail as no invocations are visible ...


3

You cannot customize the standard Emails related list under Case. Alternatively, You can achieve this through following steps-from Activity related list: 1) Please copy the javascript code of "Send Email" button's onclick event. You can get this through Firebug/any browser's console. This has a link to the Standard Send Email page with few parameters like ...


3

Yes, each address counts towards the daily limit, and will count multiple times if they are duplicated. This is in the documentation for the sendEmail function.


3

In your class set the return type to String change the return to return string.valueOf(thanksPage.getURL()); Then on the VF page use parent.location.href = {!RETURNEDSTRING} to navigate to the returned URL. Keep in mind to check for null or errors....


3

As per official docs: http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_email_outbound_messaging.htm#apex_System_Messaging_sendEmail Reading the text below, looks like the other messages have to be delivered to other contacts if there is a failure since default is false. The sendEmailMessage method assumes that the optional ...


3

You'll have to contact SFMC Support to get the exact error that's causing your issues. In the meantime, if you've configured your Triggered Send Definition to write to a Triggered Send templated Data Extension, you can do a Send Preview on your Email using that data to reveal any send-time errors. The Data Extension row is written before the email is ...


3

Through a Query Activity you will be able to extract the Send Classification and the Send Definition for any specific job, by looking into the Data View: Job http://help.marketingcloud.com/en/documentation/exacttarget/interactions/activities/query_activity/data_view_job/


3

You can add additional fields using the name Marketing Cloud uses for these values, so they are populated automatically. For the send date you can add a Date column and set a default value of GETDATE() for example. AMPscript variables can also be logged to a column that is named like variable is, so @YourVar would be logged to the column YourVar. Make sure ...


3

A send classification (SC) is basically 3 things: Type of messaging [MT] (Transactional vs. Commercial) Sender Profile [SP] (From Name/Address and Replyto instructions) Delivery Profile [DP] (IP address and default header/footer) The SC is really just an object that simplifies the send process by grouping together these 3 objects into a single object. ...


3

Marketing Cloud does not enforce referential integrity, so you can perform simultaneous operations on the same Data Extension, and suffer consequences. You're right, this can result in contention issues but the only solution would be to ensure that Automation Activities do not run at the same time that emails (which use the same data). The same applies ...


3

If you have already done the integration, you are just probably missing this step: https://help.salesforce.com/articleView?id=mc_co_update_page_layouts.htm&type=5 You can find all the info about the object and how to see the data. Good luck.


2

Looks like the official documentation for this method has been updated since the last accepted answer: public Messaging.SendEmailResult[] sendEmail(Messaging.Email[] emails, Boolean opt_allOrNone) The optional opt_allOrNone parameter specifies whether sendEmail prevents delivery of all other messages when any of the messages fail due to an error (true), or ...


2

Custom email fields can now be addressed in the Send Email page. It only appears if at least one custom email field is populated.


2

This actually turned out to be an issue with data types, both of which return 202 Accepted headers from the API but then silently fail, never to be seen again. Number fields don't like decimals Sending a decimal or string with a decimal in it to a field that expects a number succeeds from the API end, but fails somewhere between the API endpoint and the ...


2

If you have ET landing pages and you're sending the email from ET you can have an "Accept" button or link in the email that will link to a landing page. If you use the MicrositeBaseUrl AMPscript function for the link in the email you can grab the email of the person who clicks the link with some AMPscript on the landing page and add their name to a data ...


2

You can do it by setting up a triggered send. You can do that completely by using the API, but I would recommend you do as much as you can within the application directly. Have a look at this triggered send guide.


2

@Lemon, You want to follow the code example found here: Using APEX to assemble HTML Letterhead Emails Essentially, by wrapping the sendEmail call in a db transaction that you immediately rollback, you end up with a Merged template that you can inject into a send without using setTargetObjectId. I've taken the liberty of writing up this as a class, as ...


2

I ran this code and result is not quite what you think. If you alert the whole result object, you get this: {errors:{message:'Only Users, Contact, Lead or Person objects are allowed for targetObjectId : a0SK000000FtD7J.', statusCode:'INVALID_TYPE_FOR_OPERATION', targetObjectId:null, }, success:'false', } Your code needs to look like this to actually work: ...


2

SFDC_BigDog, please enable the apex class access and visualforce pages access for that profile and check it again. Setup->manageusers->profiles->scroll down and give acces to that particular pages and classes. let me know if this helps and mark it as best answer.


Only top voted, non community-wiki answers of a minimum length are eligible