致命错误:未找到类“SendGrid”

时间:2016-10-14 03:46:42

标签: post sendgrid classnotfound

我编写了一个使用SendGrid的PHP库发送电子邮件的函数。它可以在任何地方工作,除非我尝试在表单提交事件上使用它。

点击提交时出现错误

  

致命错误:在第72行的......中找不到“SendGrid”类

提交的其他内容工作正常,帖子已添加到数据库中,但电子邮件不会发送出去。

这是函数

function send_email( $post_id, $templatecode ) {

  $substitutions = '
    "-FNAME-" : "'.$primary_firstname.'",
    "-NAME-" : "'.$primary_name.'",
    "-EMAIL-" : "'.$primary_email.'"
  ';

  $to = '
    "email": "'.$primary_email.'",
    "name": "'.$primary_name.'"
  ';

  $apiKey = getenv('SENDGRID_API_KEY');
  $sg = new \SendGrid($apiKey);

  $request_body = json_decode('{
    "personalizations": [ {
      "substitutions": {'.$substitutions.'},
      "to": [ { '.$to.'} ]
    } ],
    "template_id": "'.$template.'",
    "categories": [
     "'.$templatecode.'"
    ],
    "from": {
      "email": "xxxx",
      "name": "xxxxx"
    }
  }');

  $response = $sg->client->mail()->send()->post($request_body);

  }
}

以下是提交操作

if( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) &&  $_POST['action'] == "new_post") {

  $new_post = array(
    'post_title'  =>  wp_strip_all_tags( $_POST['title'] ),
    'post_content'  =>  $_POST['description'],
    'post_status' =>  'publish',
    'post_type' =>  'sessions'
  );
  $post_id = wp_insert_post($new_post);

  send_email( $post_id, 'Submit' );

} 

0 个答案:

没有答案