I am trying to use Sendgrid inbound parse and I have a script working correctly. The webhook gets executed and I am able to save the message into our app database. Now I have a problem on how to parse attachments. I have been researching for a while with no luck. in the inbound request there is an attachment-info that contains information about the attachment, but where is it actually stored? or how can I retrieve to store it on our server or view it online if possible?
thank you
$html = $_POST['html'];
$recipient = $_POST['to'];
$subject = $_POST['subject'];
$envelope = json_decode($_POST['envelope']);
$sender = $envelope->from;
$user = -1;
$created_at = date('Y-m-d H:i:s');
$attachments = $_POST['attachments'];
if($attachments > 0)
{
$attachment_info = json_decode($_POST['attachment-info'], true);
for($i = 1; $i <= $attachments; $i++)
{
//process attachments how???
$file = $attachment_info['attachment'.$i];
// {"filename":"shutterstock_745545163.jpg","name":"shutterstock_745545163.jpg","type":"image/jpeg","content-id":"ii_ku4rffz40"}
//what to I do whit this info? how do I retrieve the attachment from this emial??
}
}
$params = [
'type' => 'email',
'customer_id' => get_customer($sender),
'direction' => 'in',
'sender' => $sender,
'recipient' => $recipient,
'subject' => $subject,
'message' => $html,
'status' => 'delivered',
'user' => 0,
];
//process email
//this stores email into DB
process_email($params);