Created
September 23, 2016 14:27
-
-
Save jtarleton/bf9e790863f4beaafec2eeaca45997d1 to your computer and use it in GitHub Desktop.
Helper functions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class JtAwesomeHelpers | |
{ | |
public static function SimpleMailer($subject = 'DW Operation Complete', $body='', $htmlbody = '', $to = '[email protected]') { | |
$headers = 'MIME-Version: 1.0' . "\r\n"; | |
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n" . | |
'From: Your Mailer <[email protected]>' . "\r\n" . | |
'Reply-To: [email protected]' . "\r\n" . | |
'X-Mailer: PHP/' . phpversion(); | |
$body = wordwrap($body, 70, "\r\n"); | |
$sent= mail($to, $subject, $htmlbody, $headers); | |
return $sent; | |
} | |
public static function SuperMailer($subject=null, $body=null,$htmlbody=null, $to='[email protected]',YourCSV $csv=null){ | |
//create a boundary string. It must be unique | |
//so we use the MD5 algorithm to generate a random hash | |
$boundary = 'PHP-MAIL-BOUNDARY-'.md5(date('r', time())); | |
$headers = "MIME-Version: 1.0" . PHP_EOL. | |
"Content-Type: multipart/mixed;boundary=" . $boundary . PHP_EOL; | |
$csvName = 'your_attachment.csv'; | |
//define the headers we want passed. Note that they are separated with \r\n | |
$headers .= 'From: Your Mailer <[email protected]>' .PHP_EOL. | |
'Reply-To: [email protected]' . PHP_EOL. | |
'X-Mailer: PHP/' . phpversion() . PHP_EOL;o | |
$attachment = ''; | |
if(isset($csv)){ | |
$csvString =str_replace("\n",PHP_EOL, $csv->getAsString()); | |
$csvName= $csv->filename; | |
//read the atachment file contents into a string, | |
//encode it with MIME base64, | |
//and split it into smaller chunks | |
$attachment=chunk_split(base64_encode($csvString),43,"\r\n"); | |
} | |
$message = sprintf("Multipart Message coming up". | |
PHP_EOL . "--%s" . | |
PHP_EOL . "Content-Type: text/plain; charset=\"iso-8859-1\"" . | |
PHP_EOL . "Content-Transfer-Encoding: 7bit" . PHP_EOL . "%s" . | |
PHP_EOL . "--%s" . PHP_EOL . "Content-Type: text/html;charset=\"iso-8859-1\"" . | |
PHP_EOL . "Content-Transfer-Encoding: 7bit" . PHP_EOL . "%s" . | |
PHP_EOL . "--%s" . PHP_EOL . "Content-Type: text/csv;charset=\"iso-8859-1\";name=\"%s\"" . | |
PHP_EOL . "Content-Transfer-Encoding: base64" | |
. PHP_EOL | |
."Content-Disposition: attachment;filename=\"%s\"%s". PHP_EOL . "--%s--", | |
$boundary, $body, | |
$boundary, $htmlbody, | |
$boundary, $csvName,$csvName, | |
"\r\n".''. | |
"\r\n".$attachment, | |
$boundary); | |
$sent= mail($to, $subject, $message, $headers); | |
return $sent; | |
} | |
public static function SimpleLogger($path,$lines,$name='batch-job') { | |
$path = sprintf('%s/%s-%s-log.txt', $path, $name, date("Y-m-d-H-i-s")); | |
$fh = fopen( $path, 'a' ); | |
fwrite($fh,$lines); | |
fclose($fh); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment