Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Method to get alll templates
- webService static boolean GetTemplateFromSendGrid(){
- String username = 'xxxxxxxx@gmail.com';
- String password = 'xxxxxxx1234xxxx';
- Boolean success;
- Blob headerValue = Blob.valueOf(username + ':' + password);
- String authorizationHeader = 'BASIC ' +
- EncodingUtil.base64Encode(headerValue);
- HttpRequest req = new HttpRequest();
- req.setHeader('Authorization', authorizationHeader);
- req.setEndpoint('https://api.sendgrid.com/v3/templates');
- req.setMethod('GET');
- try{
- //send request
- Http h = new Http();
- HttpResponse res = h.send(req);
- res.setHeader('Content-Type','application/json');
- System.debug('Response from SendGrid:' + res);
- //check response
- String status = res.getStatus();
- if(status.toUpperCase()=='OK'){
- success=true;
- }
- else{
- success=false;
- }
- }
- catch(Exception e){
- System.Debug(LoggingLevel.ERROR,'****** exception ocurred while recieving Template.');
- success=false;
- }
- return success;
- }
- //Method to send Email - Requesting Body
- webService static boolean SendEmailToSendGrid(Id UserId){
- //webService static void SendEmail(){
- string Recipient;
- string RecipientName;
- string CC;
- string Subject;
- string Body;
- boolean Success;
- User u = [SELECT Id, Name, Email,Alias,City,CompanyName,Country,Department,Division,Username FROM User WHERE Id = :UserId];
- //UserInfo.getUserId()
- if (u != Null){
- RecipientName = u.Name;
- Recipient = u.Email;
- CC = 'johny1991@yahoo.com';
- subject = 'Hello ' + u.Name+', ... , This is from SendGrid by Salesforce WebMethod!';
- Body = '<p align=left>Hello <b>' + u.Name+',</b> <br/>This is from send grid <br/> Below are your user details </p> ' +
- '<br/>Name: '+u.Name+ '<br/>Username: '+u.Username+ '<br/>Alias: '+u.Alias+ '<br/>City: '+u.City+
- '<br/>CompanyName: '+u.CompanyName+'<br/>Country: '+u.Country+ '<br/>Department'+u.Department+ '<br/>Division: '+ u.Division+
- '<br/><br/> Thanks, <br/> Salesforce Team <br/> NSW-EC';
- String requestBody='';
- requestBody += 'to[]='+EncodingUtil.urlEncode(Recipient.trim(),'UTF-8');
- requestBody += '&to[]='+EncodingUtil.urlEncode'xxxxxxxxxx@gmail.com.in','UTF-8');
- requestBody += '&from='+EncodingUtil.urlEncode('xxxxxxx@gmail.com','UTF-8');
- requestBody += '&fromname='+EncodingUtil.urlEncode('Stuart','UTF-8');
- requestBody += '&subject='+EncodingUtil.urlEncode(subject,'UTF-8');
- requestBody += '&text='+EncodingUtil.urlEncode(Body.trim(),'UTF-8');
- requestBody += '&html='+EncodingUtil.urlEncode(Body.trim(),'UTF-8');
- requestBody += '&api_user=xxxxxxxxxxxxx@gmail.com';
- requestBody += '&api_key=xxxxxxxxxx';
- HttpRequest req = new HttpRequest();
- req.setEndpoint('https://sendgrid.com/api/mail.send.json');
- //req.setHeader('Content-Type','application/json');
- req.setMethod('POST');
- req.setBody(requestBody);
- try{
- //send request
- Http h = new Http();
- HttpResponse res = h.send(req);
- res.setHeader('Content-Type','application/json');
- System.debug('Response from SendGrid:' + res);
- //check response
- String status = res.getStatus();
- if(status.toUpperCase()=='OK'){
- success=true;
- }
- else{
- success=false;
- }
- }
- catch(Exception e){
- System.Debug(LoggingLevel.ERROR,'****** exception ocurred sending the email.');
- success=false;
- }
- }
- return success;
- }
- //Method to send Email using Template
- webService static boolean SendEmailUsingTemplate(Id UserId, string temp_id){
- //temp_id ff45ad75-4e8f-40fc-908b-90499086e57e
- string Recipient;
- string RecipientName;
- string CC;
- string Subject;
- string Body;
- boolean Success;
- User u = [SELECT Id, Name, Email,Alias,City,CompanyName,Country,Department,Division,Username FROM User WHERE Id = :UserId];
- //UserInfo.getUserId()
- String str= '{'+
- ' "to": ['+
- ' "acbd123@gmail.com"'+
- ' ],'+
- ' "sub": {'+
- ' ":name": ["' + u.Name + '"' +
- ' ],'+
- ' ":email": ["'+ u.Email +'"'+
- ' ],'+
- ' ":city": ["'+ u.City +'"'+
- ' ],'+
- ' ":company": ["'+ u.CompanyName +'"'+
- ' ],'+
- ' ":country": ["'+ u.Country +'"'+
- ' ]'+
- ' },'+
- ' "filters": {'+
- ' "templates": {'+
- ' "settings": {'+
- ' "enable": 1,'+
- ' "template_id": "'+ temp_id +'"'+
- ' }'+
- ' }'+
- ' }'+
- '}';
- if (u != Null){
- RecipientName = u.Name;
- Recipient = u.Email;
- CC = 'xxxxxxx@yahoo.com';
- Body = '|';
- subject = ' ';
- String requestBody='';
- requestBody += 'to[]='+EncodingUtil.urlEncode(Recipient.trim(),'UTF-8');
- //requestBody += '&to[]='+EncodingUtil.urlEncode('xxxxxxxxxxxx@gmail.com','UTF-8');
- requestBody += '&from='+EncodingUtil.urlEncode('xxxxxxxxxxx@gmail.com','UTF-8');
- requestBody += '&fromname='+EncodingUtil.urlEncode('johnny','UTF-8');
- requestBody += '&subject='+EncodingUtil.urlEncode(subject,'UTF-8');
- requestBody += '&text='+EncodingUtil.urlEncode(Body.trim(),'UTF-8');
- requestBody += '&html='+EncodingUtil.urlEncode(Body.trim(),'UTF-8');
- requestBody += '&x-smtpapi='+str;
- requestBody += '&api_user=xxxxxxxxxxxxx@gmail.com';
- requestBody += '&api_key='xxxxxxxxxx';
- HttpRequest req = new HttpRequest();
- req.setEndpoint('https://sendgrid.com/api/mail.send.json');
- //req.setHeader('Content-Type','application/json');
- req.setMethod('POST');
- req.setBody(requestBody);
- try{
- //send request
- Http h = new Http();
- HttpResponse res = h.send(req);
- res.setHeader('Content-Type','application/json');
- System.debug('Response from SendGrid:' + res);
- //check response
- String status = res.getStatus();
- if(status.toUpperCase()=='OK'){
- success=true;
- }
- else{
- success=false;
- }
- }
- catch(Exception e){
- System.Debug(LoggingLevel.ERROR,'****** exception ocurred sending the email.');
- success=false;
- }
- }
- return success;
- }
- // Method to get Bounced Emails - Responce Success
- webService static void GetBouncedEmails(){
- String requestBody='';
- requestBody += 'start_date='+EncodingUtil.urlEncode('2015-04-03','UTF-8');
- requestBody += '&end_date='+EncodingUtil.urlEncode('2015-04-08','UTF-8');
- requestBody += '&api_user=xxxxxxxxxxx@gmail.com';
- requestBody += '&api_key=xxxxxxx';
- HttpRequest req = new HttpRequest();
- req.setEndpoint('https://api.sendgrid.com/api/bounces.get.json');
- req.setMethod('POST');
- req.setHeader('Content-Type','application/x-www-form-urlencoded');
- req.setBody(requestBody);
- req.setHeader('Content-Length',String.valueof(requestBody.length()));
- try{
- //send request
- Http h = new Http();
- System.HttpResponse res = h.send(req);
- System.debug('Response from SendGrid :' + res);
- /* JSON2Apex deserlaizedResponse = new JSON2Apex();
- deserlaizedResponse = JSON2Apex.parse(String.valueof(res));
- System.debug('deserlaizedResponse: ' + deserlaizedResponse);
- string status = deserlaizedResponse.Status;
- string reason = deserlaizedResponse.reason;
- string email = deserlaizedResponse.email;
- System.debug('response from bounce report: ' + status + reason + email);
- */
- }
- catch(Exception e){
- }
- // return true;
- }
- public getBounceResponse(){
- }
- }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement