email_attacher(); } public static function send_enrollment($email, $resend = false) { // Throws on error $enrollment_token = Almefy::$client->enrollIdentity($email, array( 'sendEmail' => false, )); // https://stackoverflow.com/questions/15646187/display-inline-image-attachments-with-wp-mail $img = $enrollment_token->getBase64ImageData(); $uid = AlmefyMailer::attach_img(base64_decode($img)); $src = "cid:$uid"; // TODO: use static image instead? $entity_img = "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"; $entity_uid = AlmefyMailer::attach_img(base64_decode($entity_img)); $entity_src = "cid:$entity_uid"; ob_start(); require(dirname(__FILE__) . '/enrollment_template.php'); $message = ob_get_clean(); require_once(dirname(__FILE__) . '/AlmefyTemplate.php'); $message = AlmefyTemplate::parse_template($message, [ 'entityName' => get_bloginfo('name'), 'provisionImageData' => $src, 'identifier' => $email, 'websiteUrl' => home_url(), 'entityIconData' => get_site_icon_url(512, $entity_src), 'mainMessage' => "Connect your customer account with your smartphone to log in password-free in the future. ", 'code' => $enrollment_token->getId(), ]); // TODO: app.almefy.com // $user_id = get_current_user_id(); // // IF THIS STAYS IT NEEDS A EXPIRE DATE // update_user_meta( // $user_id, // "almefy_enrollment_id", // $enrollment_token->getId() // ); $headers = array('Content-Type: text/html; charset=UTF-8;'); // TODO: escape as soon as site owners can set their own templates $title = " - Activate Account "; if($resend) { $title = " - Connect New Device"; } $success = wp_mail($email, get_bloginfo('name') . $title, $message, $headers); return $success; // return true; } // Request an image to be attached to an email. public static function attach_img($content) { $uuid = wp_generate_uuid4(); $file = get_temp_dir() . $uuid . '.png'; file_put_contents($file, $content); AlmefyMailer::$attachments[] = [ 'file' => $file, 'uid' => $uuid, 'name' => $uuid . '.png', ]; // called when script finishes or exit is called register_shutdown_function(function() use($file) { // delete file. @ represses error messages @unlink($file); }); return $uuid; } // Check if images have to attached to images and then do so. public function email_attacher() { add_action( 'phpmailer_init', function( &$phpmailer ) { $phpmailer->SMTPKeepAlive=true; foreach ( AlmefyMailer::$attachments as $a ) { $phpmailer->AddEmbeddedImage( $a['file'], $a['uid'], $a['name'] ); } }); } }