dzmaktaba

sendMessage

Jan 9th, 2023 (edited)
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.30 KB | Source Code | 0 0
  1.   /**
  2.      * @param $sender string sender email address
  3.      * @param $to string recipient email address
  4.      * @param $subject string email subject
  5.      * @param $messageText string email text
  6.      * @return Google_Service_Gmail_Message
  7.      */
  8.     function createMessage($sender, $to, $subject, $messageText, $file = null)
  9.     {
  10.         $message = new Google_Service_Gmail_Message($this->client);
  11.         $boundary = uniqid(rand(), true);
  12.         $rawMessageString = "From: <{$sender}>\r\n";
  13.         $rawMessageString .= "To: <{$to}>\r\n";
  14.         $subjectCharset = $charset = 'utf-8';
  15.         $rawMessageString .= 'Subject: =?utf-8?B?' . base64_encode($subject) . "?=\r\n";
  16.         $rawMessageString .= "MIME-Version: 1.0\r\n";
  17.         $rawMessage = strtr(base64_encode($rawMessageString), array('+' => '-', '/' => '_'));
  18.         if (isset($file) and $file != null) {
  19.             $filePath = $file->getRealPath();
  20.             //$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
  21.             $mimeType = $file->getMimeType();
  22.             $fileName = $file->getClientOriginalName();
  23.             $fileData = base64_encode(file_get_contents($filePath));
  24.             $fileData = base64_encode($file);
  25.             $rawMessageString .= "\r\n--{$boundary}\r\n";
  26.             $rawMessageString .= 'Content-Type: ' . $mimeType . '; name="' . $fileName . '";' . "\r\n";
  27.             $rawMessageString .= 'Content-ID: <' . $sender . '>' . "\r\n";
  28.             $rawMessageString .= 'Content-Transfer-Encoding: base64' . "\r\n\r\n";
  29.             $rawMessageString .= chunk_split(base64_encode($fileData), 76, "\n") . "\r\n";
  30.             $rawMessageString .= '--' . $boundary . "\r\n";
  31.             $rawMessageString .= "\r\n--{$boundary}\r\n";
  32.             $rawMessageString .= 'Content-Type: text/plain; charset=' . $charset . "\r\n";
  33.             $rawMessageString .= 'Content-Transfer-Encoding: 7bit' . "\r\n\r\n";
  34.             // $strRawMessage .= $strMailTextVersion . "\r\n";
  35.  
  36.             $rawMessageString .= "--{$boundary}\r\n";
  37.             $rawMessageString .= 'Content-Type: text/html; charset=' . $charset . "\r\n";
  38.             $rawMessageString .= 'Content-Transfer-Encoding: quoted-printable' . "\r\n\r\n";
  39.             $rawMessageString .= $messageText . "\r\n";
  40.         } else {
  41.  
  42.             $rawMessageString .= "Content-Type: text/html; charset=utf-8\r\n";
  43.             $rawMessageString .= 'Content-Transfer-Encoding: quoted-printable' . "\r\n\r\n";
  44.         }
  45.         $message->setRaw($rawMessage);
  46.         return $message;
  47.     }
  48.  
  49.     function createMessage($sender, $to, $subject, $messageText)
  50.     {
  51.         $message = new Google_Service_Gmail_Message($this->client);
  52.         $rawMessageString = "From: <{$sender}>\r\n";
  53.         $rawMessageString .= "To: <{$to}>\r\n";
  54.         $rawMessageString .= 'Subject: =?utf-8?B?' . base64_encode($subject) . "?=\r\n";
  55.         $rawMessageString .= "MIME-Version: 1.0\r\n";
  56.         $rawMessageString .= "Content-Type: text/html; charset=utf-8\r\n";
  57.         $rawMessageString .= 'Content-Transfer-Encoding: quoted-printable' . "\r\n\r\n";
  58.         $rawMessageString .= "{$messageText}\r\n";
  59.         $rawMessage = strtr(base64_encode($rawMessageString), array('+' => '-', '/' => '_'));
  60.         $message->setRaw($rawMessage);
  61.         return $message;
  62.     }
Add Comment
Please, Sign In to add comment