Advertisement
Guest User

Untitled

a guest
Oct 6th, 2015
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.48 KB | None | 0 0
  1. //Method to get alll templates
  2. webService static boolean GetTemplateFromSendGrid(){
  3.  
  4. String username = 'xxxxxxxx@gmail.com';
  5. String password = 'xxxxxxx1234xxxx';
  6. Boolean success;
  7. Blob headerValue = Blob.valueOf(username + ':' + password);
  8. String authorizationHeader = 'BASIC ' +
  9. EncodingUtil.base64Encode(headerValue);
  10. HttpRequest req = new HttpRequest();
  11. req.setHeader('Authorization', authorizationHeader);
  12. req.setEndpoint('https://api.sendgrid.com/v3/templates');
  13. req.setMethod('GET');
  14. try{
  15.  
  16. //send request
  17. Http h = new Http();
  18. HttpResponse res = h.send(req);
  19. res.setHeader('Content-Type','application/json');
  20. System.debug('Response from SendGrid:' + res);
  21. //check response
  22. String status = res.getStatus();
  23. if(status.toUpperCase()=='OK'){
  24. success=true;
  25. }
  26. else{
  27. success=false;
  28. }
  29. }
  30. catch(Exception e){
  31. System.Debug(LoggingLevel.ERROR,'****** exception ocurred while recieving Template.');
  32. success=false;
  33. }
  34.  
  35. return success;
  36.  
  37. }
  38.  
  39.  
  40. //Method to send Email - Requesting Body
  41. webService static boolean SendEmailToSendGrid(Id UserId){
  42. //webService static void SendEmail(){
  43. string Recipient;
  44. string RecipientName;
  45. string CC;
  46. string Subject;
  47. string Body;
  48. boolean Success;
  49.  
  50.  
  51. User u = [SELECT Id, Name, Email,Alias,City,CompanyName,Country,Department,Division,Username FROM User WHERE Id = :UserId];
  52. //UserInfo.getUserId()
  53. if (u != Null){
  54. RecipientName = u.Name;
  55. Recipient = u.Email;
  56.  
  57. CC = 'johny1991@yahoo.com';
  58. subject = 'Hello ' + u.Name+', ... , This is from SendGrid by Salesforce WebMethod!';
  59. Body = '<p align=left>Hello <b>' + u.Name+',</b> <br/>This is from send grid <br/> Below are your user details </p> ' +
  60. '<br/>Name: '+u.Name+ '<br/>Username: '+u.Username+ '<br/>Alias: '+u.Alias+ '<br/>City: '+u.City+
  61. '<br/>CompanyName: '+u.CompanyName+'<br/>Country: '+u.Country+ '<br/>Department'+u.Department+ '<br/>Division: '+ u.Division+
  62. '<br/><br/> Thanks, <br/> Salesforce Team <br/> NSW-EC';
  63. String requestBody='';
  64. requestBody += 'to[]='+EncodingUtil.urlEncode(Recipient.trim(),'UTF-8');
  65. requestBody += '&to[]='+EncodingUtil.urlEncode'xxxxxxxxxx@gmail.com.in','UTF-8');
  66. requestBody += '&from='+EncodingUtil.urlEncode('xxxxxxx@gmail.com','UTF-8');
  67. requestBody += '&fromname='+EncodingUtil.urlEncode('Stuart','UTF-8');
  68. requestBody += '&subject='+EncodingUtil.urlEncode(subject,'UTF-8');
  69. requestBody += '&text='+EncodingUtil.urlEncode(Body.trim(),'UTF-8');
  70. requestBody += '&html='+EncodingUtil.urlEncode(Body.trim(),'UTF-8');
  71. requestBody += '&api_user=xxxxxxxxxxxxx@gmail.com';
  72. requestBody += '&api_key=xxxxxxxxxx';
  73.  
  74.  
  75. HttpRequest req = new HttpRequest();
  76. req.setEndpoint('https://sendgrid.com/api/mail.send.json');
  77. //req.setHeader('Content-Type','application/json');
  78. req.setMethod('POST');
  79.  
  80. req.setBody(requestBody);
  81.  
  82. try{
  83.  
  84. //send request
  85. Http h = new Http();
  86.  
  87. HttpResponse res = h.send(req);
  88. res.setHeader('Content-Type','application/json');
  89. System.debug('Response from SendGrid:' + res);
  90.  
  91. //check response
  92. String status = res.getStatus();
  93. if(status.toUpperCase()=='OK'){
  94. success=true;
  95. }
  96. else{
  97. success=false;
  98. }
  99. }
  100. catch(Exception e){
  101. System.Debug(LoggingLevel.ERROR,'****** exception ocurred sending the email.');
  102. success=false;
  103. }
  104. }
  105. return success;
  106.  
  107. }
  108.  
  109. //Method to send Email using Template
  110. webService static boolean SendEmailUsingTemplate(Id UserId, string temp_id){
  111. //temp_id ff45ad75-4e8f-40fc-908b-90499086e57e
  112. string Recipient;
  113. string RecipientName;
  114. string CC;
  115. string Subject;
  116. string Body;
  117. boolean Success;
  118. User u = [SELECT Id, Name, Email,Alias,City,CompanyName,Country,Department,Division,Username FROM User WHERE Id = :UserId];
  119. //UserInfo.getUserId()
  120.  
  121. String str= '{'+
  122. ' "to": ['+
  123. ' "acbd123@gmail.com"'+
  124. ' ],'+
  125. ' "sub": {'+
  126. ' ":name": ["' + u.Name + '"' +
  127. ' ],'+
  128. ' ":email": ["'+ u.Email +'"'+
  129. ' ],'+
  130. ' ":city": ["'+ u.City +'"'+
  131. ' ],'+
  132. ' ":company": ["'+ u.CompanyName +'"'+
  133. ' ],'+
  134. ' ":country": ["'+ u.Country +'"'+
  135. ' ]'+
  136. ' },'+
  137. ' "filters": {'+
  138. ' "templates": {'+
  139. ' "settings": {'+
  140. ' "enable": 1,'+
  141. ' "template_id": "'+ temp_id +'"'+
  142. ' }'+
  143. ' }'+
  144. ' }'+
  145. '}';
  146.  
  147. if (u != Null){
  148. RecipientName = u.Name;
  149. Recipient = u.Email;
  150.  
  151. CC = 'xxxxxxx@yahoo.com';
  152. Body = '|';
  153. subject = ' ';
  154. String requestBody='';
  155. requestBody += 'to[]='+EncodingUtil.urlEncode(Recipient.trim(),'UTF-8');
  156. //requestBody += '&to[]='+EncodingUtil.urlEncode('xxxxxxxxxxxx@gmail.com','UTF-8');
  157. requestBody += '&from='+EncodingUtil.urlEncode('xxxxxxxxxxx@gmail.com','UTF-8');
  158. requestBody += '&fromname='+EncodingUtil.urlEncode('johnny','UTF-8');
  159. requestBody += '&subject='+EncodingUtil.urlEncode(subject,'UTF-8');
  160. requestBody += '&text='+EncodingUtil.urlEncode(Body.trim(),'UTF-8');
  161. requestBody += '&html='+EncodingUtil.urlEncode(Body.trim(),'UTF-8');
  162. requestBody += '&x-smtpapi='+str;
  163. requestBody += '&api_user=xxxxxxxxxxxxx@gmail.com';
  164. requestBody += '&api_key='xxxxxxxxxx';
  165.  
  166. HttpRequest req = new HttpRequest();
  167. req.setEndpoint('https://sendgrid.com/api/mail.send.json');
  168. //req.setHeader('Content-Type','application/json');
  169. req.setMethod('POST');
  170.  
  171. req.setBody(requestBody);
  172.  
  173. try{
  174.  
  175. //send request
  176. Http h = new Http();
  177.  
  178. HttpResponse res = h.send(req);
  179. res.setHeader('Content-Type','application/json');
  180. System.debug('Response from SendGrid:' + res);
  181.  
  182. //check response
  183. String status = res.getStatus();
  184. if(status.toUpperCase()=='OK'){
  185. success=true;
  186. }
  187. else{
  188. success=false;
  189. }
  190. }
  191. catch(Exception e){
  192. System.Debug(LoggingLevel.ERROR,'****** exception ocurred sending the email.');
  193. success=false;
  194. }
  195. }
  196. return success;
  197.  
  198. }
  199.  
  200. // Method to get Bounced Emails - Responce Success
  201. webService static void GetBouncedEmails(){
  202. String requestBody='';
  203. requestBody += 'start_date='+EncodingUtil.urlEncode('2015-04-03','UTF-8');
  204. requestBody += '&end_date='+EncodingUtil.urlEncode('2015-04-08','UTF-8');
  205. requestBody += '&api_user=xxxxxxxxxxx@gmail.com';
  206. requestBody += '&api_key=xxxxxxx';
  207.  
  208. HttpRequest req = new HttpRequest();
  209. req.setEndpoint('https://api.sendgrid.com/api/bounces.get.json');
  210. req.setMethod('POST');
  211. req.setHeader('Content-Type','application/x-www-form-urlencoded');
  212. req.setBody(requestBody);
  213. req.setHeader('Content-Length',String.valueof(requestBody.length()));
  214.  
  215. try{
  216. //send request
  217. Http h = new Http();
  218. System.HttpResponse res = h.send(req);
  219.  
  220.  
  221. System.debug('Response from SendGrid :' + res);
  222.  
  223. /* JSON2Apex deserlaizedResponse = new JSON2Apex();
  224. deserlaizedResponse = JSON2Apex.parse(String.valueof(res));
  225. System.debug('deserlaizedResponse: ' + deserlaizedResponse);
  226. string status = deserlaizedResponse.Status;
  227. string reason = deserlaizedResponse.reason;
  228. string email = deserlaizedResponse.email;
  229. System.debug('response from bounce report: ' + status + reason + email);
  230. */
  231. }
  232. catch(Exception e){
  233.  
  234. }
  235. // return true;
  236. }
  237.  
  238. public getBounceResponse(){
  239.  
  240. }
  241. }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement