diff options
author | prashantsinalkar | 2018-03-22 16:31:49 +0530 |
---|---|---|
committer | prashantsinalkar | 2018-03-22 16:31:49 +0530 |
commit | ea1e8e62ef9cc4fd4260f9e7cfe77269df42b590 (patch) | |
tree | d02fa48dbe5fd11afb617fd7149eae04d00e75fa /tbc_external_review.module | |
parent | cb17c2dbadce76595aaa85bc8483323682267b4c (diff) | |
download | tbc-external-review-ea1e8e62ef9cc4fd4260f9e7cfe77269df42b590.tar.gz tbc-external-review-ea1e8e62ef9cc4fd4260f9e7cfe77269df42b590.tar.bz2 tbc-external-review-ea1e8e62ef9cc4fd4260f9e7cfe77269df42b590.zip |
fixed mail issue
Diffstat (limited to 'tbc_external_review.module')
-rwxr-xr-x | tbc_external_review.module | 97 |
1 files changed, 54 insertions, 43 deletions
diff --git a/tbc_external_review.module b/tbc_external_review.module index 8453ae3..0949693 100755 --- a/tbc_external_review.module +++ b/tbc_external_review.module @@ -1,6 +1,5 @@ <?php -require_once('tbc_external_review_email.inc'); date_default_timezone_set('Asia/Calcutta'); function tbc_external_review_menu() { $items = array(); @@ -372,34 +371,42 @@ require_once('tbc_external_review_email.inc'); return $output; } - function send_mail_attachment($from, $to, $cc, $bcc, $subject, $message, $file) { + function send_mail_attachment($from, $to, $cc, $bcc, $subject, $message1, $file) { // $file should include path and filename + + $body = $message1; $filename = basename($file); + $from = str_replace(array("\r", "\n"), '', $from); // to prevent email injection $file_size = filesize($file); - $content = chunk_split(base64_encode(file_get_contents($file))); + $handle = fopen($file, "r"); + $content = fread($handle, $file_size); + fclose($handle); + $content = chunk_split(base64_encode($content)); $uid = md5(uniqid(time())); - $from = str_replace(array("\r", "\n"), '', $from); // to prevent email injection - $header = "From: ".$from."\r\n" - ."Cc: ".$cc."\r\n" - ."Bcc: ".$bcc."\r\n" - ."MIME-Version: 1.0\r\n" - ."Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n" - ."This is a multi-part message in MIME format.\r\n" - ."--".$uid."\r\n" - ."Content-type: text/html; charset=UTF-8; format=flowed\r\n" - ."Content-Transfer-Encoding: 7bit\r\n\r\n" - .$message."\r\n\r\n" - ."--".$uid."\r\n" - ."Content-Type: application/octet-stream; name=\"".$filename."\"\r\n" - ."Content-Transfer-Encoding: base64\r\n" - ."Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n" - .$content."\r\n\r\n" - ."--".$uid."--"; + $filename = basename($file); + $eol = PHP_EOL; + // Basic headers + $header = "From: ".$from." <".$from.">".$eol; + $header .= "Reply-To: ".$from.$eol; + $header .= "Cc:". $cc.$eol; + $header .= "Bcc:". $bcc.$eol; + $header .= "MIME-Version: 1.0\r\n"; + $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\""; + // Put everything else in $message + $message = "--".$uid.$eol; + $message .= "Content-Type: text/html; charset=ISO-8859-1".$eol; + $message .= "Content-Transfer-Encoding: 8bit".$eol.$eol; + $message .= $body.$eol; + $message .= "--".$uid.$eol; + $message .= "Content-Type: application/pdf; name=\"".$filename."\"".$eol; + $message .= "Content-Transfer-Encoding: base64".$eol; + $message .= "Content-Disposition: attachment; filename=\"".$filename."\"".$eol; + $message .= $content.$eol; + $message .= "--".$uid."--"; + return mail($to, $subject, "", $header); } - - /* - external reviewer profile form, + /* external reviewer profile form, save the data in {external_review_profile} */ function tbc_external_review_profile_form($form, &$form_state) { @@ -2119,27 +2126,31 @@ require_once('tbc_external_review_email.inc'); $result = db_query($query, $args); $row = $result->fetchObject(); $review_no = suffix($row->review); - - $file = $review_file; + $file = $review_file; /*********************************************************/ - $params['tbc_review_comment_email_attachment']['preference_id'] = $preference_id; - $params['tbc_review_comment_email_attachment']['attachments'] = $review_file; $email_to = $row->mail; - $from = variable_get('tbc_external_review_from_email', ''); - $bcc = variable_get('tbc_external_review_bcc_emails', ''); - $cc = variable_get('tbc_external_review_cc_emails', ''); - $params['tbc_review_comment_email_attachment']['headers'] = array( - 'From' => $from, - 'MIME-Version' => '1.0', - 'Content-Type' => 'text/plain; charset=UTF-8; format=flowed; delsp=yes', - 'Content-Transfer-Encoding' => '8Bit', - 'X-Mailer' => 'Drupal', - 'Cc' => $cc, - 'Bcc' => $bcc - ); - if (!drupal_mail('tbc_external_review', 'tbc_review_comment_email_attachment', $email_to, language_default(), $params, $from, TRUE)) { - drupal_set_message("An error occurred while sending mail.", "error"); - drupal_goto("tbc_external_review/manage_comments"); + $from = variable_get('tbc_external_review_from_email', ''); + $bcc = variable_get('tbc_external_review_bcc_emails', ''); + $cc = variable_get('tbc_external_review_cc_emails', ''); + + $subject = "Scilab Textbook Companion - {$review_no} Review"; + $message = " + Dear {$row->name}<br><br> + Please find the attached file containing the list of errors found in your uploaded book: <br> + Book: <b>{$row->book}</b> <br> + Author: <b>{$row->author}</b> <br> + Review Number: <b>{$review_no}</b> <br><br> + Kindly rectify the errors and re-upload the codes on the website.<br> + <b>Reply to this mail once the corrections are done.</b> <br><br> + <i>Note: The attachment is a comma separated file, which can be viewed using any office software.</i> <br><br> + Regards,<br> + Scilab.in + "; + $file = $review_file; + $mail_status = send_mail_attachment($from, $to, $cc, $bcc, $subject, $message, $file); + if(!$mail_status){ + drupal_set_message("An error occurred while sending mail.", "error"); + drupal_goto("tbc_external_review/manage_comments"); } else { /* toggling sent column in database */ /*$query = " @@ -2153,7 +2164,7 @@ require_once('tbc_external_review_email.inc'); 'sent' => 1, )); $query->condition('preference_id', $preference_id); - $result = $query->execute(); + // $result = $query->execute(); drupal_set_message("Mail sent successfully.", "status"); drupal_goto("tbc_external_review/manage_comments"); } |