File: /home/awaldron/_accomods/_apibak/pdfemail.php
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use Api2Pdf\Api2Pdf;
require("Exception.php");
require("PHPMailer.php");
require("SMTP.php");
include('cors.php');
include('pdftemplate.php');
require_once 'Api2Pdf.php';
require_once 'ApiResult.php';
// GET ALL THE NECESSARY DATA
$file = file_get_contents("php://input");
$data = json_decode($file, true);
$needs = $data['data']['builder']['needs'];
$strengths = $data['data']['builder']['strengths'];
$accomods = $data['data']['cart']['items'];
// GENERATE PDF
$html = pdf_template($strengths, $needs, $accomods);
$apiClient = new Api2Pdf('056f01e1-684c-416d-ae8c-d75c26545eb0');
$apiClient->setInline(true);
$result = $apiClient->headlessChromeFromHtml($html);
$pdfLink = $result->getPdf();
// SAVE THE FILE TO THE SERVER
$pdf_filename = "files/accomods-".time().".pdf";
file_put_contents($pdf_filename, fopen($pdfLink, 'r'));
// CREATE THE EMAIL
$txt = $data['data']['sender']['first'] . ' ' . $data['data']['sender']['last'] . ' has created an Accomods plan and would like you to view it.' . "\n\n"
. $data['data']['sender']['first'] . ' says: ' . "\n" . $data['data']['message'] . "\n\n\n";
$html = nl2br($txt);
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Mailer = "smtp";
$mail->Host = "mail.smtp2go.com";
$mail->Port = "2525"; // 8025, 587 and 25 can also be used. Use Port 465 for SSL.
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
$mail->Username = "accomods";
$mail->Password = "dTZpM29jb3l3MjAw";
$mail->From = $data['data']['sender']['email'];
$mail->FromName = $data['data']['sender']['last'].', '.$data['data']['sender']['first'];
foreach ($data['data']['emails'] as $em) {
$mail->AddAddress($em);
}
$mail->AddAddress($data['data']['sender']['email']);
$mail->AddReplyTo($data['data']['sender']['email'], $data['data']['sender']['last'].', '.$data['data']['sender']['first']);
$mail->addAttachment($pdf_filename); // Add attachments
$mail->isHTML(true);
$mail->Subject = "Accomods Plan";
$mail->Body = $html;
if(!$mail->Send()) {
$data = ['success'=>false, 'error' => $mail->ErrorInfo];
} else {
$data = ['success'=>true];
}
header('Content-Type: application/json');
echo json_encode($data);
?>