function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Ganesh HembramGanesh Hembram 

custom button(OnClick JavaScript)

Hello Experts,
I would like to create a custom button(OnClick JavaScript) in the Contact detail page and when we click on it, it sends an email template capturing the information of that paricular contact.

How can I do this? Any code would be very much appreciate it!

Thanks!
Best Answer chosen by Ganesh Hembram
Bhanu MaheshBhanu Mahesh
Hi Ganseh,

Try below code

Javs script
{!REQUIRESCRIPT("/soap/ajax/14.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/14.0/apex.js")}

var cntct = new sforce.SObject("Contact");
var coId = '{!Contact.Id}';
var result = sforce.apex.execute("TestMailClass", "TestMailMethod",{conId:coId});

Apex Class:
global class TestMailClass
{
    WebService static Integer TestMailMethod(String conId)
    {
        EmailTemplate templateId = [Select id from EmailTemplate where DeveloperName = 'Your Template Unique Name'];

        // Create a new Email
        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
        mail.setTargetObjectId(conId);
        mail.setTemplateID(templateId.Id); 
        mail.setSaveAsActivity(false);
        Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail});

        return 0;
    }
}

Regards,
Bhanu Mahesh

All Answers

Bhanu MaheshBhanu Mahesh
Hi Ganseh,

Try below code

Javs script
{!REQUIRESCRIPT("/soap/ajax/14.0/connection.js")}
{!REQUIRESCRIPT("/soap/ajax/14.0/apex.js")}

var cntct = new sforce.SObject("Contact");
var coId = '{!Contact.Id}';
var result = sforce.apex.execute("TestMailClass", "TestMailMethod",{conId:coId});

Apex Class:
global class TestMailClass
{
    WebService static Integer TestMailMethod(String conId)
    {
        EmailTemplate templateId = [Select id from EmailTemplate where DeveloperName = 'Your Template Unique Name'];

        // Create a new Email
        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
        mail.setTargetObjectId(conId);
        mail.setTemplateID(templateId.Id); 
        mail.setSaveAsActivity(false);
        Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail});

        return 0;
    }
}

Regards,
Bhanu Mahesh
This was selected as the best answer
Ganesh HembramGanesh Hembram
Thanks Bhanu